Pregunta

Estoy tratando de envolver mi cabeza en las tiendas de Key-Value como CouchDB y Cassandra. Entiendo por qué son útiles, pero en cuanto a cómo reemplazan un RDBMS como MySql, no lo entiendo.

Digamos que esto es lo que necesito almacenar:

{123456: {'model' : 'Ford'
          'color': 'blue'
          'MPG': 23}}

Entonces necesito encontrar todos los autos que son azules.

¿Cómo el almacén de valores-clave consulta las claves utilizando el valor? Leí algunos en los que se puede usar esa reducción de mapas, pero al ver la fuente de algunos proyectos no puedo encontrar un ejemplo.

Hazme saber si estoy haciendo la pregunta correcta.

¿Fue útil?

Solución

Esencialmente, cuando está utilizando almacenes de valor-clave, está construyendo una base de datos con los mismos componentes que tiene internamente una base de datos relacional. La razón para hacer esto es tener más control y flexibilidad sobre la escala y el rendimiento, o simplemente por la sencillez.

En este caso, debe almacenar el equivalente de las filas de la tabla y el índice como dos cosas separadas. Entonces, si desea indexar en color, entonces necesita almacenar

{'blue': {123456}}

en el equivalente de una tabla de índice.

Por supuesto, algunos almacenes de valores clave proporcionan mecanismos de indexación y búsqueda para que no haya una regla general que se ajuste a todos.

Otros consejos

Desearía mantener un almacén de clave / valor separado que sea esencialmente un índice. Tendría " azul " como la clave, y luego una lista de todas las ID de " main " Tienda de autos que son azules.

Sí, eso es duplicar la funcionalidad de índice de un rdbms regular.

Este es un buen artículo sobre cómo el equipo de FriendFeed abordó este problema y resolvió esta solución, junto con su justificación (lo sé, es un poco extraño ya que utilizaron un RDBMS como almacén de clave / valor, pero los puntos de discusión son teoría del sonido):
http://bret.appspot.com/entry/how-friendfeed-uses- mysql

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top