Предложите модель данных Cassandra для существующей схемы

Я надеюсь, что существует кто-то, кто может помочь мне предложить, чтобы подходящая модель данных была реализована с помощью nosql базу данных Apache Cassandra. Больше, чем мне нужен он для работы при высоких загрузках и больших объемах данных.

Упрощенный у меня есть 3 типа объектов:

  • Продукт
  • Тег
  • ProductTag

Продукт:

key - string key
name - string
.... - some other fields

Тег:

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

Каждый продукт может иметь 0 или много тегов. Тег может быть присвоен 1 или многим продуктам. Отношение средств между продуктами и тегами является many-many с точки зрения реляционных баз данных.

Значение "оценки" обновляется "очень" часто.

Я должен быть выполнен следующие запросы

  • Выберите объекты ключами
  • Выберите теги для продукта, заказанного путем оценки
  • Выберите продукты согласно порядку тега путем оценки
  • Оценка обновления product_key и tag_key

Самое важное должно сделать эти запросы действительно быстро на больших объемах данных, полагая, что оценка постоянно обновляется.

10
задан Schildmeijer 19 March 2010 в 19:42
поделиться

1 ответ

Примерно так:

Products : { // Column Family  
    productA : { //Row key  
        name: 'The name of the product' // column
        price: 33.55 // column
        tags : 'fun, toy' // column
    }  
}

ProductTag : { // Column Family
    fun : { //Row key
        timeuuid_1 : productA // column
        timeuuid_2 : productB // column
    },
    toy : { //Row key
        timeuuid_3 : productA // column
    }
}

ОБНОВЛЕНИЕ
Отметьте эту модель для хранения наибольшего результата

2
ответ дан 4 December 2019 в 04:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: