Menu Docs
Página inicial do Docs
/

O que é o MongoDB?

O MongoDB é um banco de dados de documento projetado para ajudar os desenvolvedores a criar aplicativos modernos com mais rapidez. Ele armazena dados em documentos flexíveis semelhantes a JSON, facilitando a modelagem de dados da mesma forma que o código do aplicação os utiliza. O esquema flexível permite que você evolua seu modelo de dados sem tempo de inatividade, itere de forma rápida e manipule facilmente dados não uniformes.

O MongoDB oferece um mecanismo de query eficiente, dimensionamento horizontal e alta disponibilidade integrada para que você possa oferecer suporte a tudo, de prototiagem rápida a volumes de trabalho grandes e críticos.

O MongoDB é um banco de dados operacional totalmente transacional que oferece suporte a uma ampla variedade de tipos de volume de trabalho, incluindo:

  • Pesquisa estruturada baseada em documentos (OLTP)

  • agregação de dados

  • Full text search

  • Vector Search

  • Pesquisa geoespacial

  • Time Series

O MongoDB é baseado em vários componentes de arquitetura principais que o distinguem dos bancos de dados relacionais:

  • Banco de dados de documentos: o modelo flexível de dados de documento permite mapear seus dados de acordo com as necessidades do seu aplicativo.

  • Transações: as transações ACID de vários documentos permitem operações complexas que exigem consistência de dados.

  • Alta disponibilidade: a replicação e o failover automático garantem que seus dados estejam sempre disponíveis.

  • Dimensionamento horizontal: o compartilhamento permite o dimensionamento horizontal para lidar com grandes conjuntos de dados e alta taxa de transferência.

Um registro no MongoDB é um documento, que é uma estrutura de dados composta de pares de campos e valores. Os documentos MongoDB são semelhantes aos objetos JSON . Os valores dos campos podem incluir outros documentos, matrizes e matrizes de documentos.

O modelo de dados flexível orientado a objetos do MongoDB permite estruturar dados de uma forma que espelhe os modelos de objeto em sua base de código. Isso elimina a necessidade do mapeamento complexo objeto-relacional exigido ao usar bancos de dados relacionais.

Aqui está um exemplo de um documento MongoDB que mostra como os documentos podem expressar dados complexos e hierárquicos em um formato que espelha o modelo de objetos do seu aplicativo:

{
_id: ObjectId("507f1f77bcf86cd799439011"),
name: "Alice",
birthdate: ISODate("1990-01-01T00:00:00Z"),
address: {
street: "123 Main St",
city: "Springfield",
state: "IL"
},
hobbies: ["reading", "hiking", "coding"]
}

As vantagens adicionais do modelo de dados de documento são:

  • Os documentos correspondem a tipos de dados nativos em linguagens de programação.

  • Documentos e matrizes incorporados reduzem a necessidade de junções dispendiosas que podem diminuir o desempenho.

  • Os esquemas dinâmicos suportam o polimorfismo, que permite estruturas diversas entre documentos na mesma collection.

O MongoDB armazena documentos em Coleções. As coleções são semelhantes às tabelas relacionais, mas não impõem um esquema rígido e predefinido.

Além das collections, o MongoDB oferece suporte a visualizações somente leitura.

O MongoDB oferece suporte a transações de vários documentos, que permitem executar várias operações de leitura e gravação como um único evento de tudo ou nada.

As principais funcionalidades da transação incluem:

  • Garantias ACID : as transações fornecem atomicidade, consistência, isolamento e durabilidade em várias operações.

  • Operações de vários documentos: você pode executar operações complexas que abrangem vários documentos enquanto mantêm a consistência dos dados.

  • Transações distribuídas: você pode coordenar transações em clusters fragmentados com as mesmas garantias ACID .

Para saber mais, consulte Transações.

O mecanismo de replicação integrado do MongoDB oferece failover automático, redundância de dados e maior capacidade de leitura. Com o failover automático, se o servidor primário ficar indisponível, o cluster elegerá automaticamente um novo primário, o que garante que as gravações permaneçam disponíveis. Além disso, várias cópias de seus dados são armazenadas em diferentes servidores para melhorar a durabilidade dos dados.

O MongoDB suporta nativamente a escalabilidade horizontal por meio de uma técnica chamada Fragmentação.

Os principais recursos de fragmentação incluem:

  • Distribuiçãoautomática de dados: o MongoDB particiona automaticamente os dados com base em uma chave de shard e os distribui por um cluster de máquinas.

  • Fragmentação de zona: você pode definir zonas geográficas para controlar a colocação de documentos com base em intervalos de chaves de shard.

  • Refinamento da chave de shard: você pode refinar sua chave de shard para melhorar o desempenho à medida que seu aplicação desenvolve.

Próximo

Documentos

Nesta página