假设我有 2 个数据集,一个用于规则,另一个用于值。
我需要根据规则过滤值。
我正在使用键值存储(couchbase、cassandra 等)。我可以使用 multi-get 从一个表中检索所有值,并为另一个表检索所有规则,并在循环中执行验证。
但是我发现这是非常低效的。我通过网络移动大量数据(值),而客户端忙于过滤。
查找具有键值存储的两个表之间的交集的常见模式是什么?
最佳答案
nosql 数据模型背后的想法是以非规范化的方式写入数据,以便表可以回答精确的查询。举个例子,假设您有顾客对商店的评论。您需要了解用户对商店的评论以及商店收到的评论。这将使用两个表建模
商店评论
用户评论
在第一个表中,您通过商店 ID 进行查询,在第二个表中,您通过用户 ID 进行查询,但数据被写入两次并仅使用 key 访问直接访问。
以同样的方式,您应该按规则组织值(在不知道它们之间的关系的情况下不能更精确)等等。另一个考虑因素:较新版本的 nosql db 支持集合,这可能有助于对 1 到许多关系进行建模。
HTH,卡罗
关于cassandra - 如何对Key-Value存储中的两个数据集进行交集运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25554843/