<返回更多

为什么高性能场景选用Postgres SQL 而不是 MySQL

2024-02-19  今日头条  极速星空4DO
加入收藏

 

一、 数据库简介 TLDR;

1.1 MySQL MySQL声称自己是最流行的开源数据库,它属于最流行的RDBMS (Relational Database Management System,关系数据库管理系统)应用软件之一。LAMP中的M指的就是MySQL。构建在LAMP上的应用都会使用MySQL. MySQL最初是由MySQL AB开发的,然后在2008年以10亿美金的价格卖给了Sun公司,Sun公司又在2010年被Oracle收购。Oracle收购导致MySQL的出现两个版本:商业版和社区版。对于后者,由于Oracle控制了MySQL的开发,受到了广大使用者的批评。

1.2 PostgreSQL PostgreSQL标榜自己是世界上最先进的开源数据库,属于关系型数据库管理系统(ORDBMS), 是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统, 最初是1985年在加利福尼亚大学伯克利分校开发的,作为Ingres数据库的后继。PostgreSQL是完全由社区驱动的开源项目。 它提供了单个完整功能的版本,而不像MySQL那样提供了多个不同的社区版、商业版与企业版。PostgreSQL基于自由的BSD/MIT许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即可。

Note:

MySQL的层级关系: 实例 -> 数据库 -> 表

Postgres 的层级关系: 实例 -> 数据库 -> Schema -> 表

schema 可以理解为命名空间,不影响使用

二、性能对比

测试环境

markdown

复制代码

MySQL: - 硬件配置: 4核心 16GB内存 - 版本: MySQL 8.0 Postgres SQL: - 硬件配置: 4核心 16GB内存 - 版本:Postgres SQL 13

 

此次压测数据, SELECT 均为SELECT 按照主键查询, UPDATE按照主键进行UPDATE, INSERT则为一次INSERT一行数据。从压测数据上来看,我们可以得出以下几个结论:

  1. 在吞吐量上而言,Postgres SQL 在SELECT性能上优于MySQL一倍, 在INSERT上优于4-5倍, UPDATE 则优5-6倍
  2. 从平均耗时上来看, Postgres SQL优于MySQL不止数倍
  3. 尤其从热点行更新上看出,MySQL性能仅为Postgres SQL的, 1/8左右,耗时也增加了7倍

三、适用场景,如何选择?

相对于Postgres MySQL更简单, 所以有着更高的流行度, 在技术资料,以及技术组件支持上,支持的也更完善一些, 但不意味着它并不是不能替代的, 于笔者而言, MYSQL更像用于中小企业、个人的一款数据库工具, 因为会的人多, 文档资料比较完善,所以入手难度低。 但这些并不意味着MYSQL是最好的。

 

从上图来看Postgres SQL的发展势头非常迅猛,目前已经隐隐有追上MySQL的趋势, 而MySQL相对而言,使用情况受欢迎度一直呈现下降趋势。

MySQL适用的场景

MySQL适用于简单的应用场景,如电子商务、博客、网站等, 大中小型系统均可以使用MySQL, 它最高支持千万级别到数亿级别的数据量, 但是在高性能要求的情况下, 比如较快的响应和较高的吞吐量的时候, MYSQL的性能稍微捉襟见肘, 另外,在查询条件比较复杂、业务吞吐量要求不高,响应时长无要求,的时候,可以选择MYSQL,

Postgres SQL适用的场景

总的来说, Postgre SQL更适合复杂的数据结构、高级应用和大规模数据集, 当然如果数据规模比较小, 也可以选择Postgres SQL, 无论是什么场景,如果你想用Postgres SQL, 总可以找到对应的解决方法, 有且仅有, 在查询条件比较复杂,的时候不太适用, 因为根据我们实际线上的业务表现是 Postgre SQL可能会选错索引。

四、总结

PostgreSQL相对于MySQL的优势

Postgre SQL之于MySQL相对劣势:

 

作者:winjeg
链接:
https://juejin.cn/post/7324362442229891124

关键词:Postgres SQL      点击(9)
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多Postgres SQL相关>>>