O que é a MongoDB? Archiestrutura, recursos e exemplo

⚡ Resumo Inteligente

MongoDB É um banco de dados NoSQL orientado a documentos, usado para armazenamento de grandes volumes de dados, que utiliza coleções e documentos em vez de tabelas e linhas. Este recurso explica MongoDB Funcionalidades, um exemplo de documento, componentes-chave da arquitetura, razões para utilizá-lo, modelagem de dados e como ele difere de um banco de dados relacional.

  • 📄 Modelo de documento: Os dados são armazenados como documentos de chave-valor dentro de coleções, e não em tabelas.
  • 🧩 Esquema Flexível: Os campos são criados dinamicamente, sem uma estrutura predefinida.
  • ???? Componentes do núcleo: _id, coleção, documento, campo, cursor, banco de dados e JSON.
  • ⚙️ Por que usar: Consultas ad hoc, indexação, replicação e fragmentação para escalabilidade.
  • 🔄 Em comparação com RDBMS: As coleções substituem as tabelas e os documentos incorporados substituem as junções.

O que é a MongoDB

O que é a MongoDB?

MongoDB é um banco de dados NoSQL orientado a documentos usado para armazenamento de dados de alto volume. Em vez de usar tabelas e linhas como nos bancos de dados relacionais tradicionais, MongoDB faz uso de coleções e documentos. Os documentos consistem em pares de valores-chave que são a unidade básica de dados em MongoDBAs coleções contêm conjuntos de documentos e funções, o que é equivalente às tabelas de um banco de dados relacional. MongoDB é um banco de dados que surgiu em meados dos anos 2000.

