Un database orientato ai documenti è un tipo di database NoSQL in cui i dati vengono memorizzati in file di documenti binari. Questo tipo di database associa ogni documento a una chiave univoca che assume la forma di una stringa, un percorso o un URI. Le chiavi vengono utilizzate per individuare ed estrarre singoli documenti dal database. Un database orientato ai documenti può anche essere denominato archivio di documenti.
"Poiché il panorama del database è complesso e confuso da navigare, è importante comprendere appieno i diversi tipi di DBMS, insieme a quando e perché utilizzarli". - Craig S. Mullins
Le opzioni di indicizzazione specifiche, nonché le chiamate API (Application Program Interface) o il linguaggio di query specifici, varieranno in base ai documenti archiviati nel database. Anche il modo in cui sono organizzati i documenti varia a seconda del contenuto del documento. In genere, i documenti sono organizzati per tag, metadati o raccolta. Un vantaggio importante dell'utilizzo di un archivio di documenti è che se in futuro il modello di dati dovrà essere modificato, sarà necessario aggiornare solo i documenti interessati.
I database più diffusi orientati ai documenti includono MongoDB, DynamoDB e CosmosDB.
MongoDB è uno degli esempi più popolari di database orientato ai documenti. Include funzionalità come il supporto completo degli indici, la replica e lo sharding. Una delle funzioni principali di MongoDB è la sua scalabilità orizzontale, che lo rende un database utile per le aziende che eseguono applicazioni per big data.
DynamoDB è un servizio di database NoSQL completamente gestito fornito da Amazon Web Services. Un utente può interagire con il servizio utilizzando la Console di gestione AWS o un'API DynamoDB. Il servizio fornisce inoltre agli utenti un elevato livello di prestazioni di I / O. Ogni query DynamoDB viene eseguita da un identificatore di chiave primaria, che può individuare ogni elemento.
Cosmos DB è un fabric di database operativo cloud Microsoft adatto per carichi di lavoro pesanti in lettura che devono essere scalati geograficamente. Questo database può essere utilizzato quando un'applicazione richiede più modelli di dati. Cosmos DB supporta più tipi di database come archivi di documenti, archivi di valori-chiave, grafici e database di serie temporali.