第9回はMySQL Clusterを用いたスケールアウト構成に関して,
MySQL Clusterとは
MySQL Clusterはシェアードナッシング型
システム拡張性の観点からは,
MySQL Clusterの開発の経緯
元々エリクソン社が立ち上げたベンチャーAlzato社を2003年に旧MySQL社が買収し,
MySQL Clusterの用途と事例
開発当初のターゲットとしていた通信業界でMySQL Clusterは幅広く利用されています。携帯電話ネットワーク向けの機器への組込みではAlcatel-Lucent,
また単一障害点が無いため高い耐障害性を持ち,
MySQL Clusterのアーキテクチャ
MySQL Clusterは別々の役割を持つ複数のノードがあります。以下では各ノードの役割を解説していきます。下記の図1はSQLノード2台,
SQLインターフェースとしてのSQLノード
アプリケーションやアプリケーションサーバからドライバ等を経由して接続する先はSQLノードです。このSQLノードは基本的にMySQLサーバにndbclusterストレージエンジンを追加したものになり,
トランザクションとデータを管理するデータノード
データノードはMySQL Clusterの構成の中でも最も重要な役割を持っています。データやインデックス,
データは多重化されているため,
構成の設定を管理する補助的な役割の管理ノード
管理ノードは名前から感じるほどの重要度はありません。管理ノードの役割は,
ネットワーク障害が発生してデータノード間で通信が途絶えたものの,
表1 MySQLの各ノードの役割
ノード | プロセス名 | 主な役割 |
---|---|---|
SQLノード | mysqld | ・ ・ ・ ・ |
データノード | ndbmtd | ・ ・ |
管理ノード | ndb_ |
・ ・ ・ ・ |