我们说我有2个数据集,一个用于规则,另一个用于值。
我需要根据规则过滤值。
我正在使用Key-Value商店(couchbase,cassandra等)。我可以使用multi-get从一个表中检索所有值,并从另一个表中检索所有规则,并在循环中执行验证。
然而,我发现这是非常低效的。我通过网络移动大量数据(值),客户端忙于过滤。
使用键值存储找到两个表之间的交集的常见模式是什么?
答案 0 :(得分:1)
nosql数据模型背后的想法是以非规范化方式写入数据,以便表可以回答精确查询。举个例子,想象一下客户对商店的评价。您需要了解用户在商店中所做的评论以及商店收到的评论。这将使用两个表
建模 ShopReviews
UserReviews
在第一个表格中,您按商店ID在第二个用户ID中查询,但数据会被写入两次,只需使用密钥访问即可直接访问。
以同样的方式,您应该按规则组织值(不知道它们之间的关系是什么,不能更精确)等等。还有一个考虑因素:较新版本的nosql db支持可能有助于模拟1到多个关系的集合。
HTH,Carlo