在Cassandra之上实施地理空间查询的最佳方法是什么?
通过地理空间,我的意思是能够根据数据对象的地理位置查询数据对象。 例如,找到离用户当前位置最近的10家餐馆。
我想到了一个可能的解决方案,但它似乎是一个可怕的黑客: 使行充当纬度和经度数据范围的“桶”(单独)。 然后按升序将位置作为列保存到适当的行中。 通过他们的lat,long(单独,再次)查询20ish壁橱餐厅,然后与2套相交。
我开始认为这可能是卡桑德拉模型的一个严重陷阱。
答案 0 :(得分:0)
基本的b-tree索引以宽行的形式存在于cassandra中。 PlayOrm在cassandra上有一个完整的SQL语言,虽然有分区,所以你没有加入数十亿行的数十亿行而是加入分区。我认为做地理空间会像PlayOrm那样,但我猜。我的意思是地理空间可以使用b-tree等?如果是这样,那只意味着你必须做一些繁重的工作。我知道,有一次,PlayOrm正在考虑添加一些地理空间功能,但我们从来没有接触过它.....我们总是接受该领域的工作。
后, 迪安