事例紹介
Percona XtraDB Clusterで「運用」「構築」「パフォーマンス」に関わる課題をまとめて解決
![]() |
ヤフー株式会社 【関連プロダクト/サービス】 |
![]() |
概要
ヤフー株式会社(以下:Yahoo! JAPAN)ではMySQLの運用において、「サーバ提供時間の短縮」「運用効率の改善」「リソースの競合によるパフォーマンス低下の解消」が求められていた。これらの課題を解決するために、Percona Serverの導入に続き、Percona XtraDB Clusterを導入した。その結果、Percona XtraDB Clusterの特長であるActive-Active構成や自動データリカバリを活用することで、DBを稼動させながらのメンテナンスが可能となり運用効率が大幅に改善された。また、サーバ提供時間やリソースの競合に関してもOpenStackと連携させることで課題を解決した。
バージョン
Percona XtraDB Cluster 5.7 |
対象システム
Yahoo! JAPAN内でMySQLを使用しているシステム (乗換案内やショッピングサービスの一部、社内デプロイツールなど) |
課題
|
解決策
Percona XtraDB Clusterの導入 |
結果
|
導入事例インタビュー

導入の経緯
Percona XtraDB Cluster導入以前、Yahoo! JAPANのMySQL運用における課題は大きく3つありました。
1. サーバ提供時間の短縮
Yahoo! JAPANではサービスの利用者(社内)からDBの利用希望を受け、私達DB専門のチームがDBインフラを提供するという体制をとっています。社内全体でOpenStackを使ったインフラの仮想化(基盤化)を推進される一方、DBについては手動でセットアップしてDBサーバ(構成はほぼ一律)を提供していたため、DBの提供に最長1週間かかっていました。そのため、サーバ提供時間を短縮したいという希望がありました。
2. DBの運用効率の改善
従来のMySQLを使用したActive-Standby構成では、脆弱性対応にメンテナンスとしてDBを停止させる必要があります。このため、利用者側への調整や準備も含めてメンテナンスに約1ヶ月の期間がかかっていました。サーバのリプレース作業においてもサーバごとにメンテナンスが必要であるため、最新状態での常時稼動が求められるDBの運用において高い作業稼動負荷がかかっていました。
3. 一部のDBに高負荷がかかった際のリソースの競合
以前のシステムでは、複数のDBが1台のサーバに同居する構成となっていました。この構成では、一部のDBに高い負荷がかかった場合、リソースが競合し、他のDBのパフォーマンスに影響を与えてしまっていました。
以上3点の課題を解決するため、Yahoo! JAPAN内で使用しているOpenStackと連携が可能なPercona XtraDB Clusterの導入を検討することになりました。
Percona XtraDB Cluster導入について
対象システム
今回は、MySQLを使用しているシステムを対象にPercona XtraDB Clusterへの移行を実施しました。例えば、乗換案内やショッピング関連サービスの一部、社内のデプロイツールが該当します。その他600を超えるデータベースに関して、移行が可能なものは随時MySQLからPercona XtraDB Clusterへの移行を進めています。 |
システム構成
![]()
Percona XtraDB Clusterの構成に関しては、3ノードのマルチマスタ構成(Active-Active)、Ver5.7を使用しています。ノードを増やしての処理分散も可能ですが、パフォーマンス低下の懸念があるため、パフォーマンスを上げたい場合は基本的にVMリソースを多めに割り当てる対応にしています。導入して間もないため、最大10GB程度のサービスのデータしか移行していませんが、今後移行を予定しているデータの中には2TBのものもあります。 |
導入メリット
提供時間Percona XtraDB ClusterとOpenStackを連携させることによって、今まで手動で行っていた構築作業を、利用者がボタン1つクリックするだけでDBサーバを準備できるようになりました。これにより1週間ほどかかっていた提供時間が、約10分に短縮されました。 運用・監視メンテナンスを行う際、従来のActive- Standby構成だとDBを停止させて行う必要があったため、利用者側への調整や準備も含めて約1ヶ月の期間を要していました。Percona XtraDB Cluster導入後はActive-Activeの構成に変更され、動的にノードの追加/削除が可能になったことにより、3台のうち1台を外してメンテナンスを行えるようになり、サーバを停止させることなく自由にメンテナンスができるようになりました。 既存サーバのリプレース作業に関しても、以前はサーバごとにメンテナンスを行っていましたが、現在では新サーバをClusterに追加しデータの自動同期が完了した段階で、旧サーバごと破棄する対応に変更しました。同じサーバを長期間使用していると、知らない間にデータの不整合などが発生することがありますが、サーバ全体をリプレースする運用に変更することよって、常に最新の「データ」「バージョン」を数百台のサーバで保つことが可能となります。 負荷分散OpenStackとPercona XtraDB Clusterを連携させることでDBの仮想化を実現し、DBを1台のサーバに同居させることなく明確に分離させました。これにより、リソースの競合によるパフォーマンスの悪化を解決できました。全体的なパフォーマンスについても、現時点では満足しています。 可用性今までは、サーバがダウンした際、フェイルオーバーで別のサーバに切り替えを行っていたため、数分のダウンタイムが発生していました。Percona XtraDB Clusterの導入でActive-Active構成に変更されたことにより、障害時にフェイルオーバーが起きなくなったため、ダウンタイムのない状態に近づけることができました。 コスト運用コストという点においては、導入前と比べてサーバ増加に伴う費用曲線の傾きがとてもなだらかになりました。また、古いサーバをいつまでもリプレースできずデータセンターの効率を悪化させていた問題を解消できたことで、将来的にかかる管理コストも抑えることができました。 |
注意点・デメリット
導入時の注意点としては、Percona XtraDB Cluster独自の仕様やロックの挙動の確認、ロードバランサをどのようにActive-Standby/Active-Activeにするのかなどに注意して検証を行いました。 |
スマートスタイルのサポートについて
スマートスタイル社のサポートの利用シーンとしては、主に細かい挙動やその部分の監視など、詳細な部分を知りたい時にサポートを使うことが多いです。他にも、例えばアラート(エラー)が発生し事象を解決した場合でも、同様のアラートが再び発生した時の対応や、問題の発生を防ぐ根本的な対応のための手がかりとしてサポートをお願いすることもあります。
レスポンスも早く、回答内容に関しても細かく調査されているため満足しています。
導入後の感想
Percona XtraDB Clusterを導入から現在までクリティカルな障害の発生もなく安定した運用ができており、「運用効率の改善」や「提供時間の圧縮」などの抱えていた課題をまとめて解決できたことは大きな導入メリットだと感じています。
運用効率が上がったおかげで、一人あたりが管理できるDBの数は大幅に増え、Yahoo! JAPAN全体でもMySQLデータベースの利用が促進されました。今後も、データの活用が推進され更に高いレベルでのインフラ強化を求められることが予想されるので、引き続き改善を進めていきたいと思います。
Percona XtraDB Clusterとは
![]() |
Percona XtraDB ClusterとはMySQLユーザのための高可用性と拡張性の高いソリューション。高可用性ソリューションのガレラ(Galera)ライブラリとPercona Serverが一つの製品パッケージに統合されている。
|
関連事例
![]() |
Perconaサーバの導入で |
お客様プロフィール
![]() |
ヤフー株式会社 |