MySQL vs PostgreSQL: 5个你最关注的非技术维度的区别

“ 开源数据库中有一对冤家,我想大家都知道,那就是 MySQL 与 Postgre SQL。两个派系的恩怨情仇从何而来,今天我们将从非技术的角度来进行分析。 本文仅代表个人观点,如有不同意见欢迎交流。”

说明:本文主要的关注点,是 MySQL 与 PostgreSQL 的非技术比较。

简单评价

MySQL 流行较多,PostgreSQL 功能更全面。其主要原因是,MySQL很早的时候,就支持主从复制,在互联网起步(2000 年后第一次互联网大潮)的时候,被广泛使用。PostgreSQL 到2010 年左右才首次支持主从复制,无法作为互联网类应用的核心,错过了较好的发展机会,在非互联网领域,由于在商业支持以及数据库特性支持方面,无法与商业数据库如 Oracle 等较量,PostgreSQL 始终未能形成潮流,到 Greenplum 出现,才在 OLAP 数据仓库领域得到广泛使用。

核心特点

MySQL

目前最流行的开源数据库。

由于其部署方便,运维简单,被广泛用于互联网的各个领域,目前随着整体 IT 架构的变更,传统的金融,电信业务,也开始逐渐从 Oracle 向 MySQL 迁移。

主打架构为主从异步复制,在 5.5 开始,支持半同步复制,5.7 开始,支持 Group Replication 复制。

PostgreSQL

开源的关系数据库里面,功能最丰富的数据库。

支持到 SQL 标准 2008(MySQL 只支持到 SQL 89 以及 SQL92 的一部分),以及 SQL OLAP 2003 标准(MySQL 基本没有支持)。被广泛用于数据仓库类应用,基于其发展出来的 Greenplum 作为分布式并行计算数据库架构被广泛使用。

数据库的主从复制,支持异步,日志同步,写同步等多种级别。

发展历史

MySQL

  • MySQL 最早来源于 MySQL AB 公司前身的 ISAM 与 mSQL 项目(主要用于数据仓库场景),于 1996 年前后发布第一个版本 MYSQL 1.0,当时只支持 SQL 特性,没有事务支持。
  • 随后 MySQL 正式发布 3.11.1 版本,是第一个对外提供服务的版本,MySQL 主从复制功能也是从这个时候加入到 MySQL。
  • 2000 年前后,InnoDB 引擎出现,并试图加入到 MySQL 中。
  • 2003 年 12 月,MySQL 5.0 版本发布,提供了视图、存储过程等功能。
  • 2008 年 1 月,MySQL AB 公司被 Sun 公司以 10 亿美金收购,MySQL 数据库进入 Sun时代。在 Sun 时代,Sun 公司对其进行了大量的推广、优化、Bug 修复等工作。
  • 2008 年 11 月,MySQL 5.1 发布,它提供了分区、事件管理,以及基于行的复制和基于磁盘的 NDB 集群系统,同时修复了大量的 Bug。
  • 2009 年 4 月,Oracle 公司以 74 亿美元收购 Sun 公司,自此 MySQL 数据库进入Oracle 时代,而其第三方的存储引擎 InnoDB 早在 2005 年就被 Oracle 公司收购。
  • 2010 年 12 月,MySQL 5.5 发布,其主要新特性包括半同步的复制及对SIGNAL/RESIGNAL 的异常处理功能的支持,最重要的是 InnoDB 存储引擎终于变为当前MySQL 的默认存储引擎。MySQL 5.5 不是时隔两年后的一次简单的版本更新,而是加强了 MySQL 各个方面在企业级的特性。Oracle 公司同时也承诺 MySQL 5.5 和未来版本仍是采用 GPL 授权的开源产品。这个版本也是目前已知使用最广泛的 MySQL 版本,并且到目前位置,已知的 MySQL 第三方发行版,基本上都是从这一版本开始做独立分支,由于MySQL 5.5 版本被广泛使用,甚至到目前为止,Oracle 公司仍然对这个版本进行着维护。
  • 2011 年 4 月,MySQL 5.6 发布,作为被 Oracle 收购后,第一个正式发布并做了大量变更的版本(5.5 版本主要是对社区开发的功能的集成),对复制模式,优化器等做了大量的变更,其中最重要的主从 GTID 复制模式,大大降低了 MySQL 高可用操作的复杂性,除此之外,由于对源代码进行了大量的调整,到 2013 年,5.6 版本才正式 GA。
  • 2013 年 4 月,5.6 版本 GA 后,新特性的变更,开始作为独立的 5.7 分支进行进一步开发,在并行控制,并行复制等方面,进行了大量的优化调整,正式 GA 于 2015 年 10 月份,这个版本也是到目前为止的,最新的稳定版本分支。
  • 2016 年 9 月,Oracle 决定跳过 MySQL 5.x 命名系列,并抛弃之前的 MYSQL 6,7 两个分支(从来没有对外发布的两个分支),直接进入 MySQL 8 版本命名,也就是 MySQL 8.0 版本的开发,目前这个版本仍旧处于开发中,新特性尚未稳定。

