卡桑德拉范围扫描列

时间:2013-05-30 04:18:00

标签: ruby nosql cassandra

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

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

我不能为我的生活,但是,在DataStax的网站上找到关于如何根据其他数据类型进行开始/结束扫描的文档,甚至是text / utf8。

我遇到了一个博文,其中海报使用了波形符“〜”,以便记下ASCII范围扫描的结束。 DataStax网站上是否有官方页面,其中记录了可根据数据类型对列执行的不同范围扫描?

1 个答案:

答案 0 :(得分:1)

Cassandra将所有数据存储在一行中,该行根据您为列族定义的比较器进行排序。有关比较器类型的最准确信息将直接在源树中找到。每种类型在db/marshal directory中都有相应的类。如果你看一下UTF8Type.java类,你可以看到它实现了一个比较方法(最终)进行逐字节比较。

因此,对于ascii编码,您将获得ascii排序:

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