加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 站长资讯 > 评论 > 正文

勒索转向接受心理精神治疗的患者

发布时间:2021-02-06 14:40:14 所属栏目:评论 来源:互联网
导读:可能有人会问,既然已经有一个人气很高的开源数据库MySQL了,为什么还要使用PostgreSQL?这主要是因为不同的数据库有不同的特点,应该为合适场景选择合适的数据库。在一些应用场景中,使用MySQL有以下几大缺点。 (1) 复杂SQL支持弱 在MySQL 8.0之前,多表连接

可能有人会问,既然已经有一个人气很高的开源数据库MySQL了,为什么还要使用PostgreSQL?这主要是因为不同的数据库有不同的特点,应该为合适场景选择合适的数据库。在一些应用场景中,使用MySQL有以下几大缺点。

(1) 复杂SQL支持弱

在MySQL 8.0之前,多表连接查询的方式只支持“Nest Loop”,不支持Hash JOIN和Sort Merge JOIN(注:MySQL8.0版本开始支持Hash JOIN,但不完善,有一些问题。

另因为MySQL无完善的基于COST的优化器(CBO),长期来说也会存在一定的问题),不仅如此,它对很多SQL语法都不支持,子查询性能比较低。例如,MySQL不支持单独的sequence,有公司为此还专门开发了统一序号分发中心的软件。

(2) 性能优化工具与度量信息不足

如果MySQL在运行过程中出现问题,性能监控数据较少,维护人员要准确定位问题存在一定的困难。

MySQL的复制是异步或半同步的逻辑同步,这存在两个问题:

  • 一是在大事务下会导致比较大的延迟;
  • 二是容易导致数据库的不一致,原因是逻辑复制容易导致数据的不一致性,而MySQL的双层日志会让这个问题变得更复杂,即主备库的复制是通过逻辑层的binlog来实现的,但在存储引擎InnoDB下还有物理的Redo Log层,整个过程比较复杂,比较难保证主备库之间完全一致。

由于有两层日志(binlog日志和InnoDB的Redo日志),因此也很难做到Master/Slave在异常切换过程中的零数据丢失。一些第三方公司改造MySQL源代码以实现同步复制,但这些方案要么是没有开源,要么是已开源却又不是很稳定,所以,对于普通用户来说,如何实现零数据库丢失的同步复制是一个令人头疼的问题。
 

. PostgreSQL应用现状和发展趋势

PostgreSQL目前在国外很流行,特别是近几年,使用PostgreSQL数据库的公司越来越多。

日本电报电话公司(NTT)大量使用PostgreSQL替代Oracle数据库,并且在 PostgreSQL之上二次开发了Postgres-XC,Postgres-XC是对使用者完全兼容PostgreSQL接口的share-nothing 架构的数据库集群。

亚信科技(AsiaInfo)在Postgres-XC的基础上开发了AntDB数据库,AntDB是一款面向金融、电信、政务、安全、能源等行业的分布式事务型关系数据库产品。它具备集群自动高可用、秒级在线扩缩容、异地容灾、SQL语句级自定义分片、分布式事务和MVCC等功能,且具有强大的Oracle兼容性。AntDB完全兼容PostgreSQL数据库。

腾讯在PosgreSQL-XC基础上开发了TBase分布式数据库。相较于Postgres-XC,其稳定性得到了较大提高,同时TBase通过在内核中创造性地引入 GROUP 概念,提出了双Key分布策略,有效地解决了数据倾斜的问题;它根据数据的时间戳,将数据分为冷数据和热数据,分别存储于不同的存储设备中,有效地解决了存储成本的问题。

网络电话公司Skype也大量使用了PostgreSQL,并贡献了如下与PostgreSQL数据库配套的开源软件。

  • PL/Proxy:PostgreSQL中的数据水平拆分软件。
  • pgQ:使用PostgreSQL的消息队列软件。
  • Londiste:用C语言实现的在PostgreSQL数据库之间进行逻辑同步的软件。

全球最大的CRM软件服务提供商Salesforce也开始使用PostgreSQL,并招募了PostgreSQL内核开发者Tom lane。

著名的图片分享网站instagram也大量使用了PostgreSQL。

2012年,美国联邦机构全面转向PostgreSQL阵营;法国也正积极推动政府机构采用PostgreSQL数据库来取代商业数据库。

在国内,越来越多的公司开始使用PostgreSQL,如斯凯网络的后台数据库使用的基本都是PostgreSQL数据库,去哪儿网(qunar.com)和平安科技也大量地使用了PostgreSQL数据库。

主流的云服务提供商如亚马逊、阿里云、腾讯云、华为云也都提供了PostgreSQL的云数据库服务。

更多关于PostgreSQL数据库的现状信息可见PostgreSQL官方网站

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读