2012-06-07 5 views
7

He leído varias publicaciones, como this one, que comparan tiendas de documentos como MongoDb, CouchDb y CouchBase con tiendas familiares de columnas como Cassandra.Almacenes familiares de columnas versus tiendas de documentos

Una comparación es el hecho de que las tiendas de documentos funcionan a un nivel más alto de granularidad en comparación con las tiendas de la familia de columnas que le permiten trabajar en partes individuales del documento. Encuentro que no es cierto porque Redis lo admite a través del hset operation y también lo hace mongodb.

¿El argumento es que, aunque ambos tipos de soluciones permiten actualizar/leer partes de un documento, las tiendas familiares de columnas son simplemente más eficientes al hacer esto que las tiendas de documentos?

¿Eso también significa que debo tomar la ruta del almacén de documentos para insertar y leer aplicaciones pesadas pero la ruta de la familia de columnas para actualizar y leer aplicaciones pesadas?

¿Cuáles son algunas otras diferencias que me ayudarían a elegir una solución sobre la otra?

Gracias!

Respuesta

8

Sugeriría que la principal diferencia está en el modelo de consulta. Ambos pueden almacenar estructuras de datos similares (puede poner un documento JSON en una tienda CF, por ejemplo), pero las tiendas de documentos generalmente le dan capacidad de consulta por valor mientras que las tiendas de CF normalmente no lo hacen. Sin embargo, las líneas se están difuminando, y parece que tales generalizaciones son cada vez menos aplicables a medida que cada proyecto de base de datos madura. Cassandra (una popular tienda de CF), por ejemplo, ofrece algunas funciones de consulta por valor con índices secundarios. Sin embargo, la mayoría de las tiendas de CF requieren que usted escriba los datos de la manera en que desea leerlos, lo que significa que debe pensar en su modelo de datos en términos de sus consultas.

Sería me parece que hay otras distinciones igualmente importantes entre diversas tecnologías de bases de datos, tales como la consistencia de datos, centro de datos capacidad de replicación, la ampliación del modelo, facilidad de gestión, capacidades de almacenamiento en caché, etc.

+1

Gracias una buena manera de distinguiendo .. gracias! Parte del desafío al que me estoy enfrentando al seleccionar un producto NoSql es que todos parecen ofrecer lo mismo de diferentes maneras y es difícil hacer una comparación en blanco y negro. – Kailash

Cuestiones relacionadas