cassandra列范围扫描

ep6jt1vc  于 2021-06-15  发布在  Cassandra
关注(0)|答案(1)|浏览(436)

我感兴趣的是对特定行键的列进行范围扫描。到目前为止,使用twitter的cassandra客户端,可以直接找到基于int的列的范围扫描:

db.get(:cf, rk, {:start => 1, :finish => 10})

然而,我一辈子都找不到datastax网站上关于如何基于其他数据类型(即使是text/utf8)进行开始/完成扫描的文档。
我偶然看到一篇博文,其中海报使用了波浪号“~”,以便注意ascii范围扫描的结束。datastax的网站上有没有一个官方页面,记录人们可以根据数据类型对列执行的不同范围扫描?

sauutmhj

sauutmhj1#

cassandra将所有数据存储在一行中,该行根据为列族定义的比较器进行排序。有关比较器类型的最准确信息将直接在源代码树中找到。每种类型在db/marshal目录中都有一个对应的类。如果您查看utf8type.java类,您可以看到它实现了一个compare方法,该方法(最终)执行逐字节比较。
因此,对于ascii编码,您将得到一个ascii排序,其中:

"A" < "AA" < "a" < "aa"

相关问题