2009-06-17 2 views
4

私はそこにDBAの質問があります:1つのWeb/DBサーバーのセットアップから、2つのWeb/2つのDBサーバーのセットアップに均等に到着するクエリをルーティングするWebサーバーの前に負荷分散装置MySQL Clusterのようなソリューションは、あるDBサーバに加えられた変更が直ちに他のDBサーバに知らされるようにする(そうでなければ、他のDBサーバにルーティングされたユーザはデータを見ることができないか、古いデータになる) Webサーバーは「ダーティデータ」を読み取っていることを認識し、最新のデータを取得するためにX秒間に再試行する必要がありますか?DBクラスタリングはどのように機能しますか?

ありがとうございます。

答えて

2

のWindowsでは、サーバーのクラスタリングを説明している(高性能クラスタリングと区別するために)、共有外部ストレージアレイがあります。アクティブノードはストレージの所有権/制御権を取得し、そのノードに障害が発生すると、ストレージは以前のパッシブノード(現在はアクティブノード)にフェイルオーバーされます。共有ストレージに対して、各ノードでの独立したストレージを可能にする異なるスキームもあります。ただし、これらのアプリケーションでは、アプリケーションがクラスタ化されていることを知り、2つのストレージセットを同期した状態に保つのに十分なインテリジェンスが必要です。

3

これを行う方法は2通りあります。 アクティブ/アクティブまたはアクティブ/パッシブ。 アクティブ/パッシブが最も一般的です データはパッシブノードで同期されています。 クラスタは、アクティブノードがダウンしても有効な構成です。パッシブはすぐに切り替えられ、したがってダウンタイムはありません。 クラスタリングは、クラスタ内の2つのノードを連続的に同期させます。

私はSQLサーバを使用していますが、クラスタリングの基本的な前提はmySQLと同じだと思います。ハードウェアの故障時の停止時間はほとんどありません。

EDIT:さらに、クラスタリングソフトウェアが同期を処理します。心配する必要はありません。クラスタノードは、仮想ディレクトリとして表示されます。仮想ディレクトリは、Windowsで1つのサーバーのように動作します。ここ

ドキュメントはこの

http://www.sql-server-performance.com/articles/clustering/clustering_intro_p1.aspx

+0

ダウンタイムが目に見える確率は、はるかに低いです。まだそれの可能性があります。 – Sev

+0

代替案よりも大幅に低い確率。これは私に起こった、誰も気づいた。 – Stuart

0

クラスタリングは、多数のノードがワークロードを処理する場所でもあり、アクティブ/アクティブクラスタとも呼ばれ、すべてのノードがワークロードを共有し、アクティブです。これは、通常、Oracle RDBMSデータベース用のOracle RAC([email protected])などの専門ソフトウェアによって処理されます。 Oracle RACを使用すると、非常に大きなワークロードに拡張できます。