如何在Cassandra中搜索不相等的二级索引?

2024-04-25

我需要能够仅使用 、= 对二级索引执行搜索。据我所知,Cassandra 至少需要一个等式索引子句,因为它会迭代该等式索引的所有结果。

是否有任何技巧可以仅使用 、= 执行操作(至少在概念上)?这是一个坏主意吗?

另外,有人知道 Cassandra 是否有计划改变这一点?

Thanks!


如果有一个用 0.7 索引来做到这一点的好方法,我们/我会在http://www.datastax.com/dev/blog/whats-new-cassandra-07-secondary-indexes http://www.datastax.com/dev/blog/whats-new-cassandra-07-secondary-indexes而不是说“你需要一个平等表达式”。没有双重秘密作弊代码。

一种替代方法是使用 ByteOrderedPartitioner(它允许您对行键执行 >= 查询)。另一种可能是在写入时对数据的某些子集创建物化视图。假设您有足够的行,仅进行无序顺序扫描太慢了。

位图索引为 0.8 (https://issues.apache.org/jira/browse/CASSANDRA-1472 https://issues.apache.org/jira/browse/CASSANDRA-1472)将支持索引的不等式运算。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Cassandra中搜索不相等的二级索引? 的相关文章

  • 无法使用 datastax java 驱动程序通过 UDT 密钥从 cassandra 检索

    我正在尝试使用用户定义的类型作为分区键将对象存储在 cassandra 中 我正在使用 datastax java 驱动程序进行对象映射 虽然我能够插入到数据库中 但无法检索该对象 如果我更改分区键以使用非 udt 例如文本 我就能够保存和
  • Cassandra data stax 查询生成器更新

    我正在尝试编写一个简单的更新查询 更新表 set col1 val1 col2 val2 where col3 val3 您能否提供一个使用查询生成器 API 在 Cassandra 中编写简单 UPDATE 的示例 试试这个 v1 x Q
  • Spark Scala Cassandra 连接器删除所有行失败,并出现 IllegalArgumentException 要求失败异常

    创建表 CREATE TABLE test word groups group text word text count int PRIMARY KEY group word 插入数据 INSERT INTO test word group
  • 错误:无法连接到 cassandra 服务器。未配置的表

    我正在尝试使用这个简单的代码通过 python 的 cassandra driver 连接到在本地桌面上运行的 cassandra from cassandra cluster import Cluster cluster Cluster
  • MongoDB 支持浮点类型吗?

    我正在将 mysql 数据库迁移到 mongodb 但我读过 MongoDb 数据类型 然后没有引用浮点类型 如 float double decimal 我如何在 mysql 模式中拥有一些带有十进制类型的字段 我该怎么做或我能做什么 M
  • Cassandra修复导致节点超时

    我们使用具有 5 个节点的 Cassandra 3 10 1 集群 每个节点有 8 个核心和 23Gi 内存 全部位于同一个 DC 中 复制因子 2 一致性级别 2 最近 在大约每周进行一次的计划修复期间 来自一个节点的查询出现多次超时 在
  • NoSQL(MongoDB)与 Lucene(或 Solr)作为数据库[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 随着基于文档数据库的 NoSQL 运动的发展 我最近关注了 MongoDB 我注意到如何将项目视为 文档 就像 Lucene 以及 Solr 用
  • Firestore从集合中获取文档ID

    我正在尝试使用 id 检索我的文档 但无法弄清楚 目前我像这样检索我的文档 const racesCollection AngularFirestoreCollection
  • 我可以在 Cassandra 2.1 中对集合进行多重查询吗?

    在 Cassandra 2 1 中 我们可以通过在列上创建二级索引来查询集合 cqlsh play gt select from songs where tags contains t1 id tags title e99f8f30 d21
  • Cassandra 数据建模:时间戳作为分区键

    我需要能够返回在指定时间间隔内执行操作的所有用户 Cassandra 中的表定义如下 create table t timestamp from timestamp to user text PRIMARY KEY from to user
  • MongoDB 嵌套数组查询

    我问这个作为评论another https stackoverflow com questions 5250652 query a nested array in mongodb问题 还发了一个question https groups g
  • Hector (Cassandra) 删除异常

    当我尝试删除时使用 hector cassandra 客户端 它会删除列 但将行键留在后面 有谁知道为什么 以及如何删除该行键 使用 Cassandra 时这是预期的 由于它通过写入逻辑删除来删除 因此数据仍然存在 直到下一次压缩 最终它会
  • Cassandra 会话与集群 有什么可分享的?

    考虑 Cassandra 的 Session 和 Cluster 类 Java 驱动程序 我想知道有什么区别 在 Hibernate 中 每次都会创建一个会话并共享会话工厂 从许多来源我了解到 它被认为是创建一个会话并在多个线程之间共享它
  • 查询 cassandra 表时出现“输入时没有可行的替代方案”错误

    我在 Cassandra 中有一张这样的表 CREATE TABLE vroc sensor data dpnode text year int month int day int data timestamp bigint data se
  • 根据统计数据获取cassandra中的数据点

    我正在测试 Cassandra 2 0 作为存储时间序列数据的可能替代品 我制作了一个简单的表并将一些数据转储到其中 CREATE TABLE DataRaw channelId int sampleTime timestamp value
  • 聚类键的范围查询

    我有一个表 用于记录在我的网站上执行的用户活动 我的表结构如下 CREATE TABLE key space log id uuid time bigint ip text url text user id int PRIMARY KEY
  • Cassandra 查询失败(墓碑)

    所以这让我发疯 我尝试查询 Cassandra 中的一张表 结果显示查询失败 我尝试深入探究其背后的原因 发现这是因为墓碑 我将 GC GRACE SECONDS 更改为零并使用 nodetool 触发了压缩 当我再次查询时它工作正常 然而
  • MongoDB:如何使用单个命令更新多个文档?

    我惊讶地发现以下示例代码仅更新单个文档 gt db test save id 1 foo bar gt db test save id 2 foo bar gt db test update foo bar set test success
  • Redis AOF fsync(始终)与 LSM 树

    我对日志结构化合并树 LSM 树 的理解是 它利用了附加到磁盘非常快 因为它不需要查找 这一事实 只需将更新附加到预写日志并返回到客户端即可 我的理解是 这仍然提供了立即的持久性 同时仍然非常快 我不认为 Redis 使用 LSM 树 它似
  • Apache Cassandra 中的复合索引

    我正在尝试设置一个 cassandra 列族 其中一些列上有二级索引 在读回数据时我需要进行过滤 在我最初的测试中 当我一起使用多个索引时 速度会变慢 这是我当前的配置方式 通过 cassandra cli update column fa

随机推荐