cassandra - 如何对Key-Value存储中的两个数据集进行交集运算?

标签 cassandra redis couchbase key-value-store nosql

假设我有 2 个数据集,一个用于规则,另一个用于值。

我需要根据规则过滤值。

我正在使用键值存储(couchbase、cassandra 等)。我可以使用 multi-get 从一个表中检索所有值,并为另一个表检索所有规则,并在循环中执行验证。

但是我发现这是非常低效的。我通过网络移动大量数据(值),而客户端忙于过滤。

查找具有键值存储的两个表之间的交集的常见模式是什么?

最佳答案

nosql 数据模型背后的想法是以非规范化的方式写入数据,以便表可以回答精确的查询。举个例子,假设您有顾客对商店的评论。您需要了解用户对商店的评论以及商店收到的评论。这将使用两个表建模

商店评论
用户评论

在第一个表中,您通过商店 ID 进行查询,在第二个表中,您通过用户 ID 进行查询,但数据被写入两次并仅使用 key 访问直接访问。

以同样的方式,您应该按规则组织值(在不知道它们之间的关系的情况下不能更精确)等等。另一个考虑因素:较新版本的 nosql db 支持集合,这可能有助于对 1 到许多关系进行建模。

HTH,卡罗

关于cassandra - 如何对Key-Value存储中的两个数据集进行交集运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25554843/

相关文章:

curl - Windows服务器如何发送HTTP删除方法

节点关闭时的 Cassandra 环状态

Laravel 5 运行队列

rest - Redis/Memcached ReST 外部服务缓存

node.js - 有没有可能在redis中对 key 类型进行分类?

c - 关于 libcouchbase 中的 TAP

cassandra - 时间序列数据,在cassandra中使用maxTimeuuid/minTimeuuid选择范围

java - 使用 datastax 映射器使用 saveAsync 保存数千条记录是个好主意吗

ubuntu - 从 ubuntu 卸载 cassandra

java - 有没有人用 couchbase-lite-android 1.02 实现了 robolectric 2.3?