Uma base de dados orientada a documentos é um tipo de base de dados NoSQL na qual os dados são armazenados em ficheiros de documentos binários. Este tipo de base de dados associa cada documento com uma chave única que toma a forma de uma string, caminho ou URI. As chaves são usadas para localizar e puxar documentos individuais da base de dados. Uma base de dados orientada a documentos também pode ser chamada de document store.
"Porque a paisagem da base de dados é complexa e confusa para navegar, é importante entender completamente os diferentes tipos de SGBD, juntamente com quando e porque usá-los". - Craig S. Mullins
Opções específicas de indexação, assim como a linguagem específica da interface do programa aplicativo (API) ou linguagem de consulta, variará com base em quais documentos são armazenados no banco de dados. A forma como os documentos são organizados também irá diferir dependendo do conteúdo do documento. Tipicamente, os documentos são organizados por tags, metadados ou coleção. Uma vantagem importante de usar uma base de documentos é que se em algum momento futuro o modelo de dados precisar ser alterado, somente os documentos afetados terão que ser atualizados.
Bases de dados orientadas a documentos populares incluem MongoDB, DynamoDB e CosmosDB.
MongoDB é um dos exemplos mais populares de uma base de dados orientada a documentos. Ele inclui características como suporte total ao índice, replicação e estilhaçamento. Uma função central do MongoDB é sua escalabilidade horizontal, o que o torna um banco de dados útil para empresas executando grandes aplicações de dados.
DynamoDB é um serviço de banco de dados NoSQL totalmente gerenciado pela Amazon Web Services. Um usuário pode interagir com o serviço usando o AWS Management Console ou uma API DynamoDB. O serviço também fornece aos usuários um alto nível de desempenho de E/S. Cada consulta DynamoDB é executada por um identificador chave primária, que pode localizar cada item.
Cosmos DB é uma estrutura de banco de dados operacional em nuvem da Microsoft que é bem adequada para cargas de trabalho de leitura pesada que precisam ser escaladas geograficamente. Esta base de dados pode ser usada onde uma aplicação requer múltiplos modelos de dados. O Cosmos DB suporta múltiplos tipos de bases de dados, tais como lojas de documentos, lojas de valores chave, gráficos, bem como bases de dados de séries temporais.