Espero que haya alguien que pueda ayudarme a sugerir un modelo de datos adecuado para ser implementado usando la base de datos nosql Apache Cassandra. Más de lo que necesito para trabajar con grandes cargas y grandes cantidades de datos.Sugerir el modelo de datos de Cassandra para un esquema existente
simplificado tengo 3 tipos de objetos:
- producto
- Tag
- ProductTag
producto:
key - string key
name - string
.... - some other fields
Tag:
key - string key
name - unique tag words
ProductTag:
product_key - foreign key referring to product
tag_key - foreign key referring to tag
rating - this is rating of tag for this product
Cada producto puede tener 0 o muchas etiquetas. La etiqueta se puede asignar a 1 o muchos productos. La relación de medios entre productos y etiquetas es de muchos a muchos en términos de bases de datos relacionales.
El valor de "evaluación" se actualiza de "muy" a menudo.
que necesita que se ejecute las siguientes consultas
- Selección de objetos de teclas
- Seleccionar etiquetas para productos ordenados por categoría
- productos Selección por fin etiqueta de calificación calificación
- Actualización de clave_de_producto y tag_key
Lo más importante es hacer que estas consultas sean realmente rápidas en grandes cantidades de datos, teniendo en cuenta que la calificación se actualiza constantemente.
¿Qué hay de lista etiquetas de productos ordenados por categoría? ¿O enumerar productos por una etiqueta ordenada por clasificación? Dicha consulta requeriría el uso de 2 índices al mismo tiempo para que sea efectiva –
Tiene sentido. Gracias por el enlace! Otra idea que estoy considerando es utilizar herramientas externas como la búsqueda de esfinges o quizás lucandra para seleccionar objetos ordenados por clasificación. La búsqueda de texto completo de Sphinx funciona bien para tales tareas, pero no admite actualizaciones de índice "en tiempo real". –