2013-07-09 58 views
2

在Cassandra之上实现地理空间查询的最佳方式是什么?Cassandra:地理空间支持

通过地理空间我的意思是能够根据他们的地理位置查询数据对象。 例如,查找距离用户当前位置最近的10家餐馆。

我想到了一种可能的解决方案,但它似乎是一个可怕的黑客行为: 使行成为纬度和经度数据范围(单独)的“桶”。 然后按升序将位置保存为适当的行。 查询20世纪壁橱餐厅的lat,long(分开,再次),然后相交2台。

我开始认为这可能是Cassandra模型的一个严重缺陷。

回答

0

基本的b-tree索引在cassandra中以宽行的形式存在。尽管使用分区,PlayOrm在cassandra上有完整的SQL语言,因此您不会连接数十亿行数十亿行,而是加入分区。我认为做地理空间与PlayOrm的相似,但我猜测。我的意思是地理空间可以用b-tree等来实现吗?如果是这样,这意味着你必须做一些繁重的工作。我知道一点,PlayOrm正在考虑增加一些地理空间功能,但我们从来没有解决它.....我们总是会接受那方面的工作。

以后, 院长