MySQL Serverの冗長化を実現するためのオープンソース実装としては、現状、MySQL Server自体の機能であるreplicationしか使えないのかな〜、と思っています。MySQL4.1ソースに標準で含まれているclusteringはダメかも…。
ちょうど1年前に公開され、期待していたMySQL Clusterは、メモリベースのデータ管理であるが故に、使いどころがあまりないと思われます。大容量のデータを扱うにはより大容量の物理メモリが必要になりますからね。小規模な案件では、並列冗長化自体を行わないでしょうし。
replication機能も、master→slaveの一方向であること、slaveが更新されないように運用する必要があること、が結構な制約ですが、楽天など大規模サイトでの実績もあるようですし、まぁ使えるかなと。
あとは、商用冗長化製品を使うか…。その時点で、MySQLを使うインパクトは半減するけど、うまくすると、冗長化製品ベンダーがMySQL Serverのサポートもしてくれるかもしれないというメリットはあります (^^;;
次世代のMySQL5.1のクラスタ関連のRoadmapを見ると、
- クラスタリング機能が、レプリケーション機能に取り込まれる。(クラスタを管理する親サーバが不要になる?)
- 物理ディスクベースのデータレコード管理をサポートする。(インデックスだけはRAMに配置)
- 可変長フィールドが消費するストレージ量を最大長から可変長に。
と、魅力的な記載があります。どこまで実装して頂けるのでしょうか?楽しみではあります。