PostgreSql 或 MongoDb 用于从 REST API 接收的 JSON 数据
Posted
技术标签:
【中文标题】PostgreSql 或 MongoDb 用于从 REST API 接收的 JSON 数据【英文标题】:PostgreSql or MongoDb for the data in JSON received from REST API 【发布时间】:2015-03-13 23:52:07 【问题描述】:我正在创建一个 Web 应用程序,它将与以 JSON 格式返回数据的 REST API 进行通信。当然,当我将数据提取到恰好是 PostgreSql 的数据库中时,该数据可以转换为关系数据。但我正在考虑改用 MongoDb,因为使用 JSON 对于 MongoDb 来说更自然。
你的想法,我应该使用 MongoDb 来代替这个原因吗?
【问题讨论】:
tapoueh.org/blog/2014/02/… 【参考方案1】:最适合您的选择可能取决于几个因素:
您打算多久轮询一次 API? 您将多久插入一次数据库? 您打算多久读取一次数据库? 数据增长速度有多快? 实际数据的结构是什么?MongoDB 的水平扩展性非常好,这意味着如果您要频繁轮询 API 并将大量数据插入数据库,那么实现分片并在另一台服务器上启动另一个 Mongo 实例相对容易。 Difference between scaling horizontally and vertically for databases
将 JSON 数据插入 MongoDB 可能比将其转换为关系格式并可能进行多次插入(假设 JSON 格式正确)您可以只进行一次插入更简单。或者使用 mongoimport 一次导入多个 JSON 文档。如果 API 数据经常更改,例如新列,那么在关系数据库中,您将不得不使用 ALTER TABLE 创建列,而在 MongoDB 中,它将只存储 JSON 文档。
如果您想了解有关 MongoDB 的更多信息,他们会提供免费的在线课程。这些课程为期 7 周,每周他们都会发布新的视频讲座和新的作业,这需要几个小时才能完成。 https://university.mongodb.com/courses/catalog
【讨论】:
您可以像在 MongoDB 中一样在 Postgres 中存储 JSON 文档。 好吧,如果您当前的实现是 Postgres,那么可能值得先尝试一下,而不是使用其他技术。如果它符合您的目的,那就太棒了,如果您遇到了绊脚石,将来将相同的 JSON 数据从 Postgres 移动到 MongoDB 应该很简单。【参考方案2】:如果您在 json 结构中有任何数据字段聚合,则有一个用例值得检查。这是一个可能需要对 RDBMS 或处于高级状态(可能是 OLAP 存储)的粘性的用例。
【讨论】:
这最好是作为评论而不是答案。它没有回答问题以上是关于PostgreSql 或 MongoDb 用于从 REST API 接收的 JSON 数据的主要内容,如果未能解决你的问题,请参考以下文章
「数据库选型」卫报从MongoDB迁移到Amazon RDS上的PostgreSQL
MongoDB 或 PostGreSQL 使用 Python Django 和 Express 和 Node js 会更好 [关闭]