Cassandra:地理空间支持
Posted
技术标签:
【中文标题】Cassandra:地理空间支持【英文标题】:Cassandra: Geospatial support 【发布时间】:2013-07-06 10:53:09 【问题描述】:在 Cassandra 之上实现地理空间查询的最佳方式是什么?
地理空间是指能够根据地理位置查询数据对象。 例如,查找离用户当前位置最近的 10 家餐厅。
我想到了一种可能的解决方案,但这似乎是一个可怕的 hack: 使行充当纬度和经度数据范围的“桶”(分别)。 然后按升序将位置作为列保存到适当的行中。 按纬度、经度(再次分别)查询 20 家壁橱餐厅,然后与 2 个集合相交。
我开始认为这可能是 Cassandra 模型的一个严重缺陷。
【问题讨论】:
【参考方案1】:基本的 b 树索引以宽行的形式存在于 cassandra 中。 PlayOrm 在 cassandra 上具有完整的 SQL 语言,但带有分区,因此您不会将数十亿行与数十亿行连接起来,而是连接分区。我想做地理空间会与 PlayOrm 类似,但我猜。我的意思是地理空间可以用b-tree之类的吗?如果是这样,那只是意味着您必须做一些繁重的工作。我知道在某一时刻,PlayOrm 正在考虑添加一些地理空间功能,但我们从未考虑过......不过,我们总是会接受该领域的工作。
后来, 院长
【讨论】:
以上是关于Cassandra:地理空间支持的主要内容,如果未能解决你的问题,请参考以下文章
spring-data-cassandra 存储库的多个键空间支持?
在 Cassandra 中存储地理位置详细信息和在 Elastic Search 中存储索引的最佳方式?