我有一个系统,我喜欢根据纬度和经度数据找到最近的人。 我知道如何处理Mongodb中的位置数据以及如何通过半径等为每个人找到最近的人。 但是我不知道如果我在系统中有大量用户会怎样,并且可能会在postgresql中查询位置数据时使我的系统崩溃? 哪个dbms非常适合处理位置数据,Postgresql或Mongodb ??? 感谢您的帮助。
非常感谢
答案 0 :(得分:0)
您正在讨论的查询类型称为“KNN”或“K-nearest-neighbor”,PostgreSQL直接使用GIST索引支持。更好的是,PostGIS支持真正的KNN,用于在lat / long(又名地理空间)数据上进行KNN。以下是关于在PostgreSQL中使用KNN和PostGIS的一个很好的演示文稿:
https://www.hagander.net/talks/Find%20your%20neighbours.pdf
您可以在此处阅读有关PostGIS中KNN功能的更多信息:
https://postgis.net/docs/geometry_distance_knn.html
我不会谈论哪个数据库更适合您的特定工作负载,因为我不直接知道它,无论如何我都有点偏颇,正如您可能猜到的那样,给出了上面的链接。我要说的是PostgreSQL非常高效,并且能够非常快速地执行这些类型的查询并且可以很好地扩展。