PostgreSQL

  • PostgreSQL 的主要最初来源,是加州大学伯克利分校的教学项目,最早是名为 Ingres 的项目,后来项目进一步变更为 Postgre 项目,用于关系对象数据库课程的教学。
  • 1995 年,PostgreSQL 正式发布第一个可用版本 postgres95 版本,其首次集成 SQL 引擎进入 PostgreSQL 项目。
  • 随后的 1996 年,为了避免版本号混乱,PostgreSQL 重新发布版本 6.0,并在之后 4 年内,集成新功能并发布了版本 7.0,包括 MVCC 等重要特性都是在是这个时期加入的。
  • 2000 年后,7.0 版本到 7.4 版本,主要集中在围绕 SQL 92 标准的集成,以及数据库事务支持的完善上。
  • 2005 年,8.0 版本发布,主要变更集中在功能性方面,支持了基于时间点的数据库恢复,外部表空间等特性,随后的 8.x 版本。增加了分布式事务,以及 SQL/XML 标准的支持,窗口函数等 OLAP 特性等,并且支持 windows 平台 vc++ 编译器的编译。
  • 2010 年,PostgreSQL9.0 版本发布,正式引入 WAL 流复制(在之前的版本是不支持主从复制结构的),并正式支持 64 位 windows 平台。
  • 2011 年,PostgreSQL9.1 版本发布,支持同步复制,以及可串行化隔离级别等。
  • 2012 年,PostgreSQL 9.2 版本发布,支持级联复制,并在主从复制的易用性上,进行了大量改进型工作。
  • 2013 年,PostgreSQL 9.3 版本发布,支持物化视图,JSON 格式数据操作等。
  • 2014 年,PostgreSQL 9.4 版本发布,JSON 原生格式 jsonb 纳入数据类型体系,WAL可以解析为可读信息。
  • 2016 年 1 月,PostgreSQL 9.5 发布,安全控制可以到行级别,对排序与多 CPU 架构进行了大量针对性优化。
  • 2016 年 9 月,PostgreSQL 9.6 版本发布,新增并行查询,多从库同步复制等特性。

当前主流版本

MYSQL

  • MySQL 官方版以及商业版

Oracle 官方承诺支持新版本的开发,目前由 Oracle 官方的 MySQL 开发团队支持,网站站点为 https://www.mysql.com/。

MySQL 商业版相比较开源版本,主要是对安全,审计等方面的增强,如果需要实用,需要支付授权费用。

  • Percona Server

目前最活跃的第三方发行版本,由商业公司 Percona 公司支持,目前最大的开源数据库社区会议之一 Poercona Live 就是由 Percona 公司举办,主要是对 MySQL 的官方开源版本,进行功能性以及管理性进行强化,网站 https://www.percona.com/。

  • MariaDB

为了避免 Oracle 公司拥有 MySQL 后,停滞对 MySQL 的开发,MySQL 核心研发工程师Monty 与其开发团队在 MySQL 5.5 版本后,独立出 MariaDB 分支,并且随后变更版本号为10.x 系列版本,与 MySQL 官方不再同步代码与特性。其主要在功能性上相比较官方版本做了很多的增强,相当多无法进入官方分支的社区自发性功能性能方面的补丁(来自 google,facebook,阿里巴巴等)被加入到这一分支。

