PostgreSQL 18 JSONB 增加能取代 MongoDB 吗?

239 天前
 lxue
5002 次点击
所在节点    PostgreSQL
31 条回复
niubiman
239 天前
@niubiman 是" json 反之"
zhengfan2016
239 天前
实话说,我很讨厌 mongodb ,有些公司很喜欢用 mongodb 存数据,经常做一些需要关系查询的活,放着 mysql 和 pgsql 不用,mongodb 又没什么比较好的 orm 库(nodejs 除外)。开发体验相比 sql 就是一坨
yh7gdiaYW
239 天前
@zhengfan2016 MongoDB 本来就不应该使用 ORM 库,等于主动放弃了灵活性上的优势
skallz
239 天前
@zhengfan2016 mongodb 主要是应付多变的业务场景,很多人就喜欢用,比如初期的 saas 项目,游戏项目等等,这类场景迭代速度远远超过你的设计速度,哈哈,当然代价就是维护火葬场,不过这类项目开始目标都是活下来,后续维护都不一定会有了
QlanQ
239 天前
@zhengfan2016 mongodb 本来就是为了 不做 关系才用的,把关系提前找好,用来做大宽表,可以理解成把 连表查询后的所有字段 放在一行
yh7gdiaYW
239 天前
曾经重度使用过 MongoDB ,在我看来 MongoDB 的主要优势是:
1. JSON 操作语法完爆所有基于 SQL 的语法,配合 Python 、NodeJS 这类语言用的很舒服(反之我感觉喜欢写 JAVA 的人会很讨厌 MongoDB ),SQL 的 JSON 语法在我看来简直是鬼画符。
2. 灵活性很高,比如连集合(数据表)都不需要事先建好、建索引语句可以重复调用等
3. 统计查询的性能不错,比 pg 和 mysql 都要强。但有联表查询需求的话就蛋疼了,单表性能也打不过现代的列存数据库。
缺点就更多了,16MB 的单文档限制非常操蛋,事务必须搭 replica set ,多表联查能力残疾等,我们的新项目慢慢也不再使用 MongoDB
yh7gdiaYW
239 天前
@skallz 说得对,我们前期 python+mongodb 开发效率简直上天了,代价是后期各种重构
zhang77555
239 天前
不能, 性能和查询灵活度都替代不了
leeg810312
238 天前
我在 SQL Server 和 MySQL 里用过文本 Json 字段,我的体验是,系统设计中不需要这些字段有比较重度的索引、查询和聚合等需求,在数据库层面只是字段存储的话,是很合适的。我选择的 ORM 支持比较方便的自定义方式双向访问 JSON 字段数据和实体对象属性,可以在数据结构尚无法确定的阶段,将局部可能改变的字段先放到 JSON 字段里。推广到其他关系型数据库,我想应该也是适用的。现在做系统设计,倾向于将业务逻辑做在应用里,而不是数据库系统里,所以除了 JSON B 索引和查询优化,我是不会考虑利用 PG 关于 Json 字段特性的。
Philippa
238 天前
json 功能很久了,性能提升不是刚需。pg 的 json 适合 sql 刚需偶尔有点动态数据的需求。另外因为 db 可 json ,代码里面的类型结构更要限得死死的。
roundgis
235 天前
@yh7gdiaYW 很多用 mongodb 的项目就活不到需要重构的时候。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1113761

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX