MySQL 8 和 PostgreSQL 10 的介绍和对比

Oracle、MySQL、PostgreSQL对比 在对比 Oracle、MySQL 和 PostgreSQL 关于 range/list 分区键更新操作时, 阅读详情

在这些版本之前,人们普遍认为,Postgres 在功能集表现更出色,MySQL 则更善长大规模并发读/写。但是随着它们最新版本的发布,两者之间的差距明显变小了。

特性比较

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

 

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

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

在 PostgreSQL 中进行复制缺乏配置灵活性,这就是 Uber 转向 MySQL 的原因。但是现在,有了逻辑复制特性,就可以通过创建一个新版本的 Postgres 并切换到它来实现零停机升级。在一个巨大的时间序列事件表中截断一个陈旧的分区也要容易得多。

就特性而言,这两个数据库现在都是一致的。

 

有哪些不同之处呢?

现在,我们只剩下一个问题 —— 那么,选择一个而不选另一个的原因是什么呢?

生态系统是其中一个因素。MySQL 有一个充满活力的生态系统,包括 MariaDB、Percona、Galera 等等,以及除 InnoDB 以外的存储引擎,但这也可能是和令人困惑的。Postgres 的高端选择有限,但随着最新版本引入的新功能,这会有所改变。

治理是另一个因素。当 Oracle(或最初的 SUN)收购 MySQL时,每个人都担心他们会毁掉这个产品,但在过去的十年里,这并不是事实。事实上,在收购之后,发展反倒加速了。而 Postgres 在工作管理和协作社区方面有着丰富的经验。

基础架构不会经常改变,虽然近来没有对这方面的详细讨论,这也是值得再次考虑的。

来复习下:

特性MySQL 8PostgreSQL 10
架构单进程多进程
并发多线程fork(2)
表结构 聚簇索引堆
页压缩TransparentTOAST
更新In-Place / Rollback SegmentsAppend Only / HOT
垃圾回收清除线程自动清空进程
事务日志REDO Log (WAL)WAL
复制日志Separate (Binlog)
数据库:PostgreSQL 和 MySQL对比 比较版本:PostgreSQL 11 VS MySQL5.7(innodb引擎) Oracle官方社区版版权情况:PostgreSQL 11(免费开源)、MySQL5.7 Oracle官... 阅读详情

相关推荐

PostgresChina2018张启程为什么我们抛弃MongoDB和MySQL选择PgSQL.pdf

Postgres中国技术大会2018(大象汇,第8届)16日主会场 PPT 主要章节: 任何数据库都很好用主要业务场景目前服务器架构MySQL应用史MySQL MongoDBPgSQL≈MySQL MongoDB关于PgSQL运维

mysql8迁移到postgre16

在迁移过程中,可能需要根据实际情况调整迁移脚本中的选项。例如,如果需要迁移的数据表中包含存储过程、触发器等,可能需要添加相应的选项来处理这些对象。非必须步骤, 可以直接使用命令。

weixin_59600232的博客 1273

Unity 多线程编程笔记 _Task详解

士大夫

weixin_43405845的博客 4384

MySQL8和PostgreSQL10功能对比

现在MySQL 8和PostgreSQL 10已经发布,现在是重新审视两个主要的开源关系数据库如何相互竞争的好时机。在这些版本之前,一般的看法是,虽然Postgres在功能集及血统方面更...

后场技术 957

告别‘报错马拉松’:一份保姆级的Ubuntu 20.04编译OpenWrt 15.05环境配置与问题修复清单

本文提供了一份详细的Ubuntu 20.04编译OpenWrt 15.05的环境配置与问题修复指南,帮助开发者告别‘报错马拉松’。从基础环境搭建到典型报错分类与修复方案,再到高阶问题的深度修复,全面覆盖编译过程中可能遇到的各类问题,并提供自动化补丁脚本和Docker环境固化方案,确保编译过程高效顺畅。

weixin_33230433的博客 295

无痛安装及初始配置 PHP 8.0.3 + Apache 2.4 + MySQL 8.0

PHP 8.0.3 + Apache 2.4 + MySQL 8.0MySQL 8.0.23 安装下载安装配置环境变量初始化MySQLPHP8.0.3 安装下载安装配置环境变量Apache 2.4 安装下载安装启动 MySQL 8.0.23 安装 下载 到官方网站下载:https://dev.mysql.com/downloads/mysql/ 目前的最新版本是MySQL 8.0.23 在Windows上有两种安装方式,一个是zip压缩文件解压然后配置,另一个是图像化界面安装。 这里选择第一种方法安装:

Kuang Da's Blog 6208

Postgresql、Mysql8特性

分析函数名(参数) OVER (PARTITION BY子句 ORDER BY子句 ROWS/RANGE子句)。分析子句:PARTITION BY :分组子句,表示分析函数的计算范围,不同的组互不相干;ORDER BY: 排序子句,表示分组后,组内的排序方式;ROWS/RANGE:窗口子句,是在分组(PARTITION BY)后,组内的子分组(也称窗口),此时分析函数的计算范围窗口,而不是PARTITON。窗口有两种,ROWS和RANGE;

qq_45932374的博客 805

深度残差网络的无人机多目标识别

深度残差网络的无人机多目标识别 人工智能技术与咨询 来源:《图学学报》。作者翟进有等 摘要:传统目标识别算法中,经典的区域建议网络(RPN)在提取目标候选区域时计算量大,时间复杂度较高,因此提出一种级联区域建议网络(CRPN)的搜索模式对其进行改善。此外,深层次的卷积神经网络训练中易产生退化现象,而引入残差学习的深度残差网络(ResNet),能够有效抑制该现象。对多种不同深度以及不同参数的网络模型进行研究,将两层残差学习模块与三层残差学习模块结合使用,设计出一种占用内存更小、时间复杂度更低的新型多捷.

m0_62870606的博客 3111

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

既然MySQL 8和PostgreSQL 10已经发布了,现在是时候回顾一下这两大开源关系型数据库是如何彼此竞争的。 在这些版本之前,人们普遍认为,Postgres在功能集表现更出色,也因其“学院派”风格而备受称赞,MySQL则更善长大规模并发读/写。 但是随着它们最新版本的发布,两者之间的差距明显变小了。 特性比较 首先来看看我们都喜欢谈论的“时髦”功...

weixin_34405557的博客 654

MAX31865模块温度测量

本文主要介绍MAX31865 测温注意事项,并写出读取温度的示例代码,模块详细参数可以查阅相关手册,

7456

CANOE DIVA 工程怎样在具体服务前增加前置条件

然后会在CANoe的Test Module视窗中发现一个跟系统条件相关的Test Module模块,在该模块中有生成跟系统条件相关的CAPL 脚本。这里需要根据你的实际项目进行更改,diva工程加载到canoe的工程的时候,会同步加入你创建的cdd文件,这里示例的ABS_ESP 就是你的cdd的ECU命名,后面就是具体的前置条件服务。4、配置完成后,测试用例就会如下图Trace窗口所示,在每一次10 02请求之前都会调用CAPL Function的PreconditionCheck函数中定义的脚本。

weixin_45940007的博客 1964

兑吧:从自建HBase迁移到阿里云HBase实战经验

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34390105的博客 119

用Python模拟随机游走:从一维到三维,直观理解马尔可夫链的常返性

本文通过Python模拟一维到三维的随机游走,直观展示马尔可夫链的常返性特性。使用NumPy和Matplotlib构建模拟器,揭示不同维度下随机游走的返回概率差异,帮助读者理解为什么一维和二维游走具有常返性,而三维游走可能永远迷失。文章包含完整的代码示例和可视化技巧,适合概率论和Python编程爱好者学习实践。

weixin_28694295的博客 400

mysql8和postgresql比较_MySQL8和PostgreSQL10功能对比

现在MySQL 8和PostgreSQL 10已经发布,现在是重新审视两个主要的开源关系数据库如何相互竞争的好时机。在这些版本之前,一般的看法是,虽然Postgres在功能集及血统方面更胜一筹,但MySQL在大规模并发读/写操作方面进行了更多的大规模测试。但是随着最新版本的发布,两者之间的差距已大大缩小。功能对比下面看一下通常我们认为比较时髦的功能。特征MySQL8PostgreSQL10查询和分...

weixin_39623716的博客 1705

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

PostgreSQL与MySQL语法对比总结

总结下PostgreSQL的语法, 对比MySQL的语法. PostgreSQL两种分页方法查询 第一种 SELECT * FROM test_table WHERE i_id>1000limit 100; 第二种 SELECT * FROM test_table limit 100 OFFSET1000; 在3000W数据的时候,建议使用第一种. mysq...

长河的博客 3万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

MySQL 8.0与PostgreSQL 15.8的性能对比

