Como migramos dados near real time do MongoDB?

Andre Luis Florencio da Silva
OPANehtech
Published in
2 min readMar 30, 2022

Eu sei, eu sei… Buzzword, near real time, pra começarmos com o pé direito vamos só ficarmos com o mesmo entendimento sobre ela.

Real-time — Informações processadas imediatamente. 🛵

Near real-time — Velocidade é importante mas não precisam ser imediatamente, aceitável que demore alguns poucos minutos. 🚗

Sem tempo né? Então vamos direto ao ponto, aqui vamos falar sobre o serviço utilizado, recurso e tipo de conexão.

Serviço

Optamos por utilizar um serviço da AWS chamado AWS DMS e neste serviço olhamos para como origem do dado o MongoDB.

Dica: Este serviço conecta com vários tipos de origens e destino diferentes, portanto pode ser um acelerador para seu cenário de migração de dados.

Recurso

Neste tópico vamos abordar dois recursos, sendo o primeiro chamado CDC e o outro chamado Change Streams.

CDC — Change data capture (CDC) refere-se ao processo de identificação e captura de alterações feitas nos dados em um banco de dados e, em seguida, envio dessas alterações em tempo real 🕵️‍♀️

Change Stream — Recurso do MongoDB que notifica em tempo real alterações no dado do banco.🕵️‍♀️

Simplificando, fazemos a migração dos via CDC usando o AWS DMS em um MongoDB onde tenham o Change Stream habilitado.

Dica: Aqui no Pan utilizamos bastante esses recursos e de quebra o DMS particiona do dado que está ingerindo, permitido uma reduzirmos para quase segundos a diferença entre o dado ser gerado vs disponível para consumo. ❤

Tipo de Conexão

Quando se conecta o DMS com o MongoDB existe uma configuração que é modo de migração dos dados do MongDB.

Tabela

Neste modo o AWS DMS vai tentar transformar seu dado que está em formato json para um modelo colunar. Todos os campos, sem exceção.

Dica: Já tivemos problemas aqui de não reconhecer algumas colunas

Documento

Quanto este modelo o AWS DMS também vai tentar transformar o seu json em um modelo colunar, porém apenas em duas colunas, abordagem aqui é:

  • Primeira coluna é o ID do MongoDB
  • Segunda coluna é todo o evento.

Dica: Para os dados brutos de ingestão de dados para a nossa plataforma de dados, de forma majoritariamente olhamos para esse modelo

Bônus

Quer saber mais sobre a carreira de dados no PAN e a jornada de capacitação?

Estamos um bootcamp com inscrições abertas, aproveite para conferir, quem sabe o próximo artigo seja o seu?

Inscrições: https://www.igti.com.br/bootcamp/diversidata-tech-pan

Isso é tudo pessoal, até a próxima .

--

--