SQL ServerはOracle RACの機能と同等ですか?[閉まっている]


11

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

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

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


1
SQL ServerがOracleに比べてそれほど遅れているとは思えません。そうですね、SQL Serverにはない機能がありますが、数か月実行してからこのスレッドに再度アクセスし、すべてがバラかどうかをお知らせください。:-)私もそれについての経験はありませんが、いつもそれについて話す良いことを持っているわけではない同僚は。
アーロンバートランド

2
また、SQL Serverの将来のバージョンの機能に関する正確な推測を期待しないでください。計画段階でそのような機能があるかどうかを知っている人はあなたに言うことができません。わからない人もあなたを言うことができません。:-)
アーロンバートランド

1
@AaronBertrand:かなり公平です。機能の推測はまったく正確ではないことを理解しているので、実際には期待していません。AlwaysOnは(一部のケースでは)改善されていますが、RACの機能をより厳密に複製し、そのギャップを埋めることが期待されていました。私の意見では、MSSQLはOracleよりも多くの点で優れていますが、私の意見では、これはOracleが警棒を握っている1つの領域です。
SqlRyan 2012

1
再び@rwmnauに、RACを実装して数か月間使用するまで、RACを称賛することをお勧めします。:-)あなたは正しいかもしれません。それはあなたが約束し、あなたのために完全に機能するすべてのものかもしれません。しかし、あなたは箱の光沢のあるきらめきに竹を刺されているかもしれません。:-)
アーロンバートランド

2
@AaronBertrand:ハ、要点。ネットワークレイテンシに敏感すぎてノードなどをすぐに立ち退けることができるなど、多くの批判を耳にしたので、展開して実際に使用するまでは、完全に判断を下しています。 。SQL Serverには多数のHAオプションがありますが、「複数の書き込み可能なフロントエンド」スペースに移行していないようです。多分私はその理由を発見しようとしています:)
SqlRyan

回答:


8

いいえ、SQL Serverで同じことをすぐにできるものはありません。

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

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

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


1
100kmの主な理由は、Oracleがノード間でACIDに準拠しているためです。高速相互接続を介して相互に通信する必要があり、光の速度が問題になります。同様の構成のSQL Serverは変更を伝達します。2つのノードが特定の期間内に(ACIDではなく)単一のデータベースではなく同じ行を更新すると、行レベルの競合が発生する可能性があります。RACインスタンスのセットは単一のデータベースであり、それが違いです。
フィロ2012

@フィル:ええ、それが私のポイントでした-それらは異なります
Jon Seigel

6

私は、SQL 2000〜2012、Oracle 11g、Oracle 11g RACの両方をサポートするDBAです。

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

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


1
RACのSPOFの良い点。
StanleyJohns 2013年


1

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

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


-2

AlwaysOnを備えたSQL Server 2012/2014は、Oracle RACに近づける多くの機能を追加し、場合によってはそれを改善します。(RACでは、Oracleアプリサーバー、weblogic、JDBCを使用する必要があります-さらに、単一のデータセンターで動作し、アプリは1つのRACクラスターにのみ接続できます-共有ストレージは、RACがクラウドで機能しないことを意味します) 。

AlwaysOnを使用すると、読み取り専用のセカンダリ(12に4つ、14に8つ)と自動フェイルオーバーのサポートを利用できます。ただし、いくつかの課題があります-AlwaysOnは負荷分散をサポートしていません-スクリプトを記述しない限り、常にリストの最初のサーバーが描画されます。フェイルオーバーはアプリにも影響します。透過的ではないため、アプリを再起動する必要があります。

完全な開示-私は、AlwaysOnを強化するソフトウェアを製造する会社で働いています。私たちのデータベースロードバランシングソフトウェアフロントエンドSQL Server-アプリに代わって読み取り/書き込みスプリットを実行し、データセンターにまたがる応答時間ベースのロードバランシングを実行し、フェイルオーバー時に受信書き込み/トランザクションをキューに入れて、アプリにエラーが表示されないようにします。Microsoft、Dell、Quicken Loans、およびその他の企業がどのようにScaleArcソフトウェアを使用してSQL Server AlwaysOnを拡張し、アプリを変更せずにRACのような機能を取得する方法をご覧ください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.