MySQL8与PG10:新版本下的较量谁更胜一筹?

既然MySQL 8和PostgreSQL 10已经发布了,如今是时候回顾一下这两大开源关系型数据库是如何彼此竞争的。数据库

在这些版本以前,人们广泛认为,Postgres在功能集表现更出色,也因其“学院派”风格而备受称赞,MySQL则更善长大规模并发读/写。并发

可是随着它们最新版本的发布,二者之间的差距明显变小了。函数

特性比较排序

首先来看看咱们都喜欢谈论的“时髦”功能。递归

特性 MySQL 8 PostgreSQL 10
查询 & 分析    
公用表表达式 (CTEs) New  
窗口函数 New  
数据类型    
JSON支持 Improved  
GIS / SRS Improved  
全文检索    
可扩展性    
逻辑复制   New
半同步复制   New
声明式分区   New

过去常常会说MySQL最适合在线事务,PostgreSQL最适合分析流程,但如今不是了。事件

公共表表达式(CTEs)和窗口函数是选择PostgreSQL的主要缘由。可是如今,经过引用同一个表中的boss_id来递归地遍历一张雇员表,或者在一个排序的结果中找到一个中值(或50%),这在MySQL上再也不是问题。事务

在PostgreSQL中进行复制缺少配置灵活性,这就是Uber转向MySQL的缘由。可是如今,有了逻辑复制特性,就能够经过建立一个新版本的Postgres并切换到它来实现零停机升级。在一个巨大的时间序列事件表中截断一个陈旧的分区也要容易得多。同步

就特性而言,这两个数据库如今都是一致的。table

相关文章
相关标签/搜索