开源数据库有很多敌人,我想大家都知道的就是MySQL和Postgre SQL。今天我们就从一个非技术的角度来分析一下这两个派系之间的恩怨是从哪里来的。本文仅代表个人观点。如有不同意见,请交流。
注意:本文的重点是MySQL和PostgreSQL的非技术比较。
简单评价
MySQL更流行,PostgreSQL功能更全面。主要原因是MySQL很早就支持主从复制,在互联网起步时(2000年后的第一次互联网浪潮)就被广泛使用。PostgreSQL直到2010年左右才第一次支持主从复制,所以不能作为互联网应用的核心,错过了一个很好的开发机会。在非互联网领域,PostgreSQL无法形成趋势,因为它在商业支持和数据库功能支持方面无法与甲骨文等商业数据库竞争,直到Greenplum出现后才在OLAP数据仓库中广泛使用。
核心功能
关系型数据库
目前最流行的开源数据库。
由于其部署方便、操作维护简单,被广泛应用于互联网的各个领域。目前随着整体IT架构的改变,传统的金融电信服务逐渐从Oracle迁移到MySQL。
主要架构是异步复制,从5.5开始,支持半同步复制,从5.7开始,支持组复制。
一种数据库系统
开源关系数据库中功能最强的数据库。
支持SQL Standard 2008(MySQL只支持部分SQL 89和SQL92)和SQL OLAP 2003 (MySQL基本不支持)。Greenplum广泛应用于数据仓库应用中,基于它开发的分布式并行计算数据库架构得到广泛应用。
数据库主从复制支持异步、日志同步、写同步等级别。
发展史
关系型数据库
MySQL起源于ISAM和mSQL项目(主要用于数据仓库场景),是MySQL AB公司的前身。MYSQL 1.0的第一个版本发布于1996年左右。当时只支持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月,甲骨文公司以74亿美元收购了太阳公司。从此,MySQL数据库进入了Oracle时代,其第三方存储引擎InnoDB早在2005年就被Oracle公司收购。
2010年12月,MySQL 5.5发布。它的主要新特性包括半同步复制和对信号/重发异常处理的支持。最重要的是InnoDB存储引擎终于成为了MySQL的默认存储引擎。MySQL 5.5不是两年后简单的版本更新,而是在各个方面加强了MySQL的企业级特性。甲骨文还承诺MySQL 5.5及以后的版本仍然是GPL授权的开源产品。这个版本也是MySQL 5.5使用最广泛的版本,到目前为止,已知的MySQL第三方发行版基本都是从这个版本开始的。因为MySQL版本被广泛使用,即使到现在,Oracle仍然保持这个版本。
2011年4月,MySQL 5.6发布,这是正式发布的第一个版本,被Oracle收购后做了很多改动(5.5版本主要集成了社区开发的功能),对复制模式和优化器做了很多改动,其中最重要的主从GTID复制模式大大降低了MySQL高可用操作的复杂度。此外,由于对源代码的大量调整,到2013年,
2013年4月,GA 5.6发布后,新特性的变化开始作为5.7的独立分支进一步发展,在并行控制和并行复制方面进行了大量的优化调整。GA于2015年10月正式发布,这个版本也是目前为止最新稳定的分支。
2016年9月,Oracle决定跳过MySQL 5.x命名系列,放弃之前的MySQL 6,7分支(两个从未对外发布的分支),直接进入MySQL 8版本命名,也就是MySQL 8.0版本的开发。目前这个版本还在开发中,新特性还不稳定。
一种数据库系统
PostgreSQL的主要原始来源是加州大学伯克利分校的教学项目,最早命名为Ingres,后来项目进一步改为Postgre项目,用于关系对象数据库课程的教学。
1995年,PostgreSQL正式发布了第一个可用的版本,PostgreSQL 95,首次将SQL引擎集成到PostgreSQL项目中。
1996年,PostgreSQL重新发布了6.0版本,以避免版本号的混乱,在接下来的四年中,它集成了新的功能并发布了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版,支持级联复制,在主从复制的可用性上做了很多改进。
2013年发布PostgreSQL版,支持物化视图和JSON格式数据操作。
2014年,PostgreSQL版发布,JSON原生格式jsonb并入数据类型系统,WAL可以解析成可读信息。
2016年1月,PostgreSQL 9.5发布,安全控制可以达到行级,针对排序和多CPU架构做了大量针对性的优化。
2016年9月,PostgreSQL版发布,新增了并行查询、多库同步复制等功能。
当前主流版本
关系型数据库
MySQL官方版和商业版
甲骨文官方承诺支持新版本的开发,目前由甲骨文官方MySQL开发团队支持。网站是https://www.mysql.com/.
与开源版本相比,MySQL商业版主要增强了安全性和审计。如果需要实用,需要支付许可费。
Percona服务器
目前最活跃的第三方发布版本由商业公司Percona支持,目前最大的开源数据库社区会议之一由Percona举办,主要是加强官方开源版本MySQL的功能性和可管理性。网站是https://www.percona.com/.
MariaDB
为了避免在Oracle拥有MySQL后MySQL开发停滞不前,MySQL的核心研发工程师Monty和他的开发团队在MySQL 5.5版后独立成立了MariaDB分公司,之后将版本号改为10.x系列版本,代码和功能也不再与MySQL官方同步。与官方版本相比,它的功能得到了极大的增强,还有相当多的补丁(来自谷歌、facebook、阿里巴巴等。)关于不能进入官方分支机构的社区的自发功能表现已添加到该分支机构。
包括阿里巴巴、腾讯在内的国内数据库内核团队与MariaDB有着深入的合作,其中来自阿里巴巴的MySQL ACE目前负责MariaDB的复制功能。
目前很多主流的linux发行版,包括readhat和ubuntu,都有内置数据库版本的MariaDB,而不是MYSQL版本的Oracle。http://mariadb.org/社区版
中国MYSQL第三方分销
AliSQL
来源是阿里巴巴阿里巴巴云RDS团队,在复制、安全等诸多方面都有所增强。它的主版本是基于MySQL 5.6开发的,内置TokuDB等第三方存储引擎的支持。
InnoSQL
来源是网易杭州研究院,主要作者是MySQL ACE,对MySQL复制有很多增强。
OneSQL
来自民用软件的甲骨文方鑫公司为高并发场景下的数据库处理做了大量的优化工作。
PostgeSQL
目前PostgeSQL的主流是社区支持的官方版本。网站:https://www.postgresql.org/.
业务支持来自企业数据库公司,包括一个具有许多增强功能的业务版本,https://www.enterprisedb.com/
Pivotal提供基于https://pivotal.io/ PostgeSQL的MPP数据库Greenplum的支持
目前中国的主要社区
关系型数据库
CMUG
中国MySQL用户群(简称CMUG)是中国MySQL爱好者自发组成的组织,是IOUC正式注册的社区组织。
它的主要成员是MYSQL ACE和其他在MYSQL社区有很大影响力的人。董事长周是MySQL的王牌,哪里去找MySQL经理。社区主要成员基本都是各大互联网公司(阿里、腾讯、去哪儿、新浪等)的MySQL核心专家。),http://acmug.com/acmug-member.
有定期组织的全国游行会议和社区团体。
一种数据库系统
PostgreSQL中国用户组
源自国内PostgreSQL的社区主导组织,核心成员是PostgreSQL国内主要领导,董事长肖少聪目前是阿里巴巴云核心数据库专家。
目前主要使用范围
关系型数据库
社会新闻类
国内知名社交公司,包括腾讯(含微信)、新浪、今日头条、陌陌等。,都在数据库中使用MySQL。
电子商务类
在电子商务领域,阿里巴巴从2009年左右开始逐渐用MySQL开源架构取代原有的Oracle(IOE)架构,并在随后几年彻底取代了所有的Oracle架构。
JD.COM最初是基于SQL Server架构的。由于性能问题经历了短暂的Oracle期后,MySQL是目前的主要核心。
前期是IBM DB2架构的苏宁易购,后期逐渐被MySQL架构取代。
互联网金融
借宝:核心使用MySQL数据库,外围部分依靠系统使用Oracle。
游戏和娱乐
腾讯游戏:校长用MySQL数据库。
一种数据库系统
数据仓库类
Greenplum是PostgreSQL的第三方版本,在数据仓库中得到了广泛的应用,所以Greenplum是目前实际的MPP数据库标准。
德邦快递:几百TB青梅单簇。
米谷游戏:单簇数百TB青梅。
业务系统类别
PostgreSQL在很多地方作为业务系统使用,因为它完全支持SQL特性,并且对业务开发和迁移相对友好。
浙江移动:PostgreSQL-XC用来代替原来的甲骨文架构。
话题讨论:
谈谈你对MySQL和Postgre SQL的认识和理解。
无论你有什么样的观点,都可以通过留言的方式与大家分享。喜欢30条以上信息的前3名会得到一个运动背包。截止时间:2017年12月18日12: 00。
1.《postgre 【福利】MySQL vs Postgre SQL: 5个你最关注的非技术维度的区别》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《postgre 【福利】MySQL vs Postgre SQL: 5个你最关注的非技术维度的区别》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/1170969.html