PostgreSQL数据库相比主流开源如MYSQL有哪些优势,相比主流闭源如ORACLE有哪些优势,能否进行下对比?

参与30

6同行回答

zhuqibszhuqibs  软件开发工程师 , Adidas
每一种数据库都有优点,都有缺点PostgreSQL完全免费,而且是BSD协议,如果你把PostgreSQL改一改,然后再拿去卖钱,也没有人管你,这一点很重要,这表明了PostgreSQL数据库不会被其它公司控制。oracle数据库不用说了,是商业数据库,不开放。而MySQL数据库虽然是开源的,但现在随着SUN被oracl...显示全部

每一种数据库都有优点,都有缺点

  1. PostgreSQL完全免费,而且是BSD协议,如果你把PostgreSQL改一改,然后再拿去卖钱,也没有人管你,这一点很重要,这表明了PostgreSQL数据库不会被其它公司控制。oracle数据库不用说了,是商业数据库,不开放。而MySQL数据库虽然是开源的,但现在随着SUN被oracle公司收购,现在基本上被oracle公司控制,其实在SUN被收购之前,MySQL中最重要的InnoDB引擎也是被oracle公司控制的,而在MySQL中很多重要的数据都是放在InnoDB引擎中的,反正我们公司都是这样的。所以如果MySQL的市场范围与oracle数据库的市场范围冲突时,oracle公司必定会牺牲MySQL,这是毫无疑问的。
  2. 与PostgreSQl配合的开源软件很多,有很多分布式集群软件,如pgpool、pgcluster、slony、plploxy等等,很容易做读写分离、负载均衡、数据水平拆分等方案,而这在MySQL下则比较困难。
  3. PostgreSQL源代码写的很清晰,易读性比MySQL强太多了,怀疑MySQL的源代码被混淆过。所以很多公司都是基本PostgreSQL做二次开发的。
  4. PostgreSQL在很多方面都比MySQL强,如复杂SQL的执行、存储过程、触发器、索引。同时PostgreSQL是多进程的,而MySQL是线程的,虽然并发不高时,MySQL处理速度快,但当并发高的时候,对于现在多核的单台机器上,MySQL的总体处理性能不如PostgreSQL,原因是MySQL的线程无法充分利用CPU的能力。
    5. Postgres数据库曾在insert大赛中独占鳌头,速度最快
收起
互联网服务 · 2020-04-09
浏览7468
  • MySQL/innoDB 是GPLv2协议,且有欧洲银行同甲骨文签署的违法该协议,则MySQL以一欧元卖给欧洲银行。故大家不用担心。 另外,甲骨文要是不发展MySQL,则MariaDB随时会吸引社区的人过去壮大起来且做到无缝替换
    2020-04-12
youki2008youki2008  系统架构师 , DDT
PostgreSQL完全免费,而且是BSD协议。oracle数据库是商业数据库,需付费使用。而MySQL数据库虽然是开源的,但现在随着SUN被oracle公司收购,现在基本上被oracle公司控制。PostgreSQl配合的开源软件很多,有很多分布式集群软件,如pgpool、pgcluster、slony、plploxy等等,很容易做读写...显示全部
  1. PostgreSQL完全免费,而且是BSD协议。oracle数据库是商业数据库,需付费使用。而MySQL数据库虽然是开源的,但现在随着SUN被oracle公司收购,现在基本上被oracle公司控制。
  2. PostgreSQl配合的开源软件很多,有很多分布式集群软件,如pgpool、pgcluster、slony、plploxy等等,很容易做读写分离、负载均衡、数据水平拆分等方案,而这在MySQL下则比较困难。
  3. PostgreSQL源代码写的很清晰,易读性比MySQL强,很多公司都是基本PostgreSQL做二次开发的。
  4. PostgreSQL在很多方面都比MySQL强,如复杂SQL的执行、存储过程、触发器、索引。
