Case:
MongoDB em sharding suportando 8 mil escritas por segundo com replicação dos dados entre os nós utilizando criptografia e certificado digital

Setor: Financeiro

Tecnologias:

Sobre o cliente

Criada em 1861, a CAIXA é uma empresa 100% pública e não é apenas um banco, mas também o agente responsável pelos programas sociais do Governo Federal como o Fundo de Garantia do Tempo de Serviço (FGTS), o Programa de Integração Social (PIS), o Seguro-Desemprego, o Bolsa Família e, também, pelas unidades lotéricas. A Caixa está na vida dos brasileiros uma vez que prioriza setores como habitação, saneamento básico, infraestrutura e prestação de serviços, contribuindo significativamente para melhorar a vida das pessoas, principalmente as de baixa renda.

  • Sobre o projeto
  • Desafios na implantação
  • Solução implementada
  • Benefícios e resultados

Havia a necessidade de rodar análises estatísticas dos dados (boletos pagos) que eram armazenados em uma grande base de dados SQL; porém - devido ao grande volume - o servidor não tinha capacidade de processamento para armazenar os documentos recebidos e fazer as análises simultaneamente. O objetivo era gerar relatórios diários e de forma rápida sobre os milhões de boletos pagos diariamente de forma a não causar impacto nos ambientes de produção, evitando a concorrência de acesso às bases de dados.

Qualquer nova solução a ser implementada na Caixa já é um desafio por si só: devido aos volumes e ao legado de mais de 180 anos de história. Neste projeto:

  • Por questões de segurança o tráfego de dados precisavam ser criptografados entre as máquinas.
  • Era necessário fazer um redimensionamento de cotas que já estavam configuradas no storage
  • Os processos complexos, burocráticos e necessários da governança de TI, que é muito atuante dentro de instituições financeiras devido ao compliance;

Solução Implementada

A solução foi o uso de um banco de dados noSQL que passou a receber simultaneamente os mesmos dados da base SQL através de uma réplica em tempo real para que nele fossem feitas as análises estatísticas, não afetando a performance dos sistemas de produção que buscam os dados no banco de dados SQL. Desta forma foi implementado um cluster de MongoDB em sharding , para atender os requisitos de alta disponibilidade, onde as transações entre os nós era feito através de certificado digital e criptografia, para atender o compliance de segurança.

  • Com o banco de dados MongoDB, atingiu-se uma performance superior as 8 mil requisições de escrita por segundo demandadas pelo projeto.
  • As buscas abertas dentro de uma base com 1 bilhão de documentos passaram a ser respondidas em questão de segundos.
  • O banco de dados SQL continua sendo usado como banco de dados de produção em sintonia com o banco noSQL.
  • O uso da versão community do MongoDB deu agilidade ao processo de implantação. Não haveria tempo para um processo licitatório.
small_c_popup.png

Quer receber todos os cases da 4Linux em formato de e-book?

Ele pode servir de inspiração ou rumo para o seu próximo projeto utilizando software open source.

Ao clicar em enviar você estará de acordo com nossa Política de Privacidade e Termos LGPD.