Database/NoSQL - 检索以下数据的最低延迟方式

Nic*_*ckb 5 database performance rdbms cassandra nosql

我有房地产申请,"房子"包含以下信息:

house:
- house_id 
- address
- city 
- state
- zip
- price
- sqft
- bedrooms
- bathrooms
- geo_latitude
- geo_longitude
Run Code Online (Sandbox Code Playgroud)

我需要对地理坐标框内的所有家庭执行极其快速(低延迟)的检索.

类似下面的SQL(如果我使用数据库):

SELECT * from houses 
WHERE latitude IS BETWEEN xxx AND yyy
AND longitude IS BETWEEN www AND zzz
Run Code Online (Sandbox Code Playgroud)

问题: 如何以最快的方式存储此信息,以便我可以根据纬度和经度执行最快的数据检索?(例如数据库,NoSQL,内存缓存等)?

Nic*_*nes 0

MongoDB 支持地理空间索引,但是有一些方法可以减少此类事情的计算时间。根据数据的排列方式,您可以将房屋放置在可识别的“图块”中,然后获取给定图块的所有房屋,并从该简化的数据集中,根据与您拥有的任何坐标的距离进行排序。

根据瓷砖的数量,您可以使用位掩码来查找可能靠近或重叠多个瓷砖的房屋。