Bancos de dados de documentos são uma classe de bancos de dados não relacionais (bancos de dados NoSQL). Bancos de dados de documentos armazenam dados relacionados em um formato de documento. Eles são usados para projetar, consultar e armazenar os dados em um formato de documento (documento JSON, XML, YAML ou formatos binários como BSON e PDF). O software é usado para armazenar, recuperar e gerenciar informações orientadas a documentos, também conhecidas como dados semiestruturados. Softwares de bancos de dados de documentos, também conhecidos como softwares de bancos de dados orientados a documentos, são uma subclasse de armazenamentos de chave-valor, que é um conceito de banco de dados NoSQL. Em um armazenamento de chave-valor ou banco de dados de chave-valor, os dados são gerenciados (armazenados, recebidos) usando arrays associativos. Esse tipo de estrutura de dados é chamado de "dicionário". Dicionários são uma coleção de objetos, e objetos são o repositório central de armazenamento de dados que armazenam diferentes campos que contêm os dados. Alguns dos principais exemplos incluem MongoDB, Amazon DynamoDB, Google Cloud Firestore, Couchbase Server, Apache CouchDB, entre vários outros. Muitos desses bancos de dados, como MongoDB e Couchbase Server, são de código aberto por natureza.
Para chamar os dados quando necessário, uma chave é usada, que atua como o identificador único para o registro dentro de todo o banco de dados. Ao falar sobre bancos de dados de documentos, é importante identificar o que exatamente é um "documento". Um documento armazena ou codifica todos os dados em um formato padrão. Esses formatos incluem JSON, XML, YAML e outros.
Bancos de dados de documentos diferem muito dos bancos de dados SQL relacionais tradicionais. A principal causa da diferença entre os dois tipos de bancos de dados é que bancos de dados relacionais armazenam modelos de dados como uma relação—tabelas, linhas, e um objeto pode ser parte de várias tabelas. No entanto, bancos de dados de documentos armazenam todas as informações relacionadas a um objeto dentro de uma única instância do banco de dados, e cada objeto pode ser armazenado de forma única. Bancos de dados de documentos não têm restrições como os bancos de dados relacionais têm.
Operação CRUD
As operações principais para bancos de dados de documentos são abreviadas como CRUD—criar, recuperar, atualizar e excluir. Estas são as quatro operações básicas que todos os bancos de dados de documentos suportam.
O que é uma chave?
Como mencionado anteriormente, uma chave atua como um identificador único que é representativo do documento. Ela é usada para recuperar os dados do banco de dados de documentos. Geralmente há um índice de chaves disponível, o que facilita para o usuário referir-se e chamar de volta os dados representados por essa chave específica. Caso um usuário precise adicionar ou excluir um documento dentro do banco de dados de documentos, uma chave pode ser usada para o mesmo.
Recuperação de dados
Embora um método de chave-para-documento seja suficiente para a recuperação de dados, o banco de dados de documentos oferece uma API que os usuários podem usar para consultar dados com base no conteúdo. O conjunto de linguagem de consulta ou APIs de consulta varia significativamente entre diferentes implementações de modelos de dados. Nisso, bancos de dados de documentos fazem uso dos metadados do conteúdo para classificar o conteúdo e diferenciá-lo um do outro.
Organização de dados
Existem várias maneiras de organizar documentos dentro do software de bancos de dados de documentos. Um documento pode existir como coleções únicas ou múltiplas.
Hierarquia: Documentos são agrupados em uma estrutura em forma de árvore e têm um caminho típico.
Coleções: Grupo de documentos dentro do software.
Tags de dados: Documentos ou dados adicionais localizados fora do conteúdo.
Por que usar bancos de dados de documentos?
Como os dados são armazenados em um formato muito próximo ao código de desenvolvimento de aplicativos usado por desenvolvedores, há muito menos tradução necessária para que os dados sejam usados por um aplicativo. Esses tipos de bancos de dados dão aos desenvolvedores a liberdade e a flexibilidade de retrabalhar vários documentos no formato adequado para aquele aplicativo. Por sua vez, suas necessidades de aplicativo precisam mudar ao longo do tempo, o banco de dados de documentos também pode ser modelado no mesmo formato de dados conforme exigido pelo aplicativo.
Quando um usuário pode optar por bancos de dados de documentos?
O software de bancos de dados de documentos é usado para armazenar grandes volumes de dados em um formato de chave-valor, facilitando o acesso aos dados pelo usuário. Considerando a quantidade significativa de dados a serem processados, alguns dos principais usos do software incluem gerenciamento de conteúdo, perfis de usuários para uma empresa, catálogos e vários outros documentos.