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:Documentation Index
Fetch the complete documentation index at: https://mongodb-preview.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Pesquisa estruturada baseada em documentos (OLTP)
Agregação de dados
Full text search
Vector Search
Pesquisa geoespacial
Time Series
Arquitetura principal
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.
Banco de dados de documentos
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:- 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.
Transações
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 .
Alta disponibilidade
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.Dimensionamento horizontal
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.