5

Oracle には、一見競合する 2 つのテクノロジがあります。CDC と DCN。

それぞれの強みは?

一方を使用し、もう一方を使用しないのはいつですか?

4

2 に答える 2

4

一般に、DCN を使用して、クライアント アプリケーションがアプリケーションのキャッシュをクリア/更新する必要があることをクライアント アプリケーションに通知します。ETL 処理には CDC を使用します。

通常、データベース内のデータ変更についてすぐに通知する必要がある OLTP アプリケーションがある場合は、DCN が適しています。ここでの目標は、ネットワーク ラウンドトリップの数とデータベース ヒットの数を最小限に抑えることであるため、通常、ほとんど静的なクエリに対してアプリケーションで DCN を使用する必要があります。クエリの大部分が定期的に変更されている場合は、変更されたデータを取得するためにクエリを絶えず実行するよりも、設定された頻度でアプリケーションのキャッシュを更新するだけの方がよい場合があります (DCN には変更されたデータは含まれず、行の ROWID のみが含まれます)。 (s) が変更されました)。アプリケーションがダウンした場合、DCN では変更が失われる可能性があると思います。

多くのテーブルで変更されたすべてのデータを定期的に取得する必要がある DSS アプリケーションがある場合は、一般に CDC が適しています。CDC は、サブスクライバーが基になるテーブルへのすべての変更を受信したことを保証できます。これは、変更を別のデータベースにレプリケートしようとしている場合に重要になる可能性があります。CDC を使用すると、サブスクライバーは、変更があることをサブスクライバーに通知するのではなく、都合のよいときに変更を取得できます。そのため、サブスクライバーがほぼリアルタイムではなく、1 時間ごとまたは毎日新しいデータを処理するようにしたい場合は、CDC が必要です。 . (注: DCN には配信保証モードもあります。以下のコメントを参照してください。 --Mark Harrison)

于 2008-10-16T16:28:16.083 に答える
1

CDCは、DCNよりもセットアップがはるかに複雑なようです。

DCNをセットアップするということは、選択を開始および終了DCNブロックでラップしてから、変更の収集で呼び出されるプロシージャを作成することを意味します。それでおしまい。

CDCは出版社と加入者を必要とし、とにかく、より多くの仕事のようです。

于 2008-10-16T16:38:14.660 に答える