收起
互联网服务 · 2020-04-28
浏览6021
AmygoAmygo  DBA , 分布式事务数据库
1、业务系统的数据库要是Oracle 被直接替换,单库到单库的模式:肯定换PG更容易,接近98%的相似度;MySQL是85%的相似度2、 业务系统的数据库要是Oracle 要被替换成分布式数据库,单体大库到多个小库的模式(也即数据分片):肯定换MySQL之上的分布式数据库更佳,因为换分布式数据库则意味...显示全部

1、业务系统的数据库要是Oracle 被直接替换,单库到单库的模式:肯定换PG更容易,接近98%的相似度;MySQL是85%的相似度

2、 业务系统的数据库要是Oracle 要被替换成分布式数据库,单体大库到多个小库的模式(也即数据分片):肯定换MySQL之上的分布式数据库更佳,因为换分布式数据库则意味着“存储过程、包、自定义函数、视图、复杂子查询”都没有了。

3、从交易关系型数据库产品的角度:OLTP业务场景 MySQL 比 PG 更适合,因为前者的InnoDB存储引擎要比PG的强大,有完善的MVCC、行锁等机制

4、从数据分析业务场景的角度,PG 会比MySQL更强,因为PG可以做复杂计算、HASHJOIN等。

5、PG 唯一是理念和新技术方面 比Oracle先进,因为是属于学术派,不注重实战、稳定可靠和性能。PG也是因为强学术派、缺乏MVCC等因素,从而社区人数、行业占有率远低于MySQL和Oracle

国产数据库厂商中:集中式数据库产品厂商因为PG兼容Oracle的缘故而拿来修改,另外是 做关系数据分析的数据仓库之用,也是因GreenPlum开源而被模仿。

收起
银行 · 2020-04-12
浏览7064
寒风waw寒风waw  项目经理 , 新华博
PostgreSQL完全免费 , PG可以做复杂计算、HASHJOIN等显示全部

PostgreSQL完全免费 , PG可以做复杂计算、HASHJOIN等

收起
互联网服务 · 2020-04-29
浏览5937
匿名用户匿名用户
1.PostgreSQL完全免费,而且是BSD协议,如果你能掌控他的源码,可以做很多事情,这表明了PostgreSQL数据库不会被其它公司控制。oracle数据库是商业数据库,不开放,发现问题解决起来难度非常大,虽然Oracle的售后机制和培训力度都很强,但你如果想使用的如鱼得水,非常难,在重大问题发生的...显示全部

1.PostgreSQL完全免费,而且是BSD协议,如果你能掌控他的源码,可以做很多事情,这表明了PostgreSQL数据库不会被其它公司控制。

oracle数据库是商业数据库,不开放,发现问题解决起来难度非常大,虽然Oracle的售后机制和培训力度都很强,但你如果想使用的如鱼得水,非常难,在重大问题发生的时候,相信除了原厂,业界的大佬也是束手无策。而MySQL数据库虽然是开源的,但现在随着SUN被oracle公司收购,现在基本上被oracle公司控制,其实在SUN被收购之前,MySQL中最重要的InnoDB引擎也是被oracle公司控制的,而在MySQL中很多重要的数据都是放在InnoDB引擎中的。所以如果MySQL的市场范围与oracle数据库的市场范围冲突时,oracle公司必定会牺牲MySQL,这是毫无疑问的。

2.与PostgreSQl配合的开源软件很多,有很多分布式集群软件,如pgpool、pgcluster、slony、plploxy等等,很容易做读写分离、负载均衡、数据水平拆分等方案。oracle的集群架构就不用说了,用的最多的就是RAC,神码读写分离,水平拆分,这在Oracle11G以前是不存在的。mysql的架构也很多,最成熟的读写分离mycat等中间件,也有很多弊端,有能力的大公司都是自己开发适合自己的中间件,或者修改源码。至于mysql其他的方案,在5.7引入的mgr,mha等,看起来很强,用起来很麻烦,也不稳定,现在用在生产上的应该比较少,8.0改进了很多,没有具体测试,在这里不做过多的评价。

