I database di documenti sono una classe di database non relazionali (database NoSQL). I database di documenti memorizzano dati correlati in un formato di documento. Sono utilizzati per progettare, interrogare e memorizzare i dati in un formato di documento (documento JSON, XML, YAML o formati binari come BSON e PDF). Il software è utilizzato per memorizzare, recuperare e gestire informazioni orientate ai documenti, note anche come dati semi-strutturati. Il software di database di documenti, noto anche come software di database orientati ai documenti, è una sottoclasse di archivi chiave-valore, che è un concetto di database NoSQL. In un archivio chiave-valore o database chiave-valore, i dati sono gestiti (memorizzati, ricevuti) utilizzando array associativi. Questo tipo di struttura dati è chiamato "dizionario". I dizionari sono una raccolta di oggetti, e gli oggetti sono il repository centrale di memorizzazione dei dati che memorizza diversi campi che contengono i dati. Alcuni dei principali esempi includono MongoDB, Amazon DynamoDB, Google Cloud Firestore, Couchbase Server, Apache CouchDB, tra molti altri. Molti di questi database, come MongoDB e Couchbase server, sono di natura open source.
Per richiamare i dati quando necessario, viene utilizzata una chiave, che funge da identificatore univoco per il record all'interno dell'intero database. Quando si parla di database di documenti, è importante identificare cosa esattamente sia un "documento". Un documento memorizza o codifica tutti i dati in un formato standard. Questi formati includono JSON, XML, YAML e altri.
I database di documenti differiscono notevolmente dai tradizionali database SQL relazionali. La principale causa di differenza tra i due tipi di database è che i database relazionali memorizzano i modelli di dati come una relazione—tabelle, righe, e un oggetto potrebbe essere parte di numerose tabelle. Tuttavia, i database di documenti memorizzano tutte le informazioni correlate di un oggetto all'interno di una singola istanza del database, e ogni oggetto può essere memorizzato in modo univoco. I database di documenti non hanno restrizioni come i database relazionali.
Operazione CRUD
Le operazioni principali per i database di documenti sono abbreviate come CRUD—creare, recuperare, aggiornare e cancellare. Queste sono le quattro operazioni di base che tutti i database di documenti supportano.
Cos'è una chiave?
Come detto in precedenza, una chiave funge da identificatore univoco che rappresenta il documento. È utilizzata per recuperare i dati dal database di documenti. Di solito è disponibile un indice di chiavi, che rende più facile per l'utente fare riferimento e richiamare i dati rappresentati da quella particolare chiave. Nel caso in cui un utente debba aggiungere o cancellare un documento all'interno del database di documenti, una chiave può essere utilizzata per lo stesso.
Recupero dei dati
Sebbene un metodo chiave-documento sia sufficiente per il recupero dei dati, il database di documenti offre un'API che gli utenti possono utilizzare per interrogare i dati in base al contenuto. Il set di linguaggi di query o API di query varia significativamente tra le diverse implementazioni del modello di dati. In questo, i database di documenti utilizzano i metadati del contenuto per classificare il contenuto e differenziarlo l'uno dall'altro.
Organizzazione dei dati
Ci sono diversi modi per organizzare i documenti all'interno del software di database di documenti. Un documento può esistere come singola o multipla collezione.
Gerarchia: I documenti sono raggruppati in una struttura ad albero e hanno un percorso tipico.
Collezioni: Gruppo di documenti all'interno del software.
Tag dei dati: Documenti o dati aggiuntivi situati al di fuori del contenuto.
Perché usare i database di documenti?
Poiché i dati sono memorizzati in un formato molto vicino al codice di sviluppo dell'applicazione utilizzato dagli sviluppatori, è necessaria molta meno traduzione affinché i dati siano utilizzati da un'applicazione. Questi tipi di database danno agli sviluppatori la libertà e la flessibilità di rielaborare vari documenti nel formato adatto a quell'applicazione. A sua volta, le loro esigenze applicative cambiano nel tempo, il database di documenti può anche essere modellato nello stesso formato di dati richiesto dall'applicazione.
Quando un utente può optare per i database di documenti?
Il software di database di documenti è utilizzato per memorizzare grandi volumi di dati in un formato chiave-valore, rendendo facile per l'utente accedere ai dati. Considerando la significativa quantità di dati da elaborare, alcuni degli usi principali del software includono la gestione dei contenuti, i profili utente per un'azienda, i cataloghi e diversi altri documenti.