2012-06-07 9 views
7

Ho letto diversi post, come this one, che confrontano negozi di documenti come MongoDb, CouchDb e CouchBase con negozi di famiglie di colonne come Cassandra.Magazzini di famiglia di colonne vs archivi di documenti

Un confronto è il fatto che gli archivi di documenti funzionano a un livello più elevato di granularità rispetto ai magazzini di famiglie di colonne che consentono di lavorare su singole parti del documento. Trovo che sia semplicemente falso perché Redis supporta questo tramite lo hset operation e lo fa anche mongodb.

L'argomento è quindi che, sebbene entrambi i tipi di soluzioni consentano l'aggiornamento/la lettura di parti di un documento, le raccolte di famiglie di colonne sono semplicemente più efficienti a tale scopo rispetto agli archivi di documenti?

Ciò significa anche che dovrei prendere il percorso dell'archivio documenti per inserire e leggere le applicazioni pesanti, ma il percorso della famiglia di colonne per aggiornare e leggere le applicazioni pesanti?

Quali sono alcune altre differenze che potrebbero aiutarmi a scegliere una soluzione rispetto all'altra?

Grazie!

risposta

8

Suggerirei che la differenza principale è nel modello di query. Possono sia archiviare strutture di dati simili (ad esempio, è possibile inserire un documento JSON in un archivio CF), ma gli archivi di documenti in genere offrono funzionalità di query per valore, mentre gli archivi CF in genere no. Tuttavia, le linee si stanno offuscando e sembra che tali generalizzazioni stiano diventando meno applicabili con la maturazione di ogni progetto di database. Cassandra (un famoso CF store), ad esempio, offre alcune funzionalità query-valore con indici secondari. Tuttavia, la maggior parte dei negozi CF richiede di scrivere i dati nel modo in cui si intende leggerli, il che significa che è necessario pensare al proprio modello di dati in termini di query.

Sembrerebbe a me che ci sono altre distinzioni altrettanto importanti tra le varie tecnologie di database, come ad esempio il modello di coerenza, capacità di replica datacenter, il ridimensionamento del modello, facilità di gestione, capacità di caching, ecc

+1

Grazie un buon modo di distinguendo .. grazie! Parte della sfida che sto affrontando mentre seleziono un prodotto NoSql è che sembrano tutti offrire la stessa cosa in modi diversi e un confronto in bianco o nero è difficile da fare .. – Kailash

Problemi correlati