我在每个房子的钥匙价值商店中获得的一条信息是经度和纬度.
如果我想检索geo-lat / long框中的所有房屋,如下面的SQL:
SELECT * from houses WHERE latitude IS BETWEEN xxx AND yyy AND longitude IS BETWEEN www AND zzz
题:
>如何使用NoSQL进行这种类型的检索…仅使用键值存储系统?
>即使我能用NoSQL做到这一点,它甚至会有效还是只是回到使用传统数据库更快地检索这类信息? sql或没有sql不是问题 – 严格来说,问题是你的密钥是什么类型的索引. spatial indices,这是你需要有效地满足你的查询,与Sql无关,或者更一般地与关系数据库无关 – 它们与关系问题和非关系问题完全正交.不幸的是,我不知道Cassandra或其他流行的非关系数据库的任何公开可用的空间索引系统(事实上,我唯一知道的唯一面向GIS的数据库引擎是PostGIS,它恰好是作为强大的开源PostGres ……这是关系型的;-).如果你没有空间索引但只有一个普通索引(例如,一个按Lat排序,然后是Long),那么你将需要扫描所有具有合适Lat的记录,以丢弃那些不合适的Long – 就像在相同的情况下,关系引擎必须为你做(当你选择几个BETWEEN并且它必须继续时,它是两个字段的明确排序索引,因此受到限制).与关系无关……与索引有关;-).
精彩评论