国内包括阿里巴巴,腾讯在内的数据库内核团队,都与 MariaDB 有较为深入的合作,其中来自阿里巴巴的彭立勋(MySQL ACE)目前是 MariaDB 复制功能部分的负责人。

目前,包括 readhat,ubuntu 在内的多个主流 linux 发行版本,内置的数据库版本均为MariaDB,而非 Oracle 公司的 MYSQL 版本。社区版本 http://mariadb.org/

  • 中国 MYSQL 第三方发行版
    • AliSQL
      • 来源为阿里巴巴阿里云 RDS 团队,对复制,安全等多方面都有增强,其主要版本基于 MySQL 5.6 开发,内置 TokuDB 等第三方存储引擎的支持。
    • InnoSQL
      • 来源为网易杭州研究院,主要作者为姜承尧(MySQL ACE), 对 MySQL 复制等方面有很多的增强实现。
    • OneSQL
      • 来源为平民软件的楼方鑫 (Oracle ACE),对数据库在高并发场景下的处理进行了很多优化。

PostgeSQL

PostgeSQL 目前主流为社区支持的官方版本,网站:https://www.postgresql.org/。

商业支持来自 EnterpriseDB 公司,包含一个增强了很多功能的商业版本,https://www.enterprisedb.com/

Pivotal 提供了基于 PostgeSQL 的 MPP 数据库 Greenplum 的支持,https://pivotal.io/

当前国内主要社区

MYSQL

  • CMUG

China MySQL User Group(简称 CMUG) 是中国 MySQL 爱好者自发形成的一个组织,为IOUC 官方注册的社区组织。

其主要成员为 MySQL ACE 以及其他 MySQL 社区有较大影响能力的人,主席周彦伟为MySQL ACE,去哪儿 MYSQL 经理,社区主要成员基本上都是来自各大互联网公司(阿里,腾讯,去哪,新浪等)的 MySQL 核心专家,http://acmug.com/acmug-member

有定时组织的全国巡游会议,以及社区群落。

PostgreSQL

  • PostgreSQL 中国用户组

来源于国内 PostgreSQL 社区主导的组织,核心成员为 PostgreSQL 的国内主要领袖,主席萧少聪目前为阿里云核心数据库专家。

当前主要使用范围

MySQL

  • 社交新闻类

包括腾讯(含微信),新浪,今日头条,陌陌等在内的已知的国内社交领域公司,数据库均是使用 MySQL。

  • 电商类

电商领域,阿里巴巴从 2009 年前后开始,逐渐替换原先的 Oracle(IOE)架构为 MySQL 开源架构,并在随后几年,完全替换所有 Oracle 架构。

京东最早为 SQL Server 架构,后续由于性能问题,经历短暂的 Oracle 时期后,目前主体核心均为 MySQL。

苏宁易购,早期为 IBM DB2 架构,后续逐渐替换为 MySQL 架构。

  • 互联网金融类

借贷宝:核心使用 MySQL 数据库,外围部分依赖系统使用 Oracle。

  • 游戏娱乐类

腾讯游戏:主体使用 MySQL 数据库。

PostgreSQL

  • 数据仓库类

由于 PostgreSQL 的第三方版本 Greenplum 在数据仓库的大量应用,目前 Greenplum 已经是实际的 MPP 数据库标准。

德邦快递:数百 TB 的 Greenplum 单个集群。

咪咕游戏:数百 TB 的 Greenplum 单个集群。

  • 业务系统类

由于对 SQL 特性的完整支持,对业务开发以及迁移相对友好,有很多地方采用 PostgreSQL 作为业务系统。

 

浙江移动:采用 PostgreSQL-XC 替换原先的 Oracle 架构。 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/269715.html<

(0)
运维的头像运维
上一篇2025-05-07 11:47
下一篇 2025-05-07 11:48

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注