Un negozio chiave-valore fornisce il modello di dati più semplice possibile ed è esattamente ciò che suggerisce il nome:è un sistema di archiviazione che memorizza i valori indicizzati da una chiave. Sei limitato a eseguire query per chiave e i valori sono opachi , il negozio non sa niente su di loro. Ciò consente operazioni di lettura e scrittura molto veloci (un semplice accesso al disco) e vedo questo modello come una sorta di cache non volatile (cioè adatta se hai bisogno di accessi veloci tramite chiave a dati di lunga durata).
Un database orientato ai documenti estende il modello precedente e i valori vengono archiviati in un strutturato formato (un documento, da cui il nome) che il database può comprendere. Ad esempio, un documento potrebbe essere un post del blog e i commenti e i tag memorizzati in modo denormalizzato. Poiché i dati sono trasparenti , il negozio può svolgere più lavoro (come l'indicizzazione dei campi del documento) e non sei limitato a eseguire query per chiave. Come ho accennato, tali database consentono di recuperare i dati di un'intera pagina con una singola query e sono adatti per applicazioni orientate ai contenuti (motivo per cui a grandi siti come Facebook o Amazon piacciono).
Altri tipi di database NoSQL includono negozi orientati alla colonna , database di grafici e persino database di oggetti . Ma questo va oltre la domanda.