【发布时间】:2014-05-17 02:36:47
【问题描述】:
由于 Cassandra 是基于 Dynamo 论文(分布式、自平衡哈希表)+ BigTable 的,并且有一些空间索引非常适合该范式(quadkey 或 geohash)。没有实施地理空间支持是否有原因?
您可以将 GeoPoint 数据类型添加为具有内部 geohash 的元组,并将 CF 指定为包含地理数据。从那里您可以选择将地理数据作为二级索引或非规范化 SCF 的行为。这可以为地理空间开发奠定基础,您可以从实现一些低悬的成果开始,例如 .nearby() ,它可以只返回共享相同 geohash 的列。 (我知道这不会给你“最近的”,你必须走一圈周围的 geohashes 或使用形状和空间填充曲线,这可以稍后实现,但这是寻找一些的一般操作附近的列)
我知道 SimpleGeo/Urban Airship 在 Cassandra 中内置了地理支持,但它看起来从未开放过。另外,如果有更好的地方可以问这个问题(quora、邮件列表等),请告诉我
【问题讨论】:
-
这是一个四键的python实现,如果有帮助的话github.com/buckheroux/QuadKey
-
我很好奇为什么数据库会支持仅在特定问题域中有用的东西。他们中的一些人这样做,所以必须有充分的理由。但这不是类似于为基因组学等特定数据类型提供支持吗?
标签: geolocation nosql cassandra geospatial