High-Concurrency Financial Reconciliation Pipeline
Dado financeiro de alta transacionalidade, ingerido em lotes de até 50 mil registros 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.
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.
Precisa reconciliar dado financeiro de alta transacionalidade sem perder registro? Vamos desenhar esse pipeline no seu contexto.
Falar sobre seu caso