MySQL 8.0:适合读多写少的场景,行级锁定减少了锁的竞争,但在高并发下可能面临性能下降的问题。:在高并发环境下表现出色,MVCC机制减少了锁的竞争,提高了并发处理能力,尤其在复杂查询和写操作上更具优势。根据具体的业务需求和项目规模来选择适合的数据库。如果对数据库的简单性和性能要求较高,可以选择MySQL。如果需要更复杂的数据类型和功能,以及高度并发和可扩展性,可以选择PostgreSQL。

sunsiny 4322

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

全方位对比PostgreSQL和MySQL

PostgreSQL的设计哲学重视长期稳定性和可扩展性,鼓励模块化设计和社区驱动的创新,这使得它能够适应不断发展的数据管理和分析需求。它的出现恰逢互联网泡沫时期,迅速获得了Web开发者的青睐,成为众多网站和应用的首选数据库。考虑以上因素的同时,建议进行小规模的POC(Proof of Concept,概念验证),实际测试数据库在特定工作负载下的表现,从而做出最终决策。此外,随着技术的发展,两个数据库系统都在持续改进和增加新功能,保持对最新动态的关注也是选择过程中的重要一环。- 连接池管理提高并发处理能力。

weixin_43298211的博客 1万+

MySQL 8 与 PostgreSQL 17 对比分析及迁移指南

MySQL 8与PostgreSQL 17对比分析及迁移指南。MySQL以简单易用和高性能见长,适合Web应用;PostgreSQL 17则功能更全面,标准兼容性更强,适合复杂企业级场景。对比显示,PostgreSQL在JSON处理、高可用、复杂查询等方面优势明显。迁移步骤包括:需求分析、环境搭建、模式转换(如AUTO_INCREMENT改为SERIAL)、数据迁移(推荐pgloader工具)、应用改造(调整SQL语法)及测试优化。需注意字符集、大小写、锁机制等差异。建议通过工具迁移并充分验证,Postgr

灵犀物润 1422

PostgreSQL和MySQL对比

下面我将从以下几个方面阐述MySQL和PostgreSQL的异同和优劣: 开源性: PostgreSQL:The world’s most advanced open source database。 开源协议:PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即可。 PG的开源协议特别灵活,任何公司的和个人都可以把PG作为一个产品销售,而不需要像MySQL那样必须修改大部分代码才可以作为公司的产品。 MySQL:World’s Mo..

qq_654603797 2万+

MySQL与PostgreSQL对比

MySQL与PostgreSQL对比 2000万计算逻辑 三层情况下:1170 * 1170 * 16 = 21902400,得出两千万左右条数据 PostgreSQL单表最大32T,不限制记录数,但最多能存多少条记录还要看单条记录大小和对查询性能的要求,如果没有复杂的查询或统计操作正常单表上亿条记录查询性能也是能接受的。否则就要考虑分区或分库分表操作。看网上经验值,为保证较好的查询性能,MySQL在单表1000w~2000w数据记录时就要考虑分库分表操作。

话数Science 4403

MySQL 和 PostgreSQL 的详细对比

【代码】MySQL 和 PostgreSQL 的详细对比。

寓教于乐。教己助人 1803

PostgreSQL 与 MySQL 对比

PostgreSQL与MySQL对比 转自: https://blog.youkuaiyun.com/tiandao2009/article/details/79839037 都属于开放源码的一员,性能和功能都在高速地提高和增强。MySQL AB的人们和PostgreSQL的开发者们都在尽可能地把各自的数据库改得越来越好,所以对于任何商业数据库使用其中的任何一个都不能算是错误的选择。 PostgreSQL :...

gorrice的博客 2341

MySQL 与 PostgreSQL 对比

MySQL优势简单易用,部署轻量高并发简单查询性能好复制配置简单广泛的云服务支持PostgreSQL优势功能全面,标准兼容性好复杂查询处理能力强数据类型和扩展性丰富数据完整性和安全性更强对于大多数Web应用,MySQL可能是更简单直接的选择;而对于需要处理复杂数据、需要高度定制化或有高级分析需求的应用,PostgreSQL通常是更强大的解决方案。两者都在持续发展,差距在某些领域正在缩小,但核心设计哲学的差异仍然存在。

刘皇叔说Java的博客 1588
上一篇: Flink及Storm、Spark流框架比较
下一篇: BST、AVL、B树、B+树、B*树
redfivehit
博客等级 码龄19年 32粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值