1. MySQL クラスタリングの概要 (ndb-cluster stogare)
:
MySQL は、ストレージ エンジンの形で信頼性の高いソリューションを提供します。トランザクション セーフであり、データをリアルタイムでレプリケートします。高い信頼性と負荷が必要な状況で使用できます。バランスをとること。このソリューションで良好な結果を得るには、少なくとも 3 つのノード サーバーが必要です。
コスト:
ノード サーバーには大量の RAM 要件があり、データベース サイズに比例します。
ギガビット イーサネット ネットワークを使用するのが最適です。
また、Dolphin の高価な SCI カードの使用も必要です。
利点:
負荷分散の状況で使用でき、
高い拡張
性の状況で使用でき
ます
。
短所:
データベースが大きくなるにつれて、RAM 要件が大きくなるため、コストが高くなります;
速度:
一般的なスタンドアロン サーバーよりも 10 倍近く遅い (ギガビット イーサネット、SCI カードなし、ストレージ エンジン関連の制限が少ない)。
アプリケーション シナリオ:
冗長性、高信頼性、ロード バランシング
2. MySQL / GFS-GNBD/ HA (アクティブ/パッシブ)
はじめに:
複数の MySQL サーバーがデータ ストレージとして共有ハードディスクを使用している場合、このソリューションはどうでしょうか?
GFS/GNBD は、必要な共有ハード ドライブを提供できます。
GFS はトランザクションセーフなファイル システムです。同時に、MySQL で共有データを使用することができます。
コスト:
最大 n 台の高性能サーバーのコスト。そのうちの 1 台はアクティブ化され、他のサーバーはバックアップ サーバーとして機能します。
長所:
高い信頼性
ある程度の冗長性
高信頼性まで拡張可能
短所:
ロード バランシングがない
保証された冗長性がない
書き込み操作を拡張できない
スタンドアロン サーバーの2 倍の
速度
。読み取り操作のサポートが向上しました。
アプリケーション シナリオには、
高い信頼性と読み取り集中型のアプリケーションが必要です
。 3. MySQL / DRBD / HA (アクティブ/パッシブ) の概要
:
複数の MySQL サーバーがデータ ストレージとして共有ハードディスクを使用している場合、このソリューションはどうでしょうか?
DRBD は、このような共有ハードドライブを提供できます。 DRBD はトランザクションを安全にするように構成できます。
同時に、MySQL で共有データを使用することができます。
コスト:
最大 n 台の高性能サーバーのコスト。そのうちの 1 台はアクティブで、他のサーバーはバックアップ サーバーとして機能します。
利点:
高い信頼性、
ある程度の冗長性
。
短所:
負荷分散なし、
冗長性の保証なし、
書き込み負荷の点でスケーラビリティなし、
速度:
読み取りと書き込みの点で単一サーバーと同等、
高い信頼性が必要なアプリケーション
および読み取り操作が集中するアプリケーション
4. MySQL Write Master / Multiple MySQL Readスレーブ (アクティブ/アクティブ)
はじめに:
DB データベース接続の読み取りおよび書き込みのさまざまな状況を考えてみましょう。書き込み操作には 1 つのマスター サーバーを使用し、読み取り操作には n 個のスレーブ サーバーを使用できます。
コスト:
最大 1 台の高性能書き込みサーバー、
n 台の読み取りサーバーのコスト上の利点:
読み取り操作の負荷分散の
信頼性が高く
、読み取り操作の負荷分散の点で拡張性があります。
短所:
書き込み操作なしで高い信頼性、
書き込み操作なしの
負荷分散
、速度:
読み取り操作のサポートが強化されている
アプリケーション シナリオは
読み取り中心であり、高い信頼性と負荷分散アプリケーションを必要とします。
5. スタンドアロン MySQL サーバー (機能的に分離されている) (アクティブ)
分離された機能を持つ複数の独立したサーバーには、明らかな欠点が多すぎるため、考慮されません。
概要:
MySQL 公式 Web サイトで推奨されている HA ソリューションは、DRBD (この記事のスキーム 3) とレプリケーション (この記事のスキーム 4) の組み合わせです。 Linux Heartbeat に自動フェイルオーバー機能も実装できれば、この場合、ダウンタイムが大幅に短縮されることがわかります。