【2018华为云技术私享会成果分享-西安站】PostgreSQL上云最佳实践

举报
小路~ 发表于 2018/04/25 18:45:52 2018/04/25
【摘要】 PostgreSQL在国内市场相对MySQL没有那么流行,但是PostgreSQL它本身的功能非常强大。相对于MySQL,它提供了更加完整的事务支持,以及它更强大的功能和稳定性,目前PostgreSQL的代码相对来说也是很优秀的。PostgreSQL支持标准SQL,它对Oracle兼容很好,如果有切换Oracle需求,PostgreSQL是最佳选择。

周小威:

很荣幸在这里跟大家一起了解华为云Postgre SQL(PostgreSQL我们在内部或者在社区里面经常简称为PG,我后面讲解的时候习惯性叫PG)。


1.png


PostgreSQL在国内市场相对MySQL没有那么流行,但是PostgreSQL它本身的功能非常强大。相对于MySQL,它提供了更加完整的事务支持,以及它更强大的功能和稳定性,目前PostgreSQL的代码相对来说也是很优秀的。PostgreSQL支持标准SQL,它对Oracle兼容很好,如果有切换Oracle需求,PostgreSQL是最佳选择。在国外的市场上,比如在日本,它市场流行度超过MySQL,仅次于Apache。


2.png


PostgreSQL在各领域应用广泛,它完整的事务性,可以保证数据的完整性,所以它在金融、银行,航空领域有更广泛的应用。PostgreSQL是一个强大的开源自由数据库,它本身有一个很强大的社区。


3.png


华为云在PostgreSQL技术底蕴深厚,早在05年华为就成立数据库团队进行PostgreSQL研究。09年的时候,我们自研一款PT数据库,为什么要引入PT数据库?在华为当时是有一个很简单的需求——就是为了切换Oracle恩,降低成本。Oracle功能强大,但是对于很多业务来讲,我们只用了其中一部分,因为它是license付费成本比较高。到2012年,PG数据库方面经过一定的技术积累,我们打算做华为自己的PG专业的数据库服务,开始自研GaussDB数据库。发展至今,在PG领域我们已经有400多位数据库技术专家。2016年,我们开始做开源PG数据库的服务,差不多有一年多,华为公共提供这个服务。


相对于自建或友商数据库来说,华为的PostgreSQL有四个方面的优势,高可靠,高性能,高数据安全和易迁移。“高可靠”的第一点,华为对于PG数据库的支持紧随社区的,像其他友商,他们在提供PG数据库只选择某一款,对于社区版本的及时更新,以及它本身的Bug修复效率没有华为高。同时华为PG数据库提供多个模式的高可靠,比如HA支持同步、异步,很多厂商不支持同步,都是异步模式,在底层我们支持反亲合。


高性能这一块,因为PostgreSQL目前主要集中在开源数据库的云服务化,所以这一块的高性能,主要体现在华为硬件上面。在华为上云之前,华为已经成为其他厂商硬件的提供商。


关于数据库安全,如果购买华为的PostgreSQL,首先免费享受三层网络安全防护,如果需要享受更专业的安全服务,可以使用华为提供的DBSS安全服务,它支持全生命周期的进行守护。最后一部分是数据易迁移,目前我们主要基于原生态的工具做了在线迁移。


接下来我基于这四个领域,详细感受一下我们在这四个方面具体的技术应用。


4.png

首先高可靠性的主从架构,我们选择PG自身能力的Active/Hot standby主从架构,而基于语句的复制,基于触发器,或者基于少量内核改动的主从架构,这些主从架构本身对于主库,对于业务的影响比较大,带来比较大的性能下降,或者波动之类的。我们选择这种架构对主机影响比较小。


5.png


还有备份恢复,华为PostgreSQL支持全量备份,增量配分。我分享一个小故事,有时候我们会测一下阿里的用户体验,对于PG恢复,阿里的技术是先恢复到临时数据库然后转到目标数据库,但是华为PostgreSQL可以一步到位,我们支持恢复当前实例,恢复到新实例。


还有一个小细节也分享一下,大家用数据库或多或少会遇到过主机挂机,掉电,特别是在业务量比较繁忙的时候,意味着你的数据有一定的丢失。增量和归档的过程,华为是5分钟一个周期,如果掉电很可能丢失5分钟的数据。在高可用场景(我们分高可靠,高可用这两个场景)下,掉电以后我们允许5分钟数据丢失,大多数运营厂商,对于这部分数据丢失无法找回来。基于数据可查,华为提出来一个碎片备份的概念,保证数据可查。


在高性能这一块,华为PostgreSQL是开源性数据库,它的性能优势主要体现在两块,一是硬件,二是技术,强大的技术底蕴,我们针对你具体业务场景,支撑灵活的参数配置,提供最适合的配置,达到最优的性能服务你的业务。


6.png


