oracle cdc advanced-queuing change-data-capture oracle-streams

¿Cuál es la diferencia entre Oracle Streams y Change Data Capture?



cdc advanced-queuing (2)

Oracle CDC se trata de capturar cambios en las tablas de bases de datos y los cambios se almacenan en tablas especiales de Oracle. Hay dos modos de operación de CDC: asíncrono (basado en Java) o síncrono (basado en activadores de DB, más sobrecarga de rendimiento).

Oracle Streams se encuentra en la parte superior de Oracle CDC y es un mecanismo de transporte completo (por ejemplo, HTTP) para la sincronización de datos entre 2 servidores. Está basado en la tecnología Oracle Advanced Queues y está diseñado para brindar alto rendimiento y confiabilidad.

Tanto Oracle CDC como Streams se utilizan generalmente para la sincronización de datos entre los servidores Oracle DB ... Con Oracle CDC, no tiene que usar Oracle Streams para, por ejemplo, puede escribir sus propias rutinas de exportación de datos que crean archivos planos con el fin de sincronización entre servidores de 2 DB, mientras que con Streams debe tener un enlace de red entre los 2 servidores.

La notificación de cambio de base de datos es otra cosa, no se usa para sincronizar servidor a servidor, sino más bien para la notificación al servidor de los cambios en los conjuntos de resultados a los clientes, principalmente en el contexto de cachés de datos en el lado del cliente.

Existen varias tecnologías de Oracle similares: Oracle Streams, Oracle Change Data Capture y Database Change Notification. ¿Sabes cuál es la diferencia entre esos? ¿Están relacionados o Oracle Advanced Queuing?


Agregaría que para sincronizar entre sistemas, puede lograr el modo asíncrono combinando Streams y el mecanismo de publicación CDC. Si eliges no usar Streams para este propósito, terminarías usando un modo síncrono (creo que es a través de disparadores) poniendo un poco de sobrecarga adicional en cada transacción.