現状の体制とデータベースの規模を教えてください。
チームは13名。MySQLチームの運用に深く関わっているメンバーは6.7名。チーム規模はあまり変わらず、10人前後で推移しています。
現在、MySQLで運用しているデータベースの数は500弱。利用サービスは180。ほとんどのサービスで何がしか使っている状態です。Yahoo! JAPANのサービスは、ニュース、Eコマース、PIMサービスなど幅広く、多種多様なデータベースを扱っています。わたしたちの役割は「サービスを止めない」「データを守る」「サービスのコスト削減に貢献する」ということです。
PerconaServerを入れてみた効果
PerconaServerは、MySQLの実績や安定性が引き継がれていて、いい製品だと感じます。一番助けられているのは、パフォーマンスの統計が見られること。運用においては大事なポイントです。あとはMySQLという観点だと、コストが低いことも導入のメリットです。
運用にとって重要なこと
まずは「サービスをとめない」ということが重要です。
システムダウンは防げないとしても、ダウンタイムを如何にに短くできるかが一番重要です。高負荷に耐えうる負荷分散構成にしたり、継続性の観点で各地のデータセンターに冗長構成にしたりするなど工夫しています。
また、運用するデータベースの規模が大きいので、自動化や、事前の手当てなどのノウハウ展開によって、運用工数を抑える事が重要です。
加えて、月に10-20件、各サービスの新規データベースの立ち上げの依頼がきます。サービスの希望スケジュールどおり、設定やチューニングといった作業を進めていくことも重要です。
今後の展開
MySQLに関していうと、DB本体よりは、周辺の運用をスピードアップすることを考えています。データベースレイヤーまでクラウドを進めていきたいです。
目指すのは「スピード感」と「拡張性」。加えて、増大するサービスに対し、各人の運用データベース数を増やすための「効率化」。
チューニングなど専門のスキル・経験が求められる分野に人の力を集中させ、構築などは省エネ化、自動化していきたいと考えています。