MySQL Enterprise High Availability

MySQL InnoDB Clusterは、統合されたMySQLネイティブのHA構成を提供します。MySQL InnoDB Clusterは、以下の3製品で構成されています。

  • グループ・レプリケーションを使ったMySQLサーバー: クラスタ内の全メンバーにデータを複製し、フォールトトレランス、自動フェイルオーバー、伸縮性を提供
  • MySQL Router: ロードバランスや障害発生時のデータベースへの接続のフェイルオーバーを提供
  • MySQL Shell: ビルトインされた管理APIから InnoDB Cluster 環境の構築/管理が可能

3製品が統合されており、簡単に使用可能

MySQL InnoDB Clusterは、グループ・レプリケーションを使ったMySQLサーバー、MySQL Router、MySQL Shellが統合されているため、外部ツール、スクリプトなどに依存する必要はありません。更に、InnoDB、GTID、バイナリログ、マルチスレッドスレーブ、マルチソースレプリケーション、パフォーマンス・スキーマなどの実績の豊富なMySQL機能を活用しています。MySQL InnoDB Clusterは5分未満でセットアップでき、スクリプト化可能なMySQL Shellの管理APIを使って容易に管理できます。

MySQL InnoDB Clusterは、統合されたMySQLネイティブのHA構成を提供します。
MySQL InnoDB Cluster は、統合されたMySQLネイティブのHA構成を提供します。

グループ・レプリケーションによるMySQLサーバーの高可用性構成

グループ・レプリケーションには、グループメンバーシップ管理、データの一貫性の保証、競合の検出と処理、障害の検出とフェイルオーバー処理が組み込まれており、手動介入やカスタムツールを必要とせずにMySQLネイティブな高可用性構成を提供します。

グループ・レプリケーションでは、自動的にグループ内の1台のサーバーのみが読み書き可能になるシングルプライマリーモードと、どのサーバーでも読み書き可能になるマルチマスターモードの2つのモードが使用できます。一般的なPaxos分散アルゴリズムに基づいて実装されている、強力な新しいグループコミュニケーションシステムにより、グループ間のデータ複製、整合性、メンバー管理が自動的に調整されます。これにより、MySQLの高可用性構成に必要な全ての仕組みを提供します。

伸縮性

グループ・レプリケーションでは、一連のサーバーが連携してグループを構成します。グループメンバーシップは動的に変更可能です。サーバーは任意のタイミングで、もしくは自動的にグループから離脱し、いつでもグループに参加可能です。グループは必要に応じて自動的に再構成され、参加メンバーはグループ内の他のメンバーと同期が取れています。これにより、データベース全体の参照処理性能を容易にスケールアップ/ダウンできます。

障害検出

グループ・レプリケーションは、障害発生時などにグループに参加していないメンバーを検出して、残りのメンバーでグループを再構成する分散障害検出機能を実装しています。

フォールトトレランス

グループ・レプリケーションは、サーバー間の分散調整を提供する一般的なPaxos分散アルゴリズムに基づいて実装されています。グループが機能し続けるためには、メンバーの過半数がオンラインになり、全ての変更が同期されている必要があります。この状態を保つことで、データ損失やデータ破壊のリスクなく、障害発生時に手動介入不要で、MySQLデータベースを安全に継続運用できます。

自己修復

サーバーがグループに参加する時、バイナリログを適用して自動的にグループ内のメンバーと同期して最新の状態になります。サーバーをメンテナンスのためなどで停止し、サーバーがグループから離脱した場合、残りのサーバー群はそのサーバーがグループから離脱したことを認識し、自動的にグループを再構成します。そのサーバーが再びグループに参加すると、自動的にグループと同期します。

監視

パフォーマンス・スキーマのテーブルを参照することで、各メンバーやグループ全体の詳細情報を確認可能です。また、MySQL Enterprise Monitor 3.4以降はグループ・レプリケーション、InnoDB Clusterの監視にも対応しているため、MySQL Enterprise Monitorを使ってパフォーマンスや設定、各ノードの状態等を監視可能です。

MySQL Routerによるアプリケーションに対する自動フェイルオーバー

MySQL Routerを使用すると、既存のアプリケーションの変更を伴わずにスタンドアロンのMySQLインスタンスをInnoDB Clusterに移行できます。新しいメタデータ・キャッシュ・プラグインは、透過的なクライアント接続ルーティング、ロードバランシング、およびInnoDB Clusterへのフェイルオーバーを提供します。

MySQL Shellを使って簡単にデプロイ/管理可能

MySQL Shellは、MySQL関連のすべてのタスクに対して直感的で柔軟性のある強力なインターフェイスを提供します。MySQL Shellが提供する新しい管理APIにより、MySQL Routerを含むInnoDB Clusterの構築、監視、管理が容易になります。複雑な低レベルの概念、構成オプション、などを意識せずにInnoDB Clusterを使用できます。MySQL Shellによって、誰もが簡単にInnoDB Clusterを利用できます。

その他のリソース