Pull Request: Refatoração - Substituição de Arquivos JSON por Armazenamento no MongoDB
Descrição
Esta PR implementa uma refatoração significativa na forma como os dados de resoluções de DNS são armazenados e recuperados no sistema. O armazenamento em arquivos JSON foi substituído por uma abordagem moderna utilizando o MongoDB Atlas, uma solução escalável de banco de dados NoSQL. Essa mudança melhora a robustez, escalabilidade e manutenção do sistema.
Motivação
Limitações do JSON:
O armazenamento em arquivos JSON apresentava limitações em termos de performance, especialmente para grandes volumes de dados ou acessos concorrentes.
Gerenciar arquivos no sistema de arquivos podia levar a inconsistências e problemas em ambientes distribuídos.
Benefícios do MongoDB:
O MongoDB oferece uma solução de banco de dados distribuído e escalável, ideal para os casos de uso do sistema.
A arquitetura baseada em documentos BSON permite consultas mais flexíveis e maior integração com o modelo de objetos do C#.
Principais Alterações
Substituição do Armazenamento:
Arquivos JSON foram eliminados em favor de documentos armazenados em uma coleção do MongoDB (dns_resolutions).
Adicionada integração com o MongoDB Atlas para armazenamento remoto.
Alterações na Classe BetBusiness:
Dados processados agora são salvos como documentos BSON no MongoDB.
Consultas e validações de dados também foram adaptadas para o MongoDB.
Alterações no APIManagerController:
Removida lógica baseada em arquivos locais.
Consultas de dados agora utilizam o repositório MongoDB para buscar documentos diretamente.
Novo Repositório:
Adicionada a classe MongoDbRepository para encapsular a lógica de acesso ao banco de dados MongoDB.
Uso de injeção de dependência para tornar o repositório desacoplado e testável.
Configuração de Variáveis de Ambiente:
A connection string do MongoDB foi movida para um arquivo .env para melhorar a segurança e facilitar a configuração em diferentes ambientes.
Impactos no Sistema
Escalabilidade:
O MongoDB suporta operações concorrentes e grandes volumes de dados, permitindo que o sistema cresça sem gargalos.
Performance:
Melhorias significativas em leitura/escrita devido à eliminação de operações de I/O de arquivos.
Manutenção:
A separação de responsabilidades e a introdução do repositório MongoDB tornam o sistema mais fácil de manter e estender.
Checklist
[x] Dados de resolução armazenados no MongoDB.
[x] Arquitetura baseada em repositório para banco de dados.
[x] Configuração segura via variáveis de ambiente.
[x] Testes realizados para diferentes endpoints.
[x] Documentação e comentários atualizados.
Notas Adicionais
A alteração é retrocompatível no nível da API, mas não no armazenamento. Caso haja necessidade de migração de dados antigos, um script de conversão dos arquivos JSON para MongoDB pode ser desenvolvido.
Pull Request: Refatoração - Substituição de Arquivos JSON por Armazenamento no MongoDB
Descrição
Esta PR implementa uma refatoração significativa na forma como os dados de resoluções de DNS são armazenados e recuperados no sistema. O armazenamento em arquivos JSON foi substituído por uma abordagem moderna utilizando o MongoDB Atlas, uma solução escalável de banco de dados NoSQL. Essa mudança melhora a robustez, escalabilidade e manutenção do sistema.
Motivação
Limitações do JSON:
Benefícios do MongoDB:
Principais Alterações
Substituição do Armazenamento:
dns_resolutions
).Alterações na Classe
BetBusiness
:Alterações no
APIManagerController
:Novo Repositório:
MongoDbRepository
para encapsular a lógica de acesso ao banco de dados MongoDB.Configuração de Variáveis de Ambiente:
.env
para melhorar a segurança e facilitar a configuração em diferentes ambientes.Impactos no Sistema
Checklist
Notas Adicionais
Relacionado