DBサーバのクラスタリング構成をするにあたって、負荷分散を重視するのか?冗長化を重視するのか?保全性をどれくらいのレベルにするのか?速度的なものはどう考えるのか?いくつか検討する事項があります。ちょっとメモします。
■負荷分散構成+冗長構成
機能:レプリケーション(DBアプリ内のレプリケーション機能により、参照クエリを複数台に分散)
メリット:書き込みと読み出しサーバを分けられるので負荷分散構成が可能。リアルタイムでのバックアップが可能。
■冗長化構成
機能:DRBD(指定したパーティションをネットワーク上でミラーリングすることが可能)
メリット:トリガーとなるアプリケーションのダウンを検知し、スレーブへ自動フェールオーバー可能。実質ダウン0となる。
デメリット:負荷分散機能がないため、負荷が高まるとマスターサーバのレスポンスが低下する。
DB高速化は以下の施策が考えられる。
・サーバースペックアップ(特にSSDなどを採用する)
・各種SQLの設定
MySQLの場合はレプリケーション設定
PostgreSQLの場合は、Pgpool2のバランシング設定
SQL Serverのミラーリング設定
データベース処理の質により以下のような施策が考えられる。
・memcachedの導入(インメモリ型キャッシュサーバ)
・hadoop
・クラスタリング系システム
Recent Comments