2010-07-31 17 views

Respuesta

29

Las tiendas de familias de columnas como Bigtable y Cassandra tienen capacidades de consulta muy limitadas. La aplicación es responsable de mantener los índices para consultar un modelo de datos más complejo.

Las bases de datos de documentos le permiten consultar el contenido, no solo la clave. También administrará los índices por usted, reduciendo la complejidad de su aplicación.

Domain-driven design evangeliza el uso de agregados y objetos de valor. As Ayende points out, los agregados (complejos) son candidatos muy naturales para almacenarse como un solo documento, en lugar de normalizarlos en múltiples tablas o familias de columnas. Esto reducirá la complejidad de su capa de persistencia. También hay menos posibilidades de que los datos relacionados estén dispersos en múltiples nodos, ya que todos los datos están contenidos en un solo documento.

Si su aplicación necesita almacenar objetos polimórficos, las bases de datos de documentos también son un buen candidato. Por supuesto, esto también podría almacenarse en Cassandra, pero no tendrás tantas capacidades de consulta. Al menos no fuera de la caja.

Piense en una base de datos documental como un lujoso automóvil deportivo. No necesita un controlador profesional (léase: aplicación compleja) para llevarlo de A a B, tiene características como aire acondicionado y asientos cómodos y cubrirá la pista de escalabilidad alta en un tiempo aceptable. Sin embargo, si desea establecer un registro de vuelta en la pista de escalabilidad alta, necesitará necesita un controlador profesional y un automóvil altamente optimizado (por ejemplo, Cassandra), que carece de características tales como aire acondicionado.

+1

¡Qué bonita descripción! Lo único que agregaría es que CouchDB pretende ser el Honda Accord de bases de datos, no el Ferrari. Sin embargo, creo que son metáforas diferentes, solo relacionadas por coincidencia. – JasonSmith

9

Otra característica de CouchDB es que se puede crear esas agregaciones, no como documentos almacenados de forma manual, sino como puntos de vista (que se derivan de los datos almacenados y actualizados automáticamente.)

Esto es como elevalunas eléctricos, con calefacción asientos, o el estéreo de patear.

+0

Bumping Naughty by Nature por supuesto – JasonSmith

Cuestiones relacionadas