惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
Recorded Future
Recorded Future
T
Tenable Blog
S
Securelist
C
CERT Recently Published Vulnerability Notes
T
Threatpost
S
Schneier on Security
A
Arctic Wolf
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
Know Your Adversary
Know Your Adversary
P
Privacy International News Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Register - Security
The Register - Security
Cisco Talos Blog
Cisco Talos Blog
AWS News Blog
AWS News Blog
K
Kaspersky official blog
T
True Tiger Recordings
T
Threat Research - Cisco Blogs
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
T
The Exploit Database - CXSecurity.com
小众软件
小众软件
B
Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
Cyberwarzone
Cyberwarzone
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tor Project blog
Spread Privacy
Spread Privacy
Malwarebytes
Malwarebytes
P
Proofpoint News Feed
F
Fox-IT International blog
F
Fortinet All Blogs
P
Privacy & Cybersecurity Law Blog
G
GRAHAM CLULEY
量子位
Latest news
Latest news
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
Project Zero
Project Zero
T
Tailwind CSS Blog
N
Netflix TechBlog - Medium
Martin Fowler
Martin Fowler
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
I
Intezer
博客园_首页
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
Darknet – Hacking Tools, Hacker News & Cyber Security

PostgreSQL

五年过去了,结论有什么变化吗? 适配信创数据库的人的精神状态 be like 用了十几年的 MySQL 了,突然发现 PostgreSQL 可能更加适合我,大家怎么看? postgresql 多进程改多线程 二键安装一个 postgresql 服务 通过 pg_roaringbitmap 优化标签查询的话,有没有必要做高频标签映射和结合普通复合索引? PostgreSQL + TimescaleDB 方案不按主键索引走,有什么办法吗? 看看大家现在用 pg 的最佳实践是怎么样的 用 PostgreSQL 存图片等 binary 有什么坑吗 [求助] 在哪个网址能够下载 PostgresSQL 9.3.0 版本的 Windows 二进制安装包?官方/ftp/old/binary 里没有。 [请教]pgvector 的性能问题 多笔记本离线 PostgreSQL 数据库同步问题: UUID vs 自增主键 PostgreSQL 通过分 Database 做多租户可行吗? PostgreSQL 多租户的正确姿势 Postgresql 放 K8S 里,大家目前都用的什么方案呢? 2025 年 postgresql 有什么优秀的备份解决方案 有大神研究过 pg_resetwal 的原理吗,为什么会丢 user 表的数据 按照 stackoverflow 教程执行 pg_resetwal, postgresql 的数据库被清空了 求国内高性价比的 postgresql 服务,纳米项目 请教一个关于 PostgreSQL 连接被 Server 关闭的问题 PostgreSql Oracle 迁移 postgreSQL ,有什么经验分享 有什么权限管理最佳实践吗 请教 PostgreSQL 和 PostGIS 使用问题 pg 的毫秒级时间戳转换 关于 PostgreSQL 中的 max_connections 和 pg_stat_activity 的疑惑 目前国内最高性价比的 postgresql 服务是? 新手,请问 postgres 怎么配置 vacuum 学习 PostgreSQL,有什么资料推荐? Apache AGE 和 Neo4j 哪个更好? 有没有像 Citus 那样方便分片的图数据库? 怎样使用 C 语言访问 PostgreSQL 集群? 小系统 数据库 mysql 和 postgresql 比对 和 wordpress 数据库技术选型 PostgreSQL 没有 on update current_timestamp 感觉好麻烦 主从同步使用的端口号可以和数据库端口号不同吗? 为什么有时 PostgreSQL 有时会表现得比较卡? 第一次使用 PostgreSQL,连建表都不会,请教点经验 Java 有没有针对 PostgreSQL 好用一点的 ORM 请教,有无简单易用的 PostgreSQL 表结构、数据的同步工具? PostgreSQL 启动失败 PostgreSQL 数据库 正常情况下指定了 locale=C 与 encoding=UTF8 (最简单) 错误迁移 pgsql 导致日志报 warning,请问如何解决? 从 Mongodb 到 PostgreSQL 的大迁移 有无 pg 的入门精进博客或者视频推荐 有什么不通过写脚本的方式,将 postgreSQL 的建表语句转换为 doris 的建表语句吗? 新的 PostgreSQL 语言插件 PL/PRQL 请教一个经典的 postgres 的 sql 怎么写 洗数据:如何将 Contact 和 ContactTag 多对多关联起来 Postgres 在中国还能起来么? PostgreSQL 17 增加增量备份的功能
PostgreSQL 18 JSONB 增加能取代 MongoDB 吗?
jinyan01 · 2025-02-24 · via PostgreSQL
8PCSIZ7tmy4x9xFJ

1

8PCSIZ7tmy4x9xFJ      2025 年 2 月 24 日

PostgreSQL 18 在新版本中加入了许多有趣的新功能,比如对 JSONB 的增强支持、对全文搜索的优化、以及更强大的扩展能力等,的确使得 PostgreSQL 在一些应用场景下更具竞争力。不过,能否完全取代 MongoDB ,还是要看具体的使用场景。

PostgreSQL 18 的新功能亮点
JSONB 和文档存储增强:PostgreSQL 18 加强了对 JSONB 数据类型的支持,提供了更强的索引优化和查询性能,对于需要存储非结构化数据或半结构化数据的应用,能够提供类似 MongoDB 的功能。

全文搜索:PostgreSQL 在全文搜索的表现也有所提升,尤其在复杂查询和多字段匹配方面。虽然 MongoDB 在搜索引擎方面的支持也不错,但 PostgreSQL 通过扩展(如 pg_trgm 和 tsvector )能够实现更强的文本搜索能力。

