Banco de dados NoSQL MongoDB

O MongoDB é um banco de dados do tipo Documento (Document Store) que utiliza JSON (JavaScript Object Notation) como formato de dados.

Os bancos de dados NoSQL são definidos pela forma como armazenam os dados internamente, podendo ser: Documents, Graphs, Key-value pairs ou Wide Column.

O banco de dados do tipo ‘Documents’ é um dos tipos mais versáteis que temos no mundo NoSQL, possuindo um schema definido como flexível que permite que os registros e documentos possuam campos com diferentes tipos e em diferentes quantidades sem a existência de um schema fixo. Tais documentos são definidos em formato JSON, utilizando conceitos próximos do modelo Orientado a Objetos onde o objeto aqui equivaleria a um documento. Novos campos podem ser adicionados facilmente, permitindo uma rápida evolução da aplicação em desenvolvimento. Exemplos: MongoDB e CouchDB.

O MongoDB não possui um schema definido assim como os bancos de dados relacionais, mas isso não quer dizer que ele não possui qualquer schema. O que temos no MongoDB é um schema flexível, que permite a criação de documentos livremente, adicionando novos campos conforme a demanda do desenvolvimento da aplicação, agilizando justamente esse processo. Mas caso necessário o MongoDB pode ser configurado para garantir que campos e tipos de dados sejam definidos, para isso fazendo uso de validators que podem ser criados em uma collection. O MongoDB suporta diversos tipos de índices: unique, compound, hash, range, text e geospatial. Para criação de consultas complexas podemos utilizar o processo aggregate que implementa um conceito de pipeline de tratamento de informações. Nesse processo podemos gerar estatísticas e informações de análise do conjunto de dados.

Algumas das características mais importantes do MongoDB são:

  • Schema flexível;
  • Índices;
  • Aggregation;
  • Suporte a replicação;
  • Escalonável Horizontalmente (Sharding);
  • Orientado a Documentos;
  • Utiliza formatos JSON e BSON;
  • Transaction e Multi-Document ACID Transaction para ReplicaSet e Sharding

ReplicaSet

A ReplicaSet no MongoDB é um grupo de servidores que mantêm o mesmo conjunto de dados, fornecendo redundância e alta disponibilidade e é a base para todas as implementações de produção. A replicação fornece redundância e aumenta a disponibilidade dos dados.

Sharding

O Sharding é um método para particionamento de dados em vários servidores. O MongoDB usa o recurso de sharding para suportar implantações com conjuntos de dados muito grandes e muitas operações I/O.

Os sistemas de banco de dados com grandes conjuntos de dados ou aplicações que utilizam muitas operações I/O podem esgotar a capacidade de um único servidor. Por exemplo, altas taxas de consulta podem esgotar a capacidade da CPU do servidor e reduzir a performance do banco. Com o sharding esse processamento pode ser distribuído em vários servidores melhorando a performance da aplicação.

Você gostou deste artigo?

Veja outros que temos:

Fique por dentro das novidades:

Conheça nosso blog, com diversos artigos técnicos

Fique por dentro das novidades relacionadas aos softwares open source usado em nossas soluções.
Imagem de uma pessoa na frente do computador

Conheça o mundo open source.

Faça nossos cursos starter, todos com certificado de conclusão!

Somos especialistas em implementar soluções em Banco de Dados 

Desde a definição de arquitetura, planejamento de capacidade até o mentoring da equipe.
plugins premium WordPress
Telegram logo
Whatsapp Logo

Temos um presente para você!

Você ganhou totalmente gratuito um curso da categoria Starter da 4Linux! São 9 opções de cursos para você escolher!

Cursos com 20h de conteúdo prático e certificado de conclusão para você dar uma upgrade na sua carreira.

Preencha o formulário abaixo e você receberá em até 24hs o email com os dados de acesso ao conteúdo: