加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

NoSQL:如何根据lat&long检索’house’?

发布时间:2020-12-13 13:28:23 所属栏目:百科 来源:网络整理
导读:我有一个用于存储房地产房的NoSQL系统. 我在每个房子的钥匙价值商店中获得的一条信息是经度和纬度. 如果我想检索geo-lat / long框中的所有房屋,如下面的SQL: SELECT * from houses WHERE latitude IS BETWEEN xxx AND yyyAND longitude IS BETWEEN www AND
我有一个用于存储房地产房的NoSQL系统.

我在每个房子的钥匙价值商店中获得的一条信息是经度和纬度.

如果我想检索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并且它必须继续时,它是两个字段的明确排序索引,因此受到限制).与关系无关……与索引有关;-).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读