如何在GIS中选择MongoDB和PostgreSQL? [关闭]

问题描述 投票:10回答:1

我正在尝试找到有关此主题的一些信息,但我发现的大多数文章都是3年以上。我对这方面也很新,不知道该问谁。

对于我的特定用例,我根本不是数据库专家,但我以前曾使用过几次MongoDB。我只使用PostgreSQL一次用于一个小项目(不涉及GIS内容)。为了它的价值,我现在有少量数据存储到dynamoDB中。有一个地理库,但它只有Java,我不太了解Java。

我的用例非常简单 - 除了用户个人资料数据外,我希望能够查询用户添加的标记。经过身份验证的用户当前latLng等X英里内的标记。标记除了与之相关的latLng之外还有其他数据,例如添加它的用户,标题,描述等。

我的目标是能够使用Web API将结果返回到客户端,其中标记位于当前位置X英里内,距离最近到最远。为此,在Mongo和PostgreSQL之间,最好先做什么?

mongodb postgresql gis postgis database
1个回答
17
投票

PostgreSQL可以通过PostGis为您提供完整的(地理)空间功能,尽管您的应用程序可能不需要那么多。

如果您只需要在(lat,lng)点的某个半径内快速找到用户,则可以使用earthdistance moduleGIST indexes

查看How can I speed-up my query on geo-location processes以获取详细说明。

检查Searching in a Radius using Postgres


在MongoDB中,您将使用geoNear功能和2dsphere Indexes


PostgreSQL中的查询非常快速且非常灵活,并且可以很好地扩展。与MongoDB相比,您需要更多的工作来设置它。

无论如何,两者都有基本功能,你应该考虑所有其他因素:

  • 您的数据是否结构合理,并且在此结构中几乎没有变化? (更多关于SQL方面)
  • 您是否需要ACID(原子性,一致性,隔离性,耐久性)保证? (更多关于SQL方面)
  • 你需要巨大的水平缩放吗? (更多关于MongoDB方面)
  • 您是否需要一次查询多个表(并加入)? (SQL端)
  • 使用JavaScript和JSON比使用其他语言更舒服吗? (MongoDB +)
  • (等等)

检查Postgres Outperforms MongoDB and Ushers in New Developer RealitySystem Properties Comparison MongoDB vs. PostgreSQL等等。

© www.soinside.com 2019 - 2024. All rights reserved.