Pregunta

Busco tiendas de valores clave NoSQL que también proporcionan para el almacenamiento / mantenimiento de las relaciones entre las entidades almacenadas. Sé almacén de datos de Google App Engine permite relaciones entre propiedad y está sin dueño entidades. ¿Algo de algo que el popular de proporcionar la tienda en nosql similar?

A pesar de que la mayoría de ellos son de menos de esquema, ¿Existen métodos para relaciones apropiadas en un almacén de claves de valor?

¿Fue útil?

Solución

Pertenece a las características principales de bases de datos gráfico para proporcionar apoyo a las relaciones entre las entidades. Por lo general, modelar sus entidades como nodos y las relaciones como relaciones / bordes en el gráfico. A diferencia RDBMS que no tiene que definir las relaciones de antelación - sólo tiene que añadir a la gráfica según sea necesario (esquema gratis). He creado una galería de modelado de dominio dar algunos ejemplos de cómo se puede mirar en la práctica. Los ejemplos utilizan el graphdb Neo4j, un proyecto que estoy involucrado. El lista de correo de este proyecto utilizar a resultar muy útil para las preguntas de modelado gráfico.

Riak tiene soporte para enlaces entre documentos.

Puede añadir soporte para las relaciones en la parte superior de cualquier motor de base de datos (como clave / valor), pero no viene whithout trabajo. Todo se reduce a su caso de uso. Si proporciona más detalles que es más fácil para llegar a una respuesta útil.

Vaya, ahora vi que el título dice "tienda nosql" y luego pregunta real se reduce esto a "nosql almacén de claves de valor". Como clave / valor tiendas no tienen semántica para definir las relaciones entre las entidades Todavía voy a publicar mi respuesta.

Otros consejos

MongoDB es una base de datos documental, no una tienda de clave / valor. Se proporciona, sin embargo, una simple forma de referencias entre documentos . Estos funcionan más o menos como claves externas SQL que se anula automáticamente cuando se elimina el objeto de referencia.

Esto es adecuado para el mismo tipo de cosas por las que tendrá que utilizar las claves externas, pero no está optimizado para seria recorrido gráfico.

Las relaciones en el Google App Engine son llaves sólo a las entidades que se hace referencia de forma automática-des cuando se tiene acceso en el código. Y son sólo valores cuando se utiliza para filtrar en contra. Su función de la base de datos en lugar de Api nada explícito, por lo que el acceso a la ReferenceProperty simplemente realizar una consulta en el modelo de referencia para obtener acceso al objeto.

Si nos fijamos en algo así como MongoDB, las relaciones se almacenan en objetos (por lo que remeber), pero también pueden ser almacenados como quiera en el sentido de que se crearía una API que buscar en la tabla combinada de su artículo en la relación de una manera similar a la que trabaja el App Engine.

Paul.

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