查看其它 5 个回答匿名用户的回答

匿名用户匿名用户

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
浏览6845

回答状态

  • 发布时间:2020-04-17
  • 关注会员:8 人
  • 回答浏览:6845
  • X社区推广