Base di dati orientata al documento: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
ValterVBot (discussione | contributi)
m Bot: Elimino interlinks
Aggiunta sezioni Documenti, Chiavi, Recupero
Riga 5:
Qualsiasi numero di campi con qualsiasi lunghezza può essere aggiunto al documento.
I campi possono anche contenere pezzi multipli di dati.
 
== Documenti ==
Il concetto fondamentale di un database orientato al document è quello di ''Documento''. Ogni implementazione differisce nei dettagli della definizione di documento ma comunque in generale si assume che nel documento siano incapsulati e codificati i dati o le informazioni in base ad uno standard. Le codifiche più comuni sono [[XML]], [[YAML]], [[JSON]], and [[BSON]] così come formati binari tipo PDF o Microsoft Office.
 
I documenti all'interno della base di dati sono simili ai record dei database relazionali ma sono meno rigidi. Non è richiesta l'ardesione ad uno schema standard. Un esempio di documento:
 
{
FirstName:"Bob",
Address:"5 Oak St.",
Hobby:"sailing"
}
 
Un altro esempio potrebbe essere questo:
 
{
FirstName:"Jonathan",
Address:"15 Wanamassa Point Road",
Children:[
{Name:"Michael",Age:10},
{Name:"Jennifer", Age:8},
{Name:"Samantha", Age:5},
{Name:"Elena", Age:2}
]
}
 
I documenti negli esempi hanno similitudini e differente. Diversamente da un database relazionale, in cui in ogni record ci sono gli stessi attributi ed i campi inutilizzati rimangono vuoti, non ci sono campi vuoti in nessun documento.
Questo sistema consente di aggiungere nuove informazioni e non richiede che vengano indicati i campi vuoti.
 
=== Chiavi ===
I documenti sono indirizzati all'interno del database mediante ''key'' univoche. Spesso la chiave è una semplice stringa, in alcuni casi è un URI o una path. Solitamente il database mantiene un indice delle chiavi per consentire un recupero veloce del documento.
 
=== Recupero ===
Una delle caratteristiche particolari di un database orientato ai documenti è che, oltre alla semplice ricerca del documento per chiave, il database offre anche API (o un semplice linguaggio di query) che permette il recupero in base al contenuto. Questo, ad esempio, consente di recuperare documenti basandosi sul valore di un determinato campo.
Il set di API (o il linguaggio di interrogazione) così come le performance variano in maniera significativa a seconda dell'implementazione.
 
== Implementazioni ==