安全这一块,购买PostgreSQL以后,不仅仅是华为PostgreSQL,像MySQL和HWSQL,都可以享受到基础的安全服务,主要有三层,一是私有网络,基于VPC技术真正实现租户隔离和访问控制;数据传输的安全,是基于SSL加密;还有网络安全组,我们通过IP、端口层面进行安全访问限制。如果需要更专业的数据库安全服务,我们提供DBSS专业服务,它可以全生命周期守护我们的数据安全。


我之前了解过其他运营商对于安全服务的做法,目前大多数提供商,他们主要集中在事后审计这个领域,对于事前的数据泄露,敏感数据发现,动态数据脱敏感,除了微软有一些投入外,其他目前都没有开始做。


提到数据安全,我这里分享几个安全设计的细节,华为数据库安全我们本着上不碰业务应用,下不碰用户数据。我们提出资源租户与最终租户的分离,管理通过资源用户,他没有权限访问用户数据。还有静态加密,密钥掌握在用户手里面,有些厂商提供的密钥有存储。还有一个细节,一般云访问云数据库,有一个主账号,实例管理界面有一个设置密码的入口,但是华为这个设置密码,它的密码不会存储,只有用户自己掌握。


PostgreSQL是一个强大的数据库,它具有很强大的功能,特别是在事务支持这一块,华为在PG领域,技术领域也有很强大的底蕴,而且华为PostgreSQL有它的天然优势,希望大家后面上华为云体验PostgreSQL。

看一下PG数据库怎么上华为云,分两个场景:


7.png


直接在华为云创建一个实例,开始我新的业务。我们通过一个公网IP进行访问,还有其他专用网络之类的都可以访问数据库。


8.png



华为PostgreSQL上云的另一个方式是在线迁移,停机时间很少。在线迁移完成之后,有很短时间的切换,操作是秒级和分钟级。华为云PG数据库在线迁移,和其他厂商它有一个优势,我们是在线迁移,而且迁移过程中考虑到数据的安全性,且有华为自研的数据库级安全扫描技术。其他厂商对于PG数据库迁移这一块,PG10之前,内核不支持逻辑迁移,它只提供了一个接口,可以基于接口进行逻辑迁移,它有很多的限制,比如不支持DDL迁移。比如说阿里,它做PG上云迁移的时候,需要在源库安装一个插件包,之后再进行迁移。插件安装到源库,必然带来迁移过程中业务下降,甚至引起业务中断,这是不可避免的。华为的在线迁移技术,对源库无侵入。


9.png


最后分享PostgreSQL客户上云的一个故事,这个客户是上海甄实建筑科技有限公司,他们上华为云PG三个月完成了上云的工作,过程中发生一个小故事,在前期做技术调查的时候,做性能测试的时候,他们选择华为小规格的PG数据库,测试的时候发现它有新的瓶颈,这时候我们主动提出让客户进行规格变更。我们的规格变更很方便,体现了华为云PG数据库的可扩展性非常好。

  

主持人:

谢谢周小威的分享,作为Oracle商用数据库兼容程度最高的,深度兼容的这个数据库开源的场景来说,它在开源的领域一定有它的使用场景,也有它的未来。数据库安全这个角度来讲,从整体角度来讲,华为云上安全的认证,是在云友商当中最多的,现在安全的问题华为非常重视,大家可以提问。

 

提问:

您刚才讲到对于个人帐户密码的管理,您说密钥在用户手里,对于你们服务器这边怎么管理?会不会发生我们长时间不用对于密钥的丢失,假如发生内部有人恶意篡改的情况,怎么保证数据的安全可靠?

 

周小威:

内部篡改这个,由于我主要是负责PG这一块,安全这一块有请我们的同事回答。


肖永:

你说的是我们的内部篡改,我们运维平台SRE和研发是两个分开的团队,这还是有一个节操的问题,二是在系统上我们有很严格的功能,这个操作系统,本身我们人是完全分开的,SRE是真正控制数据库实例,我不能动你的数据库实例,我没有权限,只有SRE可以。你操作系统和DP也是分离的,所有没有必要使用你这样的东西,我的基本数据库,是系统级操作,我在chroot那个范围之外,而不会走到你自己数据那块。


另外对你所有数据操作,是有审计功能的,我们审计功能后面会开放给客户,你来看,我在界面上会有错误日志,导出这样东西的时候,你确实可以看到。


另外我再分享一个东西,最终这些事情人都是可以攻破的,华为作为跨国际的公司,我们的安全怎么做,包括我们的隐私,一般公司都是认证,我们交付由海外欧盟这些,他们对隐私非常重视,我们系统拿给他们以后,他拿一个白帽公司,花了钱让人看你有没有隐私问题,然后看你系统是否安全,所以在安全和隐私方面,由于华为本身国际化企业的水平,我可以讲是国内最厉害的,国内很多厂商没有吃过隐私的亏,我们都已经在外面吃过了。

 

提问:

政府单位内外网隔离的,数据不能上到云里面,我们有没有本地迁移这一块,我们的迁移工具收费还是免费的?

 

周小威:

我们有一个服务,目前主要在上云迁移这一块,后面应该会有相应的服务,刚才提到云下数据迁移,按说应该付费。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。