07/08/2020 Eliton Dioni 0Comment

Quando falamos em banco de dados NoSQL com certeza muitos pensam em MongoDB, isso porque ele se tornou uma referência quando se trata de bancos não relacionais. Abaixo falamos um pouco mais sobre o MongoDB e quando devemos utilizá-lo.

Entendendo o MongoDB

MongoDB é um banco de alta performance e gratuito orientado à documentos (falaremos sobre isso a seguir). Por ser um banco de dados não relacional (NoSQL) possui uma grande escalabilidade, bom desempenho e flexibilidade, tornando-se uma excelente escolha em certos casos.

Orientado a Documentos

Os Bancos de Dados orientados a Documentos possuem o conceito de dados e documentos auto contidos e auto descritivos, assim eles podem ser aninhados em hierarquias complexas e serem indexáveis e fáceis de buscar. A característica principal desses bancos é conter todas as informações importantes em um único documento, ser livre de esquemas e possuir identificadores únicos universais, além de possibilitar a consulta de documentos através de métodos de agrupamento e filtragem.

Características e funções do MongoDB

A primeira característica como dito anteriormente é que o MongoDB é orientado a documentos, diferente dos bancos de dados tradicionais que seguem um modelo relacional, isso faz com que ele lide com documentos ao invés de registros onde tudo é representado usando uma abordagem bidimensional (com linhas e colunas). O MongoDB possui alta performance, foi escrito em C++ e é multiplataforma, além de ser representado por uma estrutura BSON, que é baseada no termo JSON e significa “JSON Binário”.

Os documentos são agrupados em collections, e um conjunto de collections forma um database. O MongoDB permite que seu database seja replicado para mais servidores, aumentando assim a disponibilidade de informações, recurso conhecido como replica set. Assim, cada servidor terá uma cópia dos dados. Outro recurso utilizado pelo MongoDB é o sharding, usado para dividir os dados de uma collection entre mais de um servidor. Também temos as capped collections, que são collections com tamanhos pré definidos e com conteúdo rotativo.

Abaixo temos um exemplo de como representamos uma estrutura no Mongo em uma única collection:

{
“id”: “123456”,
“name”: “Darth Vader”,
“description”: “Darth Vader is a fictional character in the Star Wars franchise…”,
“gender”: “Male”,
“spouse”: “Padmé Amidala”
}

Vantagens e Desvantagens do MongoDB

A primeira grande vantagem de utilizar MongoDB é a melhora de performance, já que uma única consulta retorna tudo o que precisamos saber sobre o documento, além das vantagens sobre outros bancos quando precisamos de escalabilidade, flexibilidade, manipulação de quantidade massiva de dados, bom desempenho e facilidade para consultas. As consultas são simples de serem realizadas, pois não existem joins e transações, logo é fácil de escrever e manipular. Além de outras vantagens como o escalonamento com Sharding e sua funcionalidade GridFS que é responsável por armazenar arquivos de grandes dimensões diretamente no banco de dados.

Porém, sobre suas desvantagens, um ponto a ser ressaltado é que quando precisamos alterar todos os registros relacionados a uma unidade semântica é preciso tratar um a um. Mas não podemos deixar de ressaltar que muitas empresas utilizam o MongoDB em projetos e os resultados são satisfatórios, dentre elas podemos citar FourSquare, MailBox (serviço de e-mail do Dropbox), LinkedIn, MTV, Globo.com e muitas outras.

Fica claro que quando se trata de escalabilidade e performance o MongoDB é uma opção muito viável, que tal agora partir para um tutorial prático de como utilizá-lo? Acesse este link e nos vemos lá!

Referências

https://www.devmedia.com.br/introducao-ao-mongodb/30792

https://dzone.com/articles/nosql-concept-and-mongodb

Autor: Eliton Dioni.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *