MongoDB é um sistema de gerenciamento de banco de dados que trabalha com um modelo de dados orientado a documentos. Ao contrário dos bancos de dados relacionais, o MongoDB não requer tabelas, esquemas ou uma linguagem de consulta separada. As informações são armazenadas na forma de documentos ou coleções.
Os desenvolvedores posicionam o produto como um elo intermediário entre o SGBD clássico e o NoSQL. O MongoDB não usa esquemas como os bancos de dados relacionais, o que melhora o desempenho de todo o sistema.
Recursos
O MongoDB possui várias propriedades que o diferenciam de outros produtos:
- Multiplataforma. O SGBD é projetado na linguagem de programação C++, para que possa ser facilmente integrado em qualquer sistema operacional (Windows, Linux, macOS, etc.).
- O formato dos dados. O MongoDB usa seu próprio formato de armazenamento de informações – Binary JavaScript Object Notation (BSON), que é baseado na linguagem JavaScript.
- Documento. Se os bancos de dados relacionais usam strings, o MongoDB documenta que armazenam valores e chaves.
- O MongoDB usa Coleções em vez de tabelas. Eles contêm diferentes tipos de conjuntos de dados
- Replicação. O sistema de armazenamento de informações no SGBD é representado por nós. Há um principal e muitos secundários. Os dados são replicados entre pontos. Se um nó primário falhar, o nó secundário se tornará o nó principal.
- Indexação. A tecnologia é aplicada a qualquer campo do documento a critério do Usuário. As informações indexadas são processadas mais rapidamente.
- Para salvar dados de grande porte, o MongoDB usa sua própria tecnologia GridFS, composta por duas coleções. O primeiro (arquivos) contém os nomes dos arquivos e metadados neles. O segundo (pedaços) armazena segmentos de informações cujo tamanho não excede 256 KB.
- O SGBD procura consultas especiais. Por exemplo, um usuário pode criar uma consulta de intervalo e receber uma resposta instantânea.
- Um balanceador de carga é usado em um SGBD não apenas para distribuir a carga entre diferentes bancos de dados, mas também para dimensionamento horizontal. Os segmentos de banco de dados são distribuídos em diferentes nós, o que melhora o desempenho. Ao mesmo tempo, os bancos de dados localizados em nós diferentes são sincronizados entre si e garantem a integridade das informações para o cliente.
- O MongoDB pode ser entregue ao cliente final como uma solução em nuvem.
O DBMS é usado para armazenar eventos no sistema (logging), registrar informações de sensores de monitoramento na empresa, bem como no campo de E-commerce e aplicativos móveis. O MongoDB é frequentemente usado como um repositório no campo de aprendizado de máquina e inteligência artificial.
O MongoDB pertence à classe DBMS NoSQL e trabalha com documentos, não com registros. É um produto multiplataforma que pode ser facilmente implementado em qualquer sistema operacional. Vários recursos exclusivos permitem que você use um SGBD para tarefas específicas nas quais ele fornece desempenho e confiabilidade máximos.