PostgreSQL対Oracleの高可用性ソリューション?


8

PostgreSQLには、RDBMSへのレプリケーションを構築するさまざまな方法を表すさまざまな高可用性オプションのマトリックスがあります。

ここにあるPostgreSQLの高可用性、負荷分散およびレプリケーション機能のマトリックス

ご質問

  • OracleがサポートするPostgreSQL High Availability Matrixのアプローチはどれですか?
  • OracleはPostgreSQLでは利用できない手法で高可用性を実現しますか?

回答:


7

OracleのData Guardレプリケーションは、PostgreSQL 9.0以降のデータベースに組み込まれているPostgreSQLの「PITRを使用したホット/ウォームスタンバイ」に似ています。バージョン9.1では、同期レプリケーションも追加されます。ここでのPostgreSQLのOracleに対する利点の1つは、Sync Repがトランザクションごとに制御できることです。完全同期の「重要!」トランザクションの後に、Postgresで非同期の「失っても大丈夫」が続きます。

OracleのRACは、PostgreSQLがそのグリッドで「共有ディスクフェイルオーバー」とラベル付けしているものに似ています。主な違いは、RACがOracle製品に完全に統合されているのに対し、「共有ディスクフェイルオーバー」は何かを行う方法を説明するだけです。PostgreSQLに必要なクラスタウェアソフトウェアをアセンブルする必要があります。RACがPostgreSQLで複製するのが難しいと思われる高度な処理はさまざまです。それらのほとんどはセットアップが非常に複雑で、Oracleのインストールによっても正しく機能しないことがよくあります。RACが組み込まれているからといって、自動的にセットアップされるわけではありません。

Oracleで行うことができる、PostgreSQLでの複製が非常に難しい主なことは、マルチマスターレプリケーションです。PostgreSQLでマルチマスターを行うことは可能ですが、Bucardoのようなアドオンソフトウェアでのみ可能です。そして、そのようなプログラムはすべて、マルチマスターOracleインストールが提供するものよりも、それらを使用して何ができるかについてより多くの制限があります。


グレッグ私はあなたのビデオ「同期複製と耐久性のチューニンググレッグ・スミス」を本当に感謝しました昨夜それを視聴しました!これは、さまざまなオプションを理解するのに本当に役立ちました。Postgresのすべてのレプリケーションオプションを気にしませんが、自分のアプリに適したものを見つけるのに少し時間がかかります。
ams 12/12/20

マルチマスターは、オラクルのセールスピッチが成功した後、問題を探すソリューションになる場合があることに注意してください。
ロブ・グラント

4

質問の「オラクルがサポートする」という部分がよくわかりません。PostgresはOracleによって「サポート」されていません。

Oracleの物理的なStandByは、PostgreSQLストリーミングレプリケーションと同等です。

ストリーミングレプリケーションを使用する場合、PostgreSQLの非同期レプリケーションは「最大パフォーマンス」モードを使用するOracleのスタンバイと同等ですが、PostgreSQLの同期(9.1以降)レプリケーションは「最大可用性」モードを使用するOracleのスタンバイと同等です。

OracleにはReal Application Cluster(RAC)と呼ばれる別のオプションがあります。これはPostgresでは利用できないものです(ノードがダウンした場合、ロードバランシングと別のノードへのセッションの自動リダイレクトも行います)。


postgresがOracleでサポートされていないことを完全に理解しています。私が見つけたいのは、両方の製品でどのレプリケーションアプローチが実装されているかです。私の考えでは、レプリケーションアプローチがOracleにとって十分なものである場合、それはおそらくレプリケーションへのより良いアプローチの1つです。
AMS

2
非常に多くのレプリケーションの選択肢がある理由は、それぞれが異なるタイプのアプリケーションに適しているためです。「十分に良い」ものもあれば、そうでないものもあるという考えは真実ではありません。たとえば、トリガーベースのレプリケーションアプローチは、Oracleでは一般的ではありません。しかし、それはPostgreSQLとMySQLにあります。これは、Oracleが目指していないタイプのアプリケーションに適しているためです。
グレッグ・スミス

1

Oracleでは、基本的に、ホットスタンバイの実行とRACの使用のどちらかを選択できます。

高可用性の主な目的は、単一障害点を取り除くことです。RACはこれをサーバーレベルで実行し、サービスを中断することなくサーバーの障害を許可します。ASM、ミラーリング、および2つ以上の物理的に独立したストレージプール(またはSAN)を使用して、ストレージエンドで同様のことを達成する必要があります。

ホットスタンバイを使用すると、障害発生時にサービスが中断されますが、より簡単で、「エンジニアリング上のトレードオフ」が少なくなります

良質のハードウェアも不可欠です(SATAではなくSAS、冗長PSU、UPSなど)。

検討する必要がある高可用性のその他の側面もあります(例:人為的エラー)。Oracleからのこのホワイトペーパーでは、それらについてさらに詳しく説明しています。

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