MySQL Cluster は、シェアードナッシングアーキテクチャのインメモリ型分散型データベースシステムです。
複数のコンピュータホストマシンに MySQL Cluster ソフトウェアをインストールし、それらが協調動作することで一つのデータベースシステムを形成し、99.999%の可用性を実現しつつ、高い性能要件を実現します。
メリット | デメリット |
---|---|
・MySQLサーバーと組み合わせた場合は、MySQL の全てのインタフェースが利用できる。 ・障害ノードのデータは瞬時に他に引き継ぎ、情報の消失を防ぐことが可能である。 ・設定、管理が容易である。 ・メモリ資源やストレージを一切共有しない、データベースの全てのデータがメモリ上に展開される。 | ・メモリー上で展開されるためハードウェアは、スペックの高いものが必要になり、ハードウェアコストが高くなる場合がある。 ・NDB のみのサポート(MyISAM、InnoDBの非サポート) 構成変更時のシステム停止 |
以下の様なシステムに最適です。
- 大手通信キャリヤにおけるユーザ情報管理
- ウェブサイトのセッション情報管理
- VoIP におけるユーザ認証
- 航空券予約システム 等々
MySQL Cluster の基本構成

- マネジメントサーバ (MGM ノード)
MySQL Cluster 内の他のノードを管理し、ノードの起動/停止/バックアップなどを行います。 - データノード
クラスタのデータを保持します。データノードを複数構成します。 - SQL ノード
クラスタデータにアクセスするノードです。
MySQL Cluster の拡張構成

- 複数の SQL ノード、データノードの増設は、パフォーマンスアップが図れると共に、高可用性、冗長化、負荷分散の向上が図れます。
MySQL Cluster を検討中の方へ
MySQL Cluster 本来の性能を発揮させるには、アプリケーションや現在ご利用のスキーマを変更しないと性能が発揮出来ない場合がほとんどです。
但し、適切に利用することでことでハイレベルの可用性および低レイテンシを維持し、特に書き込み処理を拡張する場合などは他のデータベースを凌ぐ大幅なパフォーマンスの向上を実現することができます。