Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

OLAP e OLTP bancos

Quando vou aplicar os conceitos de OLAP e OLTP, eu faço em bancos de dados separados.

Portanto em uma empresa eu teria algo do tipo:

OLTP - Um banco NoSQL hospedado em alguma nuvem tipo AWS

OLAP - Um banco SQL hospedado em outra nuvem como o AZURE.

De tempos em tempos eu vou precisar pegar os dados do OLTP e mandar para o OLAP, fazendo todo o processo de ELT. Isso pode gerar problemas no banco OLTP, qual o melhor momento para ser feito esse tipo de transação?

1 resposta
solução!

Ei, Pedro! Tudo bem?

Sua linha de raciocínio sobre a plicação de OLAP e OLTP em banco de dados separados está no rumo certo. Em muitos cenários de produção, realmente existe um ambiente OLTP responsável pelas operações do dia a dia e um ambiente OLAP dedicado às análises e relatórios.

Também é comum que esses ambientes utilizem tecnologias diferentes. Por exemplo, um banco NoSQL para o sistema transacional e um banco SQL ou um Data Warehouse para consultas analíticas. Eles podem estar na mesma nuvem ou em provedores diferentes, dependendo da arquitetura adotada.

E a sincronização dos dados, o objetivo é que a extração interfira o mínimo possível no ambiente OLTP. Para isso, existem algumas estratégias bastante utilizadas:

  • Replica de leitura (Read Replica): as consultas para extração são feitas em uma réplica do banco, reduzindo a carga sobre a instância principal.
  • CDC (Change Data Capture): captura apenas as alterações realizadas desde a última sincronização, evitando leituras completas das tabelas.
  • Processamento incremental: transfere apenas os registros novos ou modificados, tornando o processo mais eficiente.
  • Streaming de eventos: ferramentas como Apache Kafka permitem que os dados sejam enviados quase em tempo real para o ambiente analítico, reduzindo a necessidade de cargas periódicas.

O fluxo abaixo representa uma arquitetura bastante comum:

OLTP -> CDC -> ELT -> Data Warehouse -> OLAP

Esse fluxo representa uma arquitetura em que o OLTP continua atendendo às transações da aplicação, o CDC identifica apenas as mudanças realizadas, o processo de ELT carrega essas alterações para o Data Warehouse e o ambiente OLAP executa as consultas analíticas sem impactar o banco transacional.

Quando não há mecanismos como CDC ou streaming, muitas empresas agendam as cargas em horários de menor utilização do sistema, como durante a madrugada ou em períodos com menos acessos. Já em aplicações que exigem análises quase em tempo real, é mais comum utilizar replicação ou plataformas de mensageria para minimizar qualquer impacto no banco transacional.

Hoje, arquiteturas modernas de dados procuram evitar grandes cargas completas sempre que possível. A tendência é utilizar processos incrementais, replicação ou captura de mudanças, pois essas abordagens oferecem melhor desempenho e escalabilidade.

Conteúdos para complementar seus estudos
Esse conteúdo pode estar em inglês, para traduzi-lo utilize o tradutor automático do navegador ou clique com o botão direito do mouse sobre a página e selecione a opção Traduzir para o português.
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!