我的模型中有以下表格:
Store table: domain(key), name
Product table: url(key), name
Products_Stores table: store_domain(key), product_url(key), url, score
我从DataStax学习了一些课程,但仍然不知道如何将这个概念模型转换为逻辑模型。我的意思是我需要像关系数据库这样的3个表吗?如果是这样,怎么样?
请完全清楚,因为我的实体之间有更多这样的关系。
答案 0 :(得分:0)
如果您的cassandra版本是2.0+,您可以使用以下方法。
除了存储有关商店和产品的信息的表格,这是您的前两个("商店表"和"产品表"),表示多对多关系,您需要两个附加表格(总共4个):
store_domain(partition key), product_url(clustering column)
product_url(partition key), store_domain(clustering column)
因此,要检索商店的所有产品,您需要请求指定store_domain的第1个表。要检索产品的所有商店,请请求指定product_url的第二个表。
对于这两个表格,combound键由store_domain
和product_url
组成,这使得每个store_domain + product_url
对的记录都是唯一的。
在产品和商店之间添加新关系时,需要将其保存在两个表中。考虑使用Batch保存它以使其成为原子。