Windows Server上でMicrosoft SQL Serverロードバランシングを実行し、プログラムによるアクセスに対して透過的であるために今日存在するもの。これは組み込まれていますか、またはソリューションを購入する必要がありますか?
WebサーバーまたはSQL Serverへの他のデータベースアクセスの観点から、これを非常に簡単にするソリューションが今日あるかどうかを確認しようとしています。
Windows Server上でMicrosoft SQL Serverロードバランシングを実行し、プログラムによるアクセスに対して透過的であるために今日存在するもの。これは組み込まれていますか、またはソリューションを購入する必要がありますか?
WebサーバーまたはSQL Serverへの他のデータベースアクセスの観点から、これを非常に簡単にするソリューションが今日あるかどうかを確認しようとしています。
回答:
ウィザードを介して実行できるMS SQL Server用の「標準」ロードバランシング設定はありません。
これはデータベースアーキテクチャの決定であり、サーバーレベルではなくデータベースレベルで実装されます。テクニックは次のとおりです。
誰もが同意しない場合、私はクラスタリングが負荷分散であるという尊敬されている既知のMS SQL図による記事を見たいです。上記の記事では、負荷分散については言及していません。たとえば、Microsoftie(Chas Boyd)は、ここにいないと言っています。
OPに対する私の質問は、どのような負荷が予想されるかです。
通常、データベースサーバーはIOとメモリバウンドであるため、適切なディスク構成(適切なファイルグループを使用)および可能な限り多くのRAMは、上記のソリューションよりもはるかに大きくなります。
忘れないでください:SQL Server 2005 / Windows 2003 Enterprise 32ビットは32GB RAM(26-28GBのデータキャッシュがある)に移動し、NTFSマウントポイントのためドライブ文字に制限されません。x64については...
最初に、可能であればいくつかのことを整理したいと思います。
SQL Serverクラスタリングは、Windowsクラスタリングの上に構築された可用性テクノロジです。ハードウェアレベルで冗長性を提供し、負荷分散、つまり処理負荷の分散として知られる技術とは関係ありません。
これに加えて、データベースミラーリングとログ配布も、主にさまざまな形式の可用性を実装するためのテクノロジです。
さて、元の質問に…。
残念ながら、SQL Serverの負荷分散のための「すぐに使用できる」ソリューションはありません。
SQL Serverレプリケーションテクノロジを使用して、トランザクション処理の負荷の分散も考慮した分散データベース環境を実装できますが、アプリケーションは基礎となるアーキテクチャを「認識する」必要があります。
このアプローチでは、負荷分散されたサービスを提供するために、特定のアプリケーションの開発とカスタマイズが必要です。
詳細が明確で理にかなっていることを願っていますが、もちろん私に直接質問を送ってください。
Cirtrix NetScalerまたは これからネイティブSQLロードバランシングソリューションを確認してください 。
トランザクションの10%のみが書き込みである非常に高い書き込みデータベース(10/90など)がない場合、ハードウェアロードバランサーの上でSQL 2005以上のピアツーピアレプリケーションを使用して、ニーズを達成できます。すぐに使えるものはありません。
SQL Serverとは別に、データベースの負荷分散のための新しいテクノロジが利用可能です。これらのソフトウェアソリューションは、2012年または2014年にAlways Onと統合され、自動読み取り/書き込み分割およびその他の負荷分散技術をサポートします。この透過的なSQLロードバランシングソフトウェアの2つの例として、SQL Server用のNetScaler DataStreamまたはScaleArcを探します。