数カ月前にMySQL 5.1 GA版 のリリース見通しを5月と記述したが,残念ながら下半期に突入した現在もBata版にとどまっている。バージョン5.0から5.1へのアップは,番号としてはポイント以下のマイナー・バージョンアップだ。しかし,非常に大きな期待を持って待っているユーザーも多いだろう。それは,MySQL 5.1 からMySQL Clusterがストレージ対応になるからだ。

 今回は,MySQL 5.1 GA版 のリリース準備として,期待の高まるMySQL Clusterのストレージ対応を紹介する。

MySQL Cluster の登場

 もともとMySQL Clusterは,NDB Clusterという商品だったものをMySQL ABが自社製品として取り込み,MySQL 4.1.3 (RPM版はMySQL 4.1.10)から実装が始まった。それ以前は,標準機能のReplicationかサード・パーティ製品(以前のNDB Clusterも含む)による対応しかなかった。

 Replicationは,シンプルで設定や運用が容易であるが,MasterとSlaveという役割から更新を行うのは,Masterのみという制約があった。そのため,Master 側だけで更新を行うようにアプリケーション側が配慮する必要があった。大規模な構成や高速性を重視するユーザーは,Replicationを構成するすべてのサーバーで更新を行えるようにするMulti-Master化のニーズがあった。

図1●レプリケーション構成

 そこで,登場したのが,MySQL Clusterである。MySQL Clusterは,複数のノードが一つのデータベースを構成するMulti-Master方式のクラスタソリューションだ。

図2●MySQL Clusterの構成

 MySQL Clusterでは,データベースを構成するサーバーをノード (NodeまたはData Node)と呼ぶ。複数のノードによって,一つのクラスタストレージを実現する。