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 e consultar dados como documentos do tipo JSON. Os bancos de dados de documentos facilitam para que os desenvolvedores armazenem e consultem dados usando o mesmo formato de modelo de documento que usam no código do aplicativo. A natureza flexível, semiestruturada e hierárquica dos documentos e dos bancos de dados de documentos permite que eles evoluam conforme as necessidades dos aplicativos. O modelo de documentos funciona bem com casos de uso como catálogos, perfis de usuários e sistemas de gerenciamento de conteúdo, onde cada documento é único e evolui com o passar do tempo. Os bancos de dados de documentos possibilitam uma indexação flexível, consultas ad hoc eficientes e análises de dados em grupos de documentos.

No exemplo a seguir, um documento semelhante ao JSON descreve um livro.

[
    {
        "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 DocumentDB (com compatibilidade com o MongoDB)

O Amazon DocumentDB (com compatibilidade com o MongoDB) é um serviço de banco de dados de documentos rápido, escalável, altamente disponível e totalmente gerenciado que oferece suporte a cargas de trabalho do MongoDB. Os desenvolvedores podem usar o mesmo código de aplicativo, drivers e ferramentas do MongoDB para executar, gerenciar e dimensionar cargas de trabalho no Amazon DocumentDB e aproveitar o desempenho, a escalabilidade e a disponibilidade aprimorados sem precisarem se preocupar em gerenciar a infraestrutura subjacente.

Comece a usar o Amazon DocumentDB hoje mesmo.

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.