MongoDB Diferenciais

  1. Cada banco de dados contém coleções que, por sua vez, contêm documentos. Cada documento pode ser diferente, com um número variável de campos. O tamanho e o conteúdo de cada documento também podem variar.
  2. A estrutura do documento está mais alinhada com a forma como os desenvolvedores constroem suas classes e objetos em suas respectivas linguagens de programação. Os desenvolvedores costumam dizer que suas classes não são linhas e colunas, mas têm uma estrutura clara com pares de valores-chave.
  3. As linhas (ou documentos como chamados em MongoDBNão precisam ter um esquema definido previamente. Em vez disso, os campos podem ser criados dinamicamente.
  4. O modelo de dados disponível dentro MongoDB Permite representar relações hierárquicas, armazenar matrizes e outras estruturas mais complexas com maior facilidade.
  5. Global – As MongoDB Os ambientes são altamente escaláveis. Empresas em todo o mundo definiram clusters, alguns com mais de 100 nós e milhões de documentos no banco de dados.

MongoDB Exemplo

O exemplo abaixo mostra como um documento pode ser modelado em MongoDB.

  1. O campo _id é adicionado por MongoDB para identificar exclusivamente o documento na coleção.
  2. O que você pode observar é que os dados do pedido (ID do pedido, produto e quantidade), que em um SGBD relacional normalmente seriam armazenados em uma tabela separada, são na verdade armazenados como um documento incorporado na própria coleção. MongoDBEssa é uma das principais diferenças na forma como os dados são modelados em MongoDB.

MongoDB Exemplo

Principais componentes de MongoDB Archiarquitetura

Abaixo estão alguns dos termos comuns usados ​​em MongoDB:

  1. _id – Este é um campo obrigatório em todos MongoDB documento. O campo _id representa um valor único no MongoDB documento. O campo _id é como a chave primária do documento. Se você criar um novo documento sem um campo _id, MongoDB O campo será criado automaticamente. Por exemplo, se observarmos a tabela de clientes acima, MongoDB Adicionará um identificador único de 24 dígitos a cada documento da coleção.
_Eu ia Identificação do Cliente Nome do cliente Código do pedido
563479cc8a8a4246bd27d784 11 Guru99 111
563479cc7a8a4246bd47d784 22 Trevor Smith 222
563479cc9a8a4246bd57d784 33 Nicole 333
  1. Coleção – Este é um grupoping of MongoDB documentos. Uma coleção é o equivalente a uma tabela criada em qualquer outro SGBD relacional, como... Oracle ou MS SQL. Uma coleção existe dentro de um único banco de dados. Como visto na introdução, as coleções não impõem nenhum tipo de estrutura.
  2. Cursor – Este é um ponteiro para o conjunto de resultados de uma consulta. Os clientes podem iterar através de um cursor para recuperar resultados.
  3. banco de dados – Este é um contêiner para coleções, semelhante a um SGBD relacional, onde é um contêiner para tabelas. Cada banco de dados recebe seu próprio conjunto de arquivos no sistema de arquivos. MongoDB servidor pode armazenar vários bancos de dados.
  4. ISO – Um recorde em MongoDB Uma coleção é basicamente chamada de documento. O documento, por sua vez, será composto por nomes de campos e seus valores.
  5. Campo – Um par nome-valor em um documento. Um documento pode ter zero ou mais campos. Os campos são análogos às colunas em bancos de dados relacionais. O diagrama a seguir mostra um exemplo de campos com pares chave-valor. Assim, no exemplo abaixo, CustomerID e 11 são um dos pares chave-valor definidos no documento.

Principais componentes de MongoDB Archiarquitetura

  1. JSON – Isso é conhecido como JavaScript Notação de objeto. Este é um formato de texto simples legível por humanos para expressar dados estruturados. JSON é atualmente compatível com muitas linguagens de programação.

Apenas uma observação rápida sobre a principal diferença entre o campo _id e um campo de coleção normal. O campo _id é usado para identificar exclusivamente os documentos em uma coleção e é adicionado automaticamente pelo MongoDB quando a coleção é criada.

Por que usar MongoDB?

Abaixo estão alguns dos motivos pelos quais você deve começar a usar MongoDB:

  1. Orientado a documentos - Desde a MongoDB é um NoSQL banco de dados do tipo, em vez de ter os dados em um formato do tipo relacional, ele armazena os dados em documentos. Isto faz MongoDB Muito flexível e adaptável a situações e requisitos do mundo empresarial real.
  2. consultas ad hoc - MongoDB suporta pesquisa por campo, consultas de intervalo e pesquisas de expressão regular. Consultas podem ser feitas para retornar campos específicos dentro de documentos.
  3. Indexação – É possível criar índices para melhorar o desempenho das pesquisas dentro do sistema. MongoDB. Qualquer campo em um MongoDB documento pode ser indexado.
  4. réplica - MongoDB pode proporcionar alta disponibilidade com conjuntos de réplicas. Um conjunto de réplicas consiste em dois ou mais MongoDB Cada membro do conjunto de réplicas pode atuar como réplica primária ou secundária a qualquer momento. A réplica primária é o servidor principal que interage com o cliente e executa todas as operações de leitura/gravação. As réplicas secundárias mantêm uma cópia dos dados da réplica primária usando replicação integrada. Quando uma réplica primária falha, o conjunto de réplicas alterna automaticamente para a réplica secundária, que então se torna o servidor primário.
  5. Balanceamento de carga - MongoDB usa o conceito de fragmentação para escalar horizontalmente, dividindo os dados em vários MongoDB instâncias. MongoDB pode ser executado em vários servidores, equilibrando a carga e/ou duplicando dados para manter o sistema funcionando em caso de falha de hardware.

Modelagem de dados em MongoDB

Como vimos na seção de introdução, os dados em MongoDB tem um esquema flexível. Ao contrário de SQL bancos de dados, onde você deve ter o esquema de uma tabela declarado antes de inserir os dados, MongoDBAs coleções de não impõem a estrutura do documento. Esse tipo de flexibilidade é o que faz MongoDB tão poderoso.

Ao modelar dados em MongoDBLembre-se do seguinte:

  1. Quais são as necessidades da aplicação? – Analise as necessidades de negócio da aplicação e verifique quais dados e tipos de dados são necessários. Com base nisso, assegure-se de que a estrutura do documento seja definida adequadamente.
  2. Quais são os padrões de recuperação de dados? – Se você prevê um uso intenso de consultas, considere a utilização de índices em seu modelo de dados para melhorar a eficiência das consultas.
  3. Estão ocorrendo inserções, atualizações e remoções frequentes no banco de dados? Reconsidere o uso de índices ou incorpore o particionamento (sharding), se necessário, em seu projeto de modelagem de dados para melhorar a eficiência geral. MongoDB ambiente.

Diferença entre MongoDB & RDBMS

Abaixo estão algumas das principais diferenças de termos entre MongoDB e SGBD relacional:

RDBMS MongoDB Diferença
mesa Coleção In RDBMS, a tabela contém as colunas e linhas que são usadas para armazenar os dados, enquanto em MongoDB Essa mesma estrutura é conhecida como coleção. A coleção contém documentos que, por sua vez, contêm campos, que, por sua vez, são pares chave-valor.
Linha ISO No RDBMS, a linha representa um único item de dados estruturado implicitamente em uma tabela. Em MongoDB, os dados são armazenados em documentos.
Coluna Campo No RDBMS, a coluna denota um conjunto de valores de dados. Estes em MongoDB são conhecidos como campos.
Junta Documentos embutidos Em um SGBD relacional, os dados às vezes estão espalhados por várias tabelas e, para exibir uma visão completa de todos os dados, é comum realizar uma junção entre as tabelas para obter os dados. MongoDBOs dados são normalmente armazenados em uma única coleção, mas separados por meio de documentos incorporados. Portanto, não existe o conceito de junções em um banco de dados. MongoDB.

Além das diferenças de terminologia, algumas outras diferenças são apresentadas abaixo:

  1. Os bancos de dados relacionais são conhecidos por impor a integridade dos dados. Este não é um requisito explícito no MongoDB.
  2. O RDBMS exige que os dados sejam normalizado Primeiramente, para evitar registros órfãos e duplicados. A normalização de dados, por sua vez, exige mais tabelas, o que resulta em mais junções de tabelas e, consequentemente, mais chaves e índices. Conforme os bancos de dados crescem, o desempenho pode começar a se tornar um problema. Novamente, isso não é um requisito explícito em MongoDB. MongoDB é flexível e não precisa que os dados sejam normalizados primeiro.

Perguntas Frequentes

MongoDB O Atlas armazena grandes volumes de dados não estruturados e semiestruturados, tornando-o útil para fluxos de trabalho de IA e ML. Seus documentos flexíveis contêm dados de treinamento, conjuntos de recursos e metadados de modelos, e o Atlas adiciona busca vetorial para aplicativos de IA.

Sim. Travas deslizantes portáteis MongoDB O Atlas Vector Search permite armazenar e consultar vetores incorporados juntamente com seus documentos. Isso oferece suporte à busca semântica, recomendações e geração aprimorada de dados para aplicações de IA sem a necessidade de um banco de dados vetorial separado.

MongoDB A Community Edition é gratuita e de código aberto. MongoDB A empresa também oferece o Atlas, um serviço de nuvem gerenciado com um nível gratuito, e a Enterprise Edition, com segurança e suporte avançados, mediante pagamento.

Muitas grandes organizações utilizam MongoDB Ideal para armazenamento de dados flexível e de alto volume, incluindo empresas de comércio eletrônico, jogos, IoT e gerenciamento de conteúdo. Sua escalabilidade por meio de fragmentação e replicação é adequada para aplicações com milhões de documentos.

Resuma esta postagem com: