Base di dati orientate ai documenti: come funziona il document store?

Le basi di dati sono necessarie per organizzare le informazioni in modo sistematico, ma esistono metodi diversi per strutturarli. In informatica sono comuni e particolarmente diffusi i database relazionali; esistono però anche le cosiddette base di dati orientate ai documenti, che si basano su una semplice struttura di tabelle e documenti per l’archiviazione delle informazioni. Come funzionano questi database e quali vantaggi offrono?

Che cos’è un document store?

Le basi di dati orientate ai documenti, chiamate anche document store, sono utilizzate per la gestione dei dati semi-strutturati. Si tratta di dati che non seguono una struttura formale, ma contengono etichette o altri marcatori per classificare le informazioni e sono conosciuti anche come dati senza schema o dati con struttura autodescritta. A causa della mancanza di una struttura chiara, questi dati non si addicono ai database relazionali perché le loro informazioni non possono essere classificate in tabelle.

La base di dati orientata ai documenti crea una semplice coppia: a una chiave viene assegnato un documento specifico. In questo documento, che può essere formattato ad esempio con XML, JSON o YAML, si possono trovare le informazioni. Poiché la base di dati non richiede uno schema specifico, è possibile integrarvi diversi tipi di documenti, le cui modifiche non devono essere condivise.

N.B.

La base di dati orientata ai documenti assomiglia molto ad altri modelli: potremmo considerarla come una sottocategoria dei database NoSQL, mentre nel collegamento chiave-documento vi è una stretta correlazione con i database chiave-valore. In quanto sistema organizzato per riga, si contrappone ai database orientati a colonne.

Come funzionano le basi di dati orientate ai documenti?

In teoria, in una base di dati orientata ai documenti è possibile memorizzare dati di diversi formati e senza uno schema coerente. Nella realtà, tuttavia, si usa in genere un determinato formato di file per i documenti e si classificano le informazioni secondo una struttura fissa, al fine di semplificarne la gestione. Ad esempio, le richieste di ricerca nel database possono essere elaborate meglio in presenza di una struttura organizzata. In generale, si possono eseguire le stesse operazioni in entrambe le tipologie di database: le informazioni possono essere inserite, modificate, cancellate e richieste.

Per eseguire le operazioni a ogni documento viene assegnato un ID univoco. In linea di principio non è importante il modo in cui viene gestito. Sia una semplice stringa di caratteri, sia un intero percorso possono essere usati per indirizzare il documento. Durante la ricerca d’informazioni vengono esaminati i documenti stessi: ciò significa che le varie colonne con i dati rilevanti non vengono cercate all’interno del database, bensì i dati vengono estratti direttamente dal documento.

Quali sono i vantaggi e gli svantaggi delle basi di dati orientate ai documenti?

Nei database relazionali classici ci deve essere un campo per ogni informazione in ogni voce. Se l’informazione non è disponibile, la cella rimane vuota, ma deve essere ugualmente creata. Le base di dati orientate ai documenti sono molto più flessibili: la struttura dei singoli documenti non deve essere coerente. Possono esservi memorizzati anche grandi quantità di dati non strutturati.

È inoltre più facile integrare le nuove informazioni: mentre in un database relazionale è necessario inserire un nuovo punto informativo in tutti i record di dati, con un document store è sufficiente integrare la novità solo in pochi record di dati. Il contenuto aggiuntivo può essere inserito in altri documenti, ma non è necessario.

Inoltre, le informazioni nei document store non sono distribuite su diverse tabelle connesse tra loro. Tutto è in un unico posto, il che può portare a prestazioni migliori. Tuttavia, le basi di dati orientate ai documenti possono sfruttare questo vantaggio in termini di velocità solo se non sono dotati di elementi relazionali: i riferimenti non rientrano effettivamente nel concetto di document store. Tuttavia, se si tenta di collegare in rete i documenti tra loro, il sistema diventa molto complesso e voluminoso. Un sistema di database relazionale è quindi preferibile per volumi di dati collegati in rete.

Le basi di dati orientate ai documenti più note

Le basi di dati orientate ai documenti sono importanti soprattutto per lo sviluppo delle applicazioni web. In virtù della domanda crescente che ne è derivata, attualmente sono disponibili sul mercato numerosi sistemi di gestione di database (DBMS). Scopriamo insieme quali sono i più conosciuti:

  • BaseX: il progetto open source utilizza Java e XML ed è dotato di un’interfaccia grafica utente.
  • CouchDB: software open source rilasciato dalla Apache Software Foundation. Il sistema di gestione del database è scritto in Erlang, utilizza JavaScript e viene utilizzato, tra l’altro, nelle applicazioni Ubuntu e Facebook.
  • Elasticsearch: motore di ricerca che funziona sulla base di una base di dati orientata ai documenti. A questo scopo vengono utilizzati i documenti JSON.
  • eXist: il DBMS eXist open source funziona su una macchina virtuale Java e può quindi essere utilizzato indipendentemente dal sistema operativo. Vengono utilizzati principalmente documenti XML.
  • MongoDB: MongoDB è il database NoSQL più utilizzato. Il software è scritto in C++ e utilizza documenti simili a JSON.
  • SimpleDB: Amazon ha sviluppato il proprio DBMS con SimpleDB (scritto in Erlang) per i servizi Cloud dell’azienda. Il fornitore richiede un compenso per il suo utilizzo.

Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.