MongoDB é uma ferramenta fantástica para usar em análises em tempo real, porque você pode fazer um pré-join de múltiplas fontes de dados, documentos aninhados e em seguida, consultar esses documentos extremamente rápido. Às vezes, os sistemas utilizados para alimentar o MongoDB estão dentro de um banco de dados Oracle. Então, como é que você pode manter os dados MongoDB consistentes com Oracle e sincronizados em tempo quase real? Oracle Streams Advanced Queuing!
Há toneladas de sistemas Open Source e proprietary queuing que poderiam ser usados, então por que escolher Advanced Queuing (AQ a partir de agora)? O suporte a transações. Com AQ, o enfileiramento e de operações queue acontecem na mesma transação como qualquer outro DML que seu aplicativo Oracle está realizando tornando-se uma maneira muito simples de apenas enfileirar mensagens para unidades de trabalho comprometidos.
O restante deste artigo percorre um exemplo usando uma tabela muito simples de clientes. Queremos documentos no MongoDB atualizados assim que os dados no Oracle forem comitados. O fluxo de dados será algo parecido com isto: