专栏名称: Java基基
一个苦练基本功的 Java 公众号,所以取名 Java 基基
目录
相关文章推荐
河北音乐广播  ·  9.9元吃牛排!5分钟搞定!肉汁鲜嫩,意面+ ... ·  7 小时前  
河北音乐广播  ·  9.9元吃牛排!5分钟搞定!肉汁鲜嫩,意面+ ... ·  7 小时前  
胡萝卜周  ·  商务合作 ·  10 小时前  
胡萝卜周  ·  商务合作 ·  10 小时前  
都市晨报  ·  徐州中小学生,暑假能去英国插班上学? ·  昨天  
都市晨报  ·  徐州中小学生,暑假能去英国插班上学? ·  昨天  
医院运营咨询新知  ·  公众号广告位招募 ·  昨天  
医院运营咨询新知  ·  公众号广告位招募 ·  昨天  
洪观新闻  ·  败者组一穿五!TES夺得2025LPL第一赛 ... ·  2 天前  
51好读  ›  专栏  ›  Java基基

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

Java基基  · 公众号  ·  · 2024-05-04 19:49

正文

👉 这是一个或许对你有用 的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入 芋道快速开发平台 知识星球。 下面是星球提供的部分资料:

👉 这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能:

  • Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud
  • 视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本

来源:juejin.cn/post/
7324362442229891124


一、 数据库简介 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 可以理解为命名空间,不影响使用

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 视频教程:https://doc.iocoder.cn/video/

二、性能对比

测试环境

MySQL:

  • 硬件配置:4核心 16GB内存
  • 版本:MySQL 8.0

Postgres SQL:

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

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

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

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud
  • 视频教程:https://doc.iocoder.cn/video/

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

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

但这些并不意味着MYSQL是最好的。

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

MySQL适用的场景

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

Postgres SQL适用的场景

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

四、总结







请到「今天看啥」查看全文


推荐文章
胡萝卜周  ·  商务合作
10 小时前
胡萝卜周  ·  商务合作
10 小时前
医院运营咨询新知  ·  公众号广告位招募
昨天
医院运营咨询新知  ·  公众号广告位招募
昨天
济宁潮事儿  ·  招聘 | 揽一程清风,唯愿你扶摇直上
7 年前
火影忍者  ·  周末活动更新公告
7 年前