Banco de dados

Banco de dados não-relacional (NoSQL) com MongoDB

O MongoDB é um banco dados orientado a documentos sendo utilizado em soluções de mercado que possuem como principal requisito trabalhar com um grande volume de dados, porém, através de uma estrutura de dados que possa ser enxuta, sendo capaz de escalar horizontalmente de forma rápida se mostrando assim um banco de fácil utilização e recomendado por desenvolvedores e DBAs, principalmente para projetos que utilizam linguagens modernas.

Como podemos te ajudar na adoção/gestão do MongoDB

Consultoria para definição e dimensionamento da arquitetura MongoDB contemplando as soluções mais adequadas às necessidades do cliente.

Consultoria focada na avaliação de um ambiente já existente para propor melhorias que visem otimizar a performance do ambiente.

Consultoria focada na análise de um problema/dificuldade específica, a fim de identificar a causa raiz e encontrar as contramedidas necessárias.

Implantação de ambientes altamente disponíveis e performáticos, através de clusters redundantes e escaláveis em ReplicaSet e Sharding.

Tunning/Hardening, para garantir que a plataforma esteja em conformidade com as boas práticas de segurança e performance.

Monitoramento da estrutura com as principais ferramentas Open Source do mercado como: Zabbix, Prometheus, Grafana e Graylog.

Arquitetura Típica de um ambiente Sharding MongoDB

Os ambientes MongoDB construídos em Sharding são amplamente utilizadas para cenário que exigem alta escala para atender grandes quantidades de operações de gravação. Uma arquitetura típica de Sharding, pode ser apresentada na imagem ao lado, sendo composta de 3 elementos chaves: MongoS, ConfigServer e Sharding. 

O MongoS pode ser comparada a um router de conexão, sendo capaz de receber diversas requisições e realizar a consulta de forma transparente para as aplicações que o utilizam. Assim que uma query é processada pelo MongoS os metadados são consultados no ConfigServer. Esse último guarda a localização dos dados dentro do conjunto de servidores do Sharding Set.

Assim que o MongoS identifica onde um determinado documento está entre os Shards, ele encaminha a consulta diretamente para o Shard que possui o dado. Cada Shard é responsável por um conjunto de documentos de uma collection, o ambiente utiliza um balancer interno capaz de distribuir tais documentos em blocos – chamados chunks. Desta forma os dados são completamente distribuídos na rede de forma que as operações de leitura e escrita possam ser distribuídas facilmente entre os Shards.

Ambientes com Sharding possuem estruturas destinadas para alta disponibilidade de cada componente, Shard e ConfigServer, possuindo um conjunto de máquinas que replicam essas configurações constantemente, o ReplicaSets, que podem ser estendido para até 50 servidores. Neste tipo de ambiente a segurança nunca é deixada de lado, como podemos ilustrar na imagem, toda comunicação é mantida via Certificados assinados por uma CA interna. Dessa maneira somente as máquinas que possuem o certificado poderão participar do ambiente.

Confie na 4Linux

Desde 2001 focada em Linux e Open Source. Seja na versão ‘Community’ ou na versão ‘Enterprise’ possuímos consultores experientes e com as principais certificações profissionais do mundo open source.

Entendemos claramente a necessidade do cliente e entregamos o que prometemos.

Serviços além da implantação

Mentoring

Capacitamos a equipe com mentoring durante a execução do projeto ou treinamentos in-company.

Banco de Horas

Flexibilidade para cenários ainda em definição (backlog). As horas não utilizadas podem ser convertidas em treinamentos.

Pronto para transformar sua infraestrutura de TI com os benefícios do open software?

Preencha o formulário.

Fale com um especialista 4Linux!

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.