O MongoDB é um banco de dados distribuído de propósitos gerais baseado em documentos, que é um produto que se encontra entre um banco de dados relacional e um banco de dados não relacional (NoSQL). Ele é o mais rico em recursos e mais parecido com um banco de dados relacional entre os bancos de dados não relacionais.
Um exemplo de um documento MongoDB
{
"_id": "5cf0029caff5056591b0ce7d",
"firstname": "Jane",
"lastname": "Wu",
"address": {
"street": "1 Circle Rd",
"city": "Los Angeles",
"state": "CA",
"zip": "90404"
},
"hobbies": ["surf", "codificação"]
}
Nada de especial, apenas um pedaço de dados JSON. Os dados do documento armazenados no MongoDB são semelhantes a estes dados JSON. Devido ao armazenamento de dados JSON, o formato de dados armazenados no MongoDB é muito flexível. Ao contrário do MySQL, que deve ter uma estrutura de tabela fixa, isso significa que você pode adicionar ou excluir campos a qualquer momento, e a velocidade também é muito rápida.
Dica: Se o seu negócio não tem altos requisitos para transações complexas, junções e consistência de dados, e você simplesmente busca leitura e gravação de dados rápidas, alta concorrência, formatos de armazenamento flexíveis e livres, e não precisa definir estruturas de tabelas com antecedência, o MongoDB é uma boa escolha.
Características do MongoDB
Alta performance
O MongoDB fornece persistência de dados de alta performance. Em particular,
- Usar um modelo de dados incorporado pode reduzir as operações de E/S do sistema de banco de dados.
- Ele suporta indexação, então a eficiência da consulta é muito alta, e os campos indexados podem ser campos de documentos incorporados ou chaves de arrays.
Linguagem de consulta rica
O MongoDB suporta um conjunto rico de expressões de consulta para atender a vários cenários de consulta de negócios.
Suporte a consultas geoespaciais
Para negócios O2O e negócios relacionados à localização, são necessárias consultas geoespaciais frequentes, como consultar lojas próximas, pessoas próximas, ou determinar se você está em um distrito comercial. Tudo isso requer suporte para recuperação geoespacial.
Alta disponibilidade
O conjunto de réplicas do MongoDB oferece:
- Failover automático
- Redundância de dados
Um conjunto de réplicas é um grupo de instâncias mongod que mantêm o mesmo conjunto de dados, proporcionando redundância de dados e suporte de alta disponibilidade.
Escalabilidade horizontal
O MongoDB suporta escalabilidade horizontal. Ao usar shard, os dados são distribuídos por um cluster de máquinas.