

从市面上的一些去O方案来看,选型主要还是围绕MySQL和PostgreSQL。对于Oracle以及开源达梦,它们之间究竟有何异同和优劣呢?下面将从以下7个方面展开阐述。
1、开源协议方面
PostgreSQL开源协议:PostgreSQL基于自由的BSD/MIT 许可,组织可以使用、复制、修改和重新分发代码,只需要提供一个版权声明即可。PG的开源协议特别灵活,任何公司的和个人都可以把PG作为一个产品销售,而不需要像MySQL那样必须修改大部分代码才可以作为公司的产品。
MySQL开源协议:核心代码基于GPL或 Commercial License。任何公司都可以免费使用,不允许修改后和衍生的代码做为闭源的商业软件发布和销售,MySQL的版权在甲骨文手中,不排除闭源的情况。
2、ACID支持方面
PostgreSQL 支持事务的强一致性,事务保证性好,完全支持ACID特性。
MySQL只有innodb引擎支持事务,事务一致性保证上可根据实际需求调整,为了最大限度的保护数据,MySQL 可配置双一模式,对ACID的支持上比 PG 稍弱。
3、SQL标准的支持方面方面
PostgreSQL几乎支持所有的SQL标准,支持类型相当丰富。
MySQL 只支持部分SQL标准,相比于PG支持类型稍弱。
4、可靠性方面
PostgreSQL 可以做到同步,异步,半同步复制,以及基于日志逻辑和物理复制,可以实现表级别的订阅和发布。复制模式有一主一备、一主多备、级联复制、热备库/流复制、逻辑复制。通过逻辑复制实现消息的订阅和消费,可以同步数据到 Kafka,通过 Kafka 实现数据流转。
MySQL 的复制是基于 binlog 的逻辑异步复制,无法实现同步复制。复制模式有一主一备、一主多备、级联复制、循环复、主主复制。通过 Canal 增量数据的订阅和消费,可以同步数据到 Kafka,通过 Kafka 做数据流转。
(5)并发控制方面
PostgreSQL 通过其 MVCC 实现有效地解决了并发问题,从而实现了非常高的并发性。
MySQL 仅在 InnoDB 中支持 MVCC。
(6)性能方面
相同单机环境下所展现的性能对比如下表:

数据库整体基准测试结果来看,相同环境下PostgreSQL性能好于MySQL。





新闻|Babelfish使PostgreSQL直接兼容SQL Server应用程序
中国PostgreSQL分会入选工信部重点领域人才能力评价机构

更多新闻资讯,行业动态,技术热点,请关注中国PostgreSQL分会官方网站
https://www.postgresqlchina.com
中国PostgreSQL分会生态产品
https://www.pgfans.cn
中国PostgreSQL分会资源下载站
https://www.postgreshub.cn


点击此处阅读原文
↓↓↓




