Oracle StreamsとChange Data Captureの違いは何ですか?
-
07-07-2019 - |
質問
Oracle Streams、Oracle Change Data Capture、Database Change Notificationなど、類似したOracleテクノロジーがいくつかあります。
これらの違いは何ですか?
Oracle Advanced Queueingに関連していますか?
解決
Oracle CDCは、DBテーブルの変更をキャプチャするためのものであり、変更は特別なOracleテーブルに保存されます。 CDC操作には、非同期(Javaに基づく)または同期(DBトリガーに基づく、パフォーマンスオーバーヘッドの増加)の2つのモードがあります。
Oracle StreamsはOracle CDCの最上位に位置し、2つのサーバー間のデータ同期のための完全なトランスポートメカニズム(HTTPなどを使用)です。 Oracle Advanced Queuesテクノロジーに基づいており、高いパフォーマンスと信頼性のために設計されています。
一般に、Oracle CDCとStreamsはどちらもOracle DBサーバー間のデータ同期に使用されます... Oracle CDCでは、Oracle Streamsを使用する必要はありません。 Streamsでは2つのサーバー間にネットワークリンクが必要であるのに対し、2つのDBサーバー間の同期を目的としてフラットファイルを作成する独自のデータエクスポートルーチンを作成できます。
データベース変更通知もまた別のものです。サーバー間の同期には使用されず、クライアントへの結果セット変更のサーバー通知に使用されます。主にクライアント側のデータキャッシュのコンテキストで使用されます。
他のヒント
システム間で同期するために、StreamsとCDC発行メカニズムを組み合わせて非同期モードを実現できることを追加します。この目的でStreamsを使用しないことを選択した場合、同期モード(トリガーによると思います)を使用することになり、各トランザクションに少し余分なオーバーヘッドがかかります。