聚合与扩展性:PostgreSQL 提供了比 MongoDB 更强大的聚合功能,尤其在数据分析领域,PostgreSQL 可以执行复杂的 SQL 查询,支持事务、外键约束等,适合需要强一致性的场景。

扩展支持:PostgreSQL 的扩展支持非常强大,可以通过各种插件增强数据库的功能,甚至可以结合 PostGIS 执行空间数据查询等。而 MongoDB 则主要专注于文档存储和灵活的键值数据存储。

PostgreSQL 与 MongoDB 的对比
数据模型差异:MongoDB 是一个面向文档的 NoSQL 数据库,天然支持 JSON 格式的数据结构,适合高并发、分布式的应用,且无模式的设计非常灵活。PostgreSQL 在 JSONB 类型上虽然有所增强,但本质上还是关系型数据库,更适合复杂的关系型数据结构和事务。

水平扩展:MongoDB 在水平扩展( sharding )方面有天然的优势,特别是在处理大规模、分布式数据时,MongoDB 更容易做到自动分片和扩展。虽然 PostgreSQL 在某些扩展方面也支持分布式部署,但在水平扩展的能力上,MongoDB 更加成熟。

事务支持:PostgreSQL 提供了强一致性的事务支持,适用于需要高数据一致性和复杂查询的场景。MongoDB 在事务支持上有改进,但在一些场景下仍然不如 PostgreSQL 可靠。

结论
虽然 PostgreSQL 18 通过增强对 JSONB 和全文搜索的支持,能在一定程度上取代 MongoDB 处理半结构化数据的能力,但如果你需要处理大规模分布式数据、自动扩展、以及更灵活的数据模式,MongoDB 依然在这些方面表现更好。

因此,是否能完全取代 MongoDB ,取决于你的应用场景。如果是需要强一致性、复杂关系数据和复杂查询的系统,PostgreSQL 可能是更好的选择。如果是需要处理大规模分布式文档数据和灵活存储,MongoDB 可能更合适。

knightgao2

3

knightgao2      2025 年 2 月 24 日   ❤️ 1

好好说话
我们希望能够在 V2EX 建立和倡导一种好好说话的氛围。

请尽量描述事实,而非观点。
如果你要反驳什么,请反驳那个主要的要点,而不是一些旁枝末节。
我们建立这里的主要目的是为了讨论技术细节。不要在 V2EX 讨论任何国家的政治。
如果你要说的话是为了伤害别人,那么请不要说。如果你要说的话,你有预感在将来你会想要删掉它,那你最好现在就不要说。
在一个公共空间的公共讨论中,我们应该关注的,是自己能够在这些讨论中提供什么样的建设性增益,而不是那些纯粹个人的感受。比如当大家在讨论一件你不了解的东西时,你没有必要去回复一条“不明觉厉”。
请不要把 AI 生成的回复,当作你自己的回复,发到这里。
回忆一下你看过的电影里的那些正面角色的说话方式——把一件事情好好陈述出来,没有冷笑,没有嘲讽,没有反问,就只是好好说话而已。

niubiman

20

niubiman      2025 年 2 月 24 日

@musi pgsql 钟的 jsonb 和 json 是存储方式不同, jsonb 是采用二进制存储,json 是文本存储, jsonb 写入性能差一些, 读取性能高一些, jsonb 反之, 我没怎么用过 mysql 的 json, 我才差异可能类似吧

skallz

24

skallz      2025 年 2 月 24 日

@zhengfan2016 mongodb 主要是应付多变的业务场景,很多人就喜欢用,比如初期的 saas 项目,游戏项目等等,这类场景迭代速度远远超过你的设计速度,哈哈,当然代价就是维护火葬场,不过这类项目开始目标都是活下来,后续维护都不一定会有了

yh7gdiaYW

26

yh7gdiaYW      2025 年 2 月 24 日   ❤️ 1

曾经重度使用过 MongoDB ,在我看来 MongoDB 的主要优势是:
1. JSON 操作语法完爆所有基于 SQL 的语法,配合 Python 、NodeJS 这类语言用的很舒服(反之我感觉喜欢写 JAVA 的人会很讨厌 MongoDB ),SQL 的 JSON 语法在我看来简直是鬼画符。
2. 灵活性很高,比如连集合(数据表)都不需要事先建好、建索引语句可以重复调用等
3. 统计查询的性能不错,比 pg 和 mysql 都要强。但有联表查询需求的话就蛋疼了,单表性能也打不过现代的列存数据库。
缺点就更多了,16MB 的单文档限制非常操蛋,事务必须搭 replica set ,多表联查能力残疾等,我们的新项目慢慢也不再使用 MongoDB

leeg810312

29

leeg810312      2025 年 2 月 24 日

我在 SQL Server 和 MySQL 里用过文本 Json 字段,我的体验是,系统设计中不需要这些字段有比较重度的索引、查询和聚合等需求,在数据库层面只是字段存储的话,是很合适的。我选择的 ORM 支持比较方便的自定义方式双向访问 JSON 字段数据和实体对象属性,可以在数据结构尚无法确定的阶段,将局部可能改变的字段先放到 JSON 字段里。推广到其他关系型数据库,我想应该也是适用的。现在做系统设计,倾向于将业务逻辑做在应用里,而不是数据库系统里,所以除了 JSON B 索引和查询优化,我是不会考虑利用 PG 关于 Json 字段特性的。