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.