postgresql 或 Mongodb 用于存储位置数据(纬度和经度)并基于搜索?



我有一个系统,我喜欢根据纬度和经度数据找到离人最近的人。我知道如何在Mongodb中使用位置数据,以及如何通过半径等为每个人找到最近的人。但我不知道如果我在系统中有大量用户并且有可能通过查询 postgresql 中的位置数据使我的系统崩溃怎么办?哪个dbms非常适合处理位置数据,Postgresql或Mongodb???感谢您的帮助。

多谢

你所说的查询类型称为"KNN"或"K-nearest-neighbor",PostgreSQL直接使用GIST索引支持。 更好的是,PostGIS支持真正的KNN,用于对经度/经度(又名地理空间(数据进行KNN。 以下是关于在PostgreSQL中使用KNN和PostGIS的良好演示:

https://www.hagander.net/talks/Find%20your%20neighbours.pdf

您可以在此处阅读有关 PostGIS 中 KNN 功能的更多信息:

https://postgis.net/docs/geometry_distance_knn.html

不会说哪个数据库更适合您的特定工作负载,因为我不直接知道它,无论如何我都会有点偏见,正如您可能根据上面的链接猜到的那样。 我要说的是,PostgreSQL在执行这些类型的查询方面非常高效且非常快速,并且可以很好地扩展。

最新更新