nosqlデータベースApache Cassandraを使用して実装する適切なデータモデルを提案するのを手伝ってくれる人がいることを願っています. 高負荷と大量のデータの下で動作するために必要以上のもの。
簡略化すると、3 種類のオブジェクトがあります。
- 製品
- 鬼ごっこ
- 商品タグ
製品:
key - string key
name - string
.... - some other fields
鬼ごっこ:
key - string key
name - unique tag words
商品タグ:
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 つまたは複数の製品に割り当てることができます。製品とタグの間の関係は、リレーショナル データベースに関して多対多であることを意味します。
「評価」の値は「非常に」頻繁に更新されます。
次のクエリを実行する必要があります
- キーによるオブジェクトの選択
- 評価順に並べた商品のタグを選択
- タグで商品を選ぶ 評価順
- product_key と tag_key による評価の更新
最も重要なのは、評価が常に更新されることを考慮して、大量のデータに対してこれらのクエリを非常に高速にすることです。