Domanda

Esistono diverse tecnologie Oracle simili: Oracle Streams, Oracle Change Data Capture e Notifica di modifica del database.

Quali sono le differenze tra questi?

Sono correlati a Oracle Advanced Queuing?

È stato utile?

Soluzione

Oracle CDC riguarda l'acquisizione di modifiche nelle tabelle DB e le modifiche vengono archiviate in speciali tabelle Oracle. Esistono due modalità di funzionamento del CDC: asincrone (basate su Java) o sincrone (basate su trigger DB, maggior sovraccarico delle prestazioni).

Oracle Streams si trova in cima a Oracle CDC ed è un meccanismo di trasporto completo (ad es. HTTP) per la sincronizzazione dei dati tra 2 server. È basato sulla tecnologia Oracle Advanced Queues ed è progettato per prestazioni elevate e affidabilità.

Sia Oracle CDC che Stream sono generalmente utilizzati per la sincronizzazione dei dati tra server Oracle DB ... Con Oracle CDC, non è necessario utilizzare Oracle Streams per, ad es. potresti scrivere le tue routine di esportazione dei dati che creano file flat ai fini della sincronizzazione tra 2 server DB, mentre con gli stream devi avere un collegamento di rete tra i 2 server.

La notifica di modifica del database è un'altra cosa, non viene utilizzata per la sincronizzazione da server a server ma piuttosto per la notifica da server delle modifiche dei risultati ai client, soprattutto nel contesto delle cache di dati sul lato client.

Altri suggerimenti

Vorrei aggiungere che per la sincronizzazione tra sistemi, è possibile ottenere la modalità asincrona combinando Streams e il meccanismo di pubblicazione CDC. Se scegli di non utilizzare gli stream a questo scopo, finiresti per utilizzare una modalità sincrona (penso che sia tramite i trigger) mettendo un piccolo overhead aggiuntivo su ogni transazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top