MySQL Cluster の使いどころ

MySQL Cluster 7.0.6を実戦投入しようとしたけども、部分的に不向きなところがあって最終的にあきらめたという話。

システム構成はサーバ2台。AサーバとBサーバとして、

[Aサーバ]

  • 管理ノード
  • DBノード
  • SQLノード

[Bサーバ]

  • DBノード
  • SQLノード

とし、クライアントからはAとBのSQLノードにロードバランサ等で接続するような構成。

データの内容は、エンドユーザが作成したコンテンツの各ページのPVをカウントするもの。カウント値は当日と昨日のカラムを用意して、昨日のカラムには昨日のPVの値を保持してアクセスがあれば当日の方をカウントアップしていくもの。

カウント自体は正常に稼働しうまく動いてたが、当日と昨日のカウント値を毎日更新(当日値を昨日値へ入れ替えて、当日値をリセット)するところで、大量の更新が発生してしまい、この処理がMySQL Clusterには向かない処理で非常に時間がかかってしまい、MySQL Clusterの採用を見送る結果となった。

データ構造自体を見直せば解決できるかと思うが、各アプリケーションの修正工数を抑えたかったので見送る結果となった。

残念。