Was ist der Unterschied zwischen Oracle Streams und Change Data Capture?
-
07-07-2019 - |
Frage
Es gibt mehrere ähnliche Technologien von Oracle - Oracle Streams, Oracle Change Data Capture und Datenbank-Änderungsmitteilung.
Was sind die Unterschiede zwischen diesen beiden?
Sind sie zu Oracle Advanced Queuing verwandt?
Lösung
Oracle CDC ist über die Änderungen in DB-Tabellen zu erfassen und die Änderungen werden in speziellen Oracle-Tabellen gespeichert. Es gibt zwei Arten des CDC-Betriebes:. Asynchron (basierend auf Java) oder synchron (basierend auf DB-Trigger, mehr Performance-Overhead)
Oracle Streams sitzt oben auf Oracle CDC und es ist ein voller Transportmechanismus (über beispielsweise HTTP) für die Datensynchronisation zwischen zwei Servern. Es basiert auf Oracle Advanced Queues Technologie und es ist für hohe Leistung und Zuverlässigkeit ausgelegt.
Sowohl Oracle CDC und Streams werden für die Datensynchronisation zwischen Oracle DB-Server ... Mit Oracle CDC im Allgemeinen verwendet, müssen Sie Oracle Streams nicht verwenden für z.B. Sie könnten Ihre eigenen Daten-Export-Routinen schreiben, die zum Zweck der Synchronisation zwischen zwei DB-Server Flat-Dateien zu erstellen, während mit Streams Sie eine Netzwerkverbindung zwischen den zwei Servern haben.
Datenbank Change Notification ist wieder etwas anderes, es ist nicht für Server-zu-Server-Synch verwendet wird, sondern mehr für die Server-Benachrichtigung von resultset Änderungen an Kunden, vor allem im Zusammenhang mit dem Datencaches auf der Client-Seite.
Andere Tipps
Ich möchte hinzufügen, dass zwischen den Systemen für die Synchronisierung, Sie asynchronen Modus durch die Kombination von Streams und die CDC-Publishing-Mechanismus erzielen kann. Wenn Sie keine Streams für diesen Zweck zu verwenden, würden Sie einen synchronen Modus am Ende mit (ich glaube, es über Trigger ist) bei jeder Transaktion einen wenig zusätzlichen Aufwand setzen.