O MongoDB é um banco de dados NoSQL de código aberto, altamente escalável e flexível. Ele difere dos bancos de dados relacionais tradicionais, como o MySQL, ao armazenar dados em documentos JSON em vez de tabelas. Neste glossário, vamos explorar os elementos essenciais do MongoDB e entender como eles funcionam.
1. Documentos
Os documentos são a unidade básica de armazenamento no MongoDB. Eles são estruturados como objetos JSON e podem conter qualquer número de campos. Cada documento é identificado por um campo chamado “_id”, que é único em uma coleção.
2. Coleções
As coleções são agrupamentos lógicos de documentos no MongoDB. Elas são análogas às tabelas em bancos de dados relacionais. As coleções não impõem um esquema fixo, o que significa que os documentos em uma coleção podem ter estruturas diferentes.
3. Bancos de Dados
Os bancos de dados no MongoDB são contêineres para coleções. Cada banco de dados pode ter várias coleções e é identificado por um nome exclusivo. Os bancos de dados são independentes uns dos outros e podem ser acessados por diferentes usuários com diferentes permissões.
4. Índices
Os índices no MongoDB são usados para melhorar o desempenho das consultas. Eles são semelhantes aos índices em bancos de dados relacionais e podem ser criados em um ou mais campos de uma coleção. Os índices aceleram a busca e a classificação de documentos.
5. Consultas
As consultas no MongoDB são usadas para recuperar documentos de uma coleção. Elas são escritas em uma linguagem de consulta chamada MongoDB Query Language (MQL). As consultas podem ser filtradas com base em critérios específicos e podem retornar um ou mais documentos.
6. Atualizações
As atualizações no MongoDB são usadas para modificar documentos existentes em uma coleção. Elas podem ser usadas para adicionar, modificar ou remover campos de um documento. As atualizações podem ser aplicadas a um único documento ou a vários documentos que correspondem a um critério de consulta.
7. Exclusões
As exclusões no MongoDB são usadas para remover documentos de uma coleção. Elas podem ser aplicadas a um único documento ou a vários documentos que correspondem a um critério de consulta. As exclusões são permanentes e não podem ser desfeitas.
8. Agregações
As agregações no MongoDB são usadas para realizar operações de análise de dados em documentos de uma coleção. Elas permitem combinar, filtrar, agrupar e transformar dados de várias maneiras. As agregações são escritas usando a Aggregation Pipeline, que é uma sequência de estágios de processamento.
9. Transações
As transações no MongoDB são usadas para garantir a consistência dos dados em operações que envolvem várias coleções ou bancos de dados. Elas permitem que um conjunto de operações seja tratado como uma unidade atômica, garantindo que todas as operações sejam concluídas com sucesso ou que nenhuma delas seja aplicada.
10. Replicação
A replicação no MongoDB é usada para garantir a disponibilidade e a durabilidade dos dados. Ela envolve a criação de cópias dos dados em vários servidores, chamados de membros de um conjunto de réplicas. Se um membro falhar, outro membro pode assumir automaticamente.
11. Particionamento
O particionamento no MongoDB é usado para distribuir os dados em vários servidores, chamados de fragmentos. Ele permite que um banco de dados cresça além dos limites de um único servidor. O particionamento é transparente para os aplicativos e é gerenciado pelo próprio MongoDB.
12. Sharding
O sharding é o processo de particionamento e distribuição dos dados em um cluster de servidores MongoDB. Ele permite que grandes volumes de dados sejam distribuídos em vários servidores, melhorando o desempenho e a escalabilidade. O sharding é gerenciado pelo MongoDB e é transparente para os aplicativos.
13. Segurança
A segurança no MongoDB é implementada por meio de autenticação e autorização. A autenticação garante que apenas usuários autorizados possam acessar o banco de dados, enquanto a autorização controla as permissões de cada usuário. O MongoDB também suporta criptografia de dados em trânsito e em repouso.