Engenharia de Dados

High-Concurrency Financial Reconciliation Pipeline

A carga no banco processa lotes de até 50 mil registros por vez. Dado financeiro de alta transacionalidade, ingerido por um pipeline híbrido: uma via de API quase em tempo real, guiada por high-water mark, e uma via diária que baixa CSV e faz anti-join contra o banco pra recuperar lacuna invisível à API (offset drift de paginação). A extração roda em arquitetura producer-consumer com fila limitada, e o checkpoint fica por página, não por dia, pra retomar do ponto exato de interrupção depois de qualquer falha. O backfill histórico roda num processo procedural estritamente sequencial, isolado da ingestão em produção.

python postgresql
High-Concurrency Financial Reconciliation Pipeline - diagrama de arquitetura
Arquitetura do sistema

Estudo de caso

Problema

O sistema de origem devolvia timestamp inconsistente, omitia metadado crítico e sofria offset drift na paginação — registro sumindo ou duplicando sem aviso. A ingestão em tempo real, rodando a cada minuto, entrava em contenção de lock com a carga histórica, esgotava o pool de conexões e travava escrita.

Solução

Modelo híbrido: a API cobre ingestão quase em tempo real via high-water mark, e uma rotina diária baixa o relatório consolidado em CSV e roda um anti-join contra o banco pra preencher exatamente a lacuna que a API deixou passar. A arquitetura producer-consumer, com fila limitada, desacopla a chamada HTTP da escrita em banco; o checkpoint fica gravado por página em JSONB, então uma falha retoma do ponto exato. O backfill roda em processo procedural sequencial, um dia de cada vez, sessão única, o que elimina a condição de corrida que uma abordagem concorrente causaria. Índice novo nasce com CONCURRENTLY pra não bloquear escrita em produção, e a carga usa COPY, tabela temporária e UPSERT, com deduplicação em memória por chave primária antes de cada lote de até 50 mil registros.

Impacto

Backfill histórico completo do ativo de maior volume desde a origem da fonte, com a camada CSV recuperando sozinha a lacuna que a API jamais capturaria. O pipeline funcionou como livro-razão de transição do sistema financeiro até a migração completa pra plataforma definitiva, sendo desativado depois de cumprir seu papel.

Tem um caso parecido? Vamos desenhar a arquitetura que prova o resultado no seu contexto.

Falar sobre seu caso