我很有兴趣对特定行键的列进行范围扫描。到目前为止,使用Twitter的cassandra客户端,可以直接找出基于int的列的范围扫描:
db.get(:cf, rk, {:start => 1, :finish => 10})
我不能为我的生活,但是,在DataStax的网站上找到关于如何根据其他数据类型进行开始/结束扫描的文档,甚至是text / utf8。
我遇到了一个博文,其中海报使用了波形符“〜”,以便记下ASCII范围扫描的结束。 DataStax网站上是否有官方页面,其中记录了可根据数据类型对列执行的不同范围扫描?
答案 0 :(得分:1)
Cassandra将所有数据存储在一行中,该行根据您为列族定义的比较器进行排序。有关比较器类型的最准确信息将直接在源树中找到。每种类型在db/marshal directory中都有相应的类。如果你看一下UTF8Type.java类,你可以看到它实现了一个比较方法(最终)进行逐字节比较。
因此,对于ascii编码,您将获得ascii排序:
"A" < "AA" < "a" < "aa"