3.PostgreSQL源代码写的很清晰,易读性比MySQL强太多了,怀疑MySQL的源代码被混淆过。所以很多公司都是基本PostgreSQL做二次开发的。

4.PostgreSQL在很多方面都比MySQL强,如复杂SQL的执行、存储过程、触发器、索引。同时PostgreSQL是多进程的,而MySQL是线程的,虽然并发不高时,MySQL处理速度快,但当并发高的时候,对于现在多核的单台机器上,MySQL的总体处理性能不如PostgreSQL,原因是MySQL的线程无法充分利用CPU的能力。

最后说一句,PG虽好,但是用于生产还需要DBA能力超强,也要慎重选择,或者找一家靠谱的第三方服务商。**

收起
金融其它 · 2020-04-17
浏览6752
weiboweibo  副总 , 北京象前行信息科技有限公司
两者作为优秀的开源关系数据库,各有优势,完全可以根据自己的需求进行选择。楼上的回答都能说到两者优劣势的一些点,最近笔者有翻译PG国际专家分享的文章,简单概要阐述PG的主要优势如下:1.首要的就是PG发扬传递民主自由精神,遵循自由开放的类BSD、MIT协议。近30年的发展国内外拥...显示全部

两者作为优秀的开源关系数据库,各有优势,完全可以根据自己的需求进行选择。
楼上的回答都能说到两者优劣势的一些点,最近笔者有翻译PG国际专家分享的文章,简单概要阐述PG的主要优势如下:
1.首要的就是PG发扬传递民主自由精神,遵循自由开放的类BSD、MIT协议。近30年的发展国内外拥有众多用户群体;
2.国际社区管理规范有序,技术交流分享活跃,PG版本演进迭代持续、稳定,每年一个主版本,今年将发布13,国际社区维护近五个主要版本,目前pg 10 应用广泛;
3.起源于美国伯克利大学,正宗学院派,代码 (ANSI C) 严谨,注释详细,可读性强;
4.扩展性强,很多代码贡献者可以通过扩展实现性能、管理等方面的功能,譬如扩展分布式citus(微软在极力发展)、扩展FDW(不同种类数据库间的数据库交换)、扩展地图功能PostGis;
5.符合SQL标准化程度高, PG支持SQL : 2016的大部分主要功能。完整的核心一致性需要179个强制性的特性,PostgreSQL至少符合160个。这几乎超过了任何其他数据库引擎。
6.兼容性好,为众多应用开发语言提供友好接口,譬如Python、Java、Tcl、Perl等。
7.索引丰富,根据应用需求可灵活选择索引,提升数据库访问效率,包括 GiST、spi - GiST、KNN GiST、GIN、BRIN和Btree都是可用的。还有很多其他索引可通过扩展实现 ,例如Bloom。
8.安全透明, PostgreSQL有一个安全邮件列表, 这意味着所有已知的攻击载体一旦公开就会被处理。
9.国内外基于PG有很多优秀的产品,这些商业主体会集成和发扬PG,并反哺社区,让PG更好用。
10.PG发展趋势不断向上,也算是个优势吧。

先总结这么多,我觉着PG就像是一把不错的瑞士军刀。
感兴趣可以阅读指正这边翻译的文章:
https://www.talkwithtrend.com/Article/248417

Mysql 也在互联网公司用过,它的计算引擎很丰富,用户基数比较大,如果吐槽PG MVCC,我个人觉着只是实现思路的不同,定期的做好清理,在使用其它数据库时,也都是需要运维人员发挥作用的。有传言PG后边的版本可能会改造mvcc机制,国际社区有500+Commiter,他们是个智慧群体,如果觉着有必要自然后考虑优化。好的东西都值得推广使用,兼容并蓄,博采众长吧。

收起
互联网服务 · 2020-04-14
浏览7038

提问者

jxnxsdengyu
系统工程师江西农信
擅长领域: 存储灾备双活

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2020-04-08
  • 关注会员:8 人
  • 问题浏览:10149
  • 最近回答:2020-04-29
  • X社区推广