O que é um banco de dados de documentos?

O banco de dados de documentos definido

Um banco de dados de documentos é um tipo de banco de dados não relacional projetado para armazenar dados semiestruturados como documentos. Os bancos de dados de documentos são intuitivos para os desenvolvedores porque os dados no nível do aplicativo normalmente são representados como um documento JSON. Os desenvolvedores podem persistir com os dados usando o mesmo formato de modelo do documento que usam no código do aplicativo. Em um banco de dados de documentos, cada documento pode ter a mesma estrutura de dados ou uma diferente, e cada documento é autodescritível (incluindo seu esquema possivelmente único) e não é necessariamente dependente de qualquer outro documento. Os documentos são agrupados em “conjuntos”, que funcionam como uma tabela em um banco de dados relacional. 

Por exemplo, em um banco de dados de livro simples, um arquivo JSON que descreve um item de livro pode parecer com o código a seguir.

[
    {
        "year" : 2013,
        "title" : "Turn It Down, Or Else!",
        "info" : {
            "directors" : [ "Alice Smith", "Bob Jones"],
            "release_date" : "2013-01-18T00:00:00Z",
            "rating" : 6.2,
            "genres" : ["Comedy", "Drama"],
            "image_url" : "http://ia.media-imdb.com/images/N/O9ERWAU7FS797AJ7LU8HN09AMUP908RLlo5JF90EWR7LJKQ7@@._V1_SX400_.jpg",
            "plot" : "A rock band plays their music at high volumes, annoying the neighbors.",
            "actors" : ["David Matthewman", "Jonathan G. Neff"]
        }
    },
    {
        "year": 2015,
        "title": "The Big New Movie",
        "info": {
            "plot": "Nothing happens at all.",
            "rating": 0
        }
    }
]

Casos de uso

Gerenciamento de conteúdo

Um banco de dados de documentos é uma ótima opção para aplicativos de gerenciamento de conteúdo, como blogs e plataformas de vídeo. Com um banco de dados de documentos, cada entidade que o aplicativo rastrear pode ser armazenado como um documento único. Um desenvolvedor consegue atualizar um aplicativo de maneira mais intuitiva no banco de dados de documentos, à medida que as exigências evoluem. Além disso, se o modelo de dados precisar mudar, somente os documentos afetados precisarão ser atualizados. Nenhuma atualização de esquema é exigida e nenhum tempo de inatividade de banco de dados é necessário para fazer as alterações. 

Catálogos

Bancos de dados de documentos são eficientes e eficazes para o armazenamento de informações de catálogo. Por exemplo, em um aplicativo de comércio eletrônico, diferentes produtos costumam ter números de atributos diferentes. Gerenciar milhares de atributos em bancos de dados relacionais é ineficiente e afeta a performance de leitura. Ao usar um banco de dados de documentos, os atributos de cada produto podem ser descritos em um único documento para gerenciamento fácil e maior velocidade de leitura. Alterar os atributos de um produto não afetará os outros.

Bancos de dados de documentos populares

Amazon DynamoDB

O Amazon DynamoDB é um banco de dados não relacional que fornece performance confiável em qualquer escala. O serviço é um banco de dados totalmente gerenciado que pode operar em várias regiões e com vários mestres para oferecer latência consistente abaixo de 10 milissegundos e incorpora recursos de segurança, backup e restauração e armazenamento em cache de memória. O DynamoDB oferece suporte ao JSON nativo, o que permite gravar documentos JSON diretamente em tabelas do DynamoDB. Com um tamanho máximo de item de 400 KB, o DynamoDB permite armazenar grandes documentos JSON e objetos aninhados em uma transação.

Comece a usar o DynamoDB hoje mesmo.

Conceitos básicos do Amazon DynamoDB

MongoDB

O MongoDB é um banco de dados não relacional de código aberto que oferece suporte para sistemas de armazenamento orientados a documentos no estilo JSON. Ele oferece suporte a um modelo de dados flexível que permite armazenar dados de qualquer estrutura e oferece um amplo conjunto de recursos, que inclui suporte total com índices, estilhaçamento e replicação. A AWS permite configurar a infraestrutura para oferecer suporte à implantação do MongoDB de maneira flexível, escalável e econômica na Nuvem AWS. 

Use o AWS MongoDB Quick Start (também disponível em formato PDF) para implantar um cluster de MongoDB na Nuvem AWS. Para uma visão geral do MongoDB e sua implantação na AWS, leia o whitepaper MongoDB na AWS: diretrizes e melhores práticas. Além disso, não se esqueça de conferir as recomendações de segurança da AWS para o MongoDB.

Couchbase

Projetado para alimentar aplicativos de engajamento para dispositivos móveis, IoT e Web, a plataforma de dados Couchbase de nível empresarial inclui o Couchbase Server e o Couchbase Mobile. O Couchbase Server é um banco de dados não relacional e nativo da nuvem projetado com uma arquitetura distribuída a fim de proporcionar performance, escalabilidade e disponibilidade. Ele permite que os desenvolvedores criem aplicativos aproveitando o poder do SQL com a flexibilidade do JSON. O Couchbase Mobile inclui um banco de dados incorporado totalmente integrado, segurança interna e sincronização automatizada em tempo real com o servidor Couchbase altamente escalável.

Use o AWS Couchbase Quick Start (também disponível em formato PDF) para implantar um cluster de Couchbase na Nuvem AWS.