Qual é a diferença entre Oracle Streams e Change Data Capture?
-
07-07-2019 - |
Pergunta
Existem várias tecnologias Oracle semelhantes - Oracle Streams, captura o Oracle Change Data e banco de dados Change Notification.
Quais são as diferenças entre eles?
Eles estão relacionados com a Oracle Advanced Queuing?
Solução
A Oracle CDC é toda sobre a captura de alterações em tabelas de banco de dados e as alterações são armazenadas em tabelas especiais Oracle. Existem dois modos de operação CDC:. Assíncrona (baseado em Java) ou síncrona (baseado em gatilhos DB, mais sobrecarga de desempenho)
Oracle Streams senta em cima da Oracle CDC e é um mecanismo de transporte completo (sobre, por exemplo, HTTP) para a sincronização de dados entre 2 servidores. É baseado em tecnologia Oracle Filas avançadas e é projetado para alto desempenho e confiabilidade.
Tanto a Oracle CDC e Streams são geralmente utilizados para a sincronização de dados entre servidores banco de dados Oracle ... Com o Oracle CDC, você não tem que usar o Oracle Streams para, por exemplo, você poderia escrever suas próprias rotinas de exportação de dados que criam arquivos simples para fins de sincronização entre 2 servidores DB, enquanto que com Streams é necessário ter uma ligação de rede entre os 2 servidores.
Banco de dados Change Notification é outra coisa, não é usado para sincronização de servidor para servidor, mas em vez mais para a notificação do servidor de mudanças ResultSet para os clientes, principalmente no contexto de caches de dados no lado do cliente.
Outras dicas
Gostaria de acrescentar que para a sincronização entre sistemas, você pode conseguir o modo assíncrono, combinando Streams e o mecanismo de publicação de CDC. Se você optar por não usar Streams para este fim, você iria acabar usando um modo síncrono (eu acho que é por meio de gatilhos) colocando um pouco de sobrecarga extra em cada transação.