web-dev-qa-db-ja.com

SQL ServerはOracle RACの機能と同等ですか?

私はグーグルをやったが、数年前よりも最近のこの質問に対する答えを見つけることができなかったので、私は質問したいと思った。 OracleのRAC機能は、読み取りトランザクションと書き込みトランザクションの両方にロードバランシングを提供するだけでなく、ダウンタイムなしのスケールアウトと高可用性を提供します(少なくとも、私が理解しているように、私たちはRACを使用する最初のデータベースを導入しようとしています。それがどうなるか見てみましょう)。

同等の機能を提供するSQL Server機能セット(または上にインストールできるサードパーティコンポーネント)はありますか?私たちは常にWindowsクラスタリングを使用してきました。フェイルオーバーイベントが発生すると、SQLのダウンタイムが約20〜30秒発生します。これは常に許容できますが、理想的ではありません。現在、SQL 2012のAlwaysOnにより、SQL Serverはそれを約15秒に短縮し、読み取り専用のセカンダリデータベースの概念を追加しますが、書き込みトランザクションは単一の接続ポイントを通じて制限される必要があります(多くのトランザクションが読むだけですが、実際にはロードバランシングではありません)。ノード障害やパッチの必要性がある場合でも、ダウンタイムが発生します。

私はそれがより好奇心であると思います-これはSQL ServerがOracleに遅れをとっている唯一の領域であるように感じます(少なくとも私が個人的に使用したことを見た機能の中で)。 Microsoftの同等の機能が追加されるのを待つ間、そのギャップを埋め、独自のSQL Serverの展開を改善するオプションがあるかどうかを確認したいと思いました。

11
SqlRyan

いいえ、SQL Serverには、同じことをそのまま使用することはできません

現在、複数のノードで同時書き込みを許可する唯一のSQL Serverテクノロジーは ピアツーピアレプリケーション です。 「書き込みスケールアウト」とは言わなかったことに注意してください。これは、システム全体が単一ノードのみの書き込み容量を持つように機能するためです。そのページの紹介段落は、「スケールアウトを書く」と言うのではなく、「スケールアウト」という用語を含むように注意深く書かれています。マーケティングについて話すためのイェイ。

私が読んだこと から、Oracle RACはその点では同じです。機能的には、この構成でSQL Serverに欠けている唯一のものは、負荷分散ソリューションです。これは、次の場合に利点(必要な方法で実装できます)と欠点(ボックスには含まれていないか、Microsoftによってサポートされています)の両方です。競合製品と比較しています。

逆に、Oracle RACでは、SQL Serverと同じ機能をそのまま使用することもできません。たとえば、リアルタイムネットワークレイテンシのため、RACは互いに100 km以内のノードで実装することをお勧めしますが、ピアツーピアレプリケーションにはそのような制限はありません。 (1つのソリューションが他のソリューションよりも優れていると言っているのではありません。それらが異なることを指摘しているだけです。企業は特定のニーズに最適なソリューションを選択する必要があります。)

8
Jon Seigel

私はDBAであり、SQL 2000-2012、Oracle 11g、Oracle 11g RACの両方をサポートしています。

IMO、SQL 2012のAlways On可用性グループは、RACの可用性とスケーラビリティに非常に近く、コストとコストを大幅に削減できます。ミラーに対してクエリを実行することで読み取りをスケールアウトできますが、すべてのDMLをプライマリサーバーに転送する必要があります(SQL Serverミラーは更新できません)。プライマリSQL Serverがクラッシュした場合、ミラーの1つへのフェイルオーバーはほぼ瞬時に行われます。障害が発生したノードのコミットされていないトランザクションが残りのノードによってロールバックされ、ノードがクラッシュした場合、RACは同様の一時停止を経験します。

RACに対するSQL 2012 AAAGの最大の利点(IMHO)は、シェアードナッシングアーキテクチャであることです。 RACはストレージを共有します。それが失敗した場合、クラスター全体がダウンしています。これは、誰もが忘れそうなRACの巨大なSPOFです。これを防ぐには、スタンバイサーバーをセットアップする必要があります。それをRACにしたい場合、コストはさらに複雑になります。

6
Chuck

質問に対する正解は「いいえ」です。SQLServerには同等の機能はありません。 SQL Serverには、必要な種類のフォールトトレランスを提供する側面があります(これまでは DBミラーリングを使用する場合のSQL Server 2005 とミラー対応のアプリケーションですが)ありません。 Oracle RACとの1対1。

5
Eric Higgins

AlwaysOnのより良い比較は、OracleのData Guard機能です。アクティブ/パッシブクラスタリング。 (はい、スタンバイから読み取ることができますが、読み取り専用であるため、アクティブなノードは1つだけです。)

Oracle RACは完全に異なる動物であり、アクティブ-アクティブクラスタリングです。マイクロソフトがこれを実装するつもりなら、どんな動きも見なかった。

1
Tagar