【2018华为云技术私享会成果分享-西安站】PostgreSQL上云最佳实践
周小威:
很荣幸在这里跟大家一起了解华为云Postgre SQL(PostgreSQL我们在内部或者在社区里面经常简称为PG,我后面讲解的时候习惯性叫PG)。
PostgreSQL在国内市场相对MySQL没有那么流行,但是PostgreSQL它本身的功能非常强大。相对于MySQL,它提供了更加完整的事务支持,以及它更强大的功能和稳定性,目前PostgreSQL的代码相对来说也是很优秀的。PostgreSQL支持标准SQL,它对Oracle兼容很好,如果有切换Oracle需求,PostgreSQL是最佳选择。在国外的市场上,比如在日本,它市场流行度超过MySQL,仅次于Apache。
PostgreSQL在各领域应用广泛,它完整的事务性,可以保证数据的完整性,所以它在金融、银行,航空领域有更广泛的应用。PostgreSQL是一个强大的开源自由数据库,它本身有一个很强大的社区。
华为云在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安全服务,它支持全生命周期的进行守护。最后一部分是数据易迁移,目前我们主要基于原生态的工具做了在线迁移。
接下来我基于这四个领域,详细感受一下我们在这四个方面具体的技术应用。
首先高可靠性的主从架构,我们选择PG自身能力的Active/Hot standby主从架构,而基于语句的复制,基于触发器,或者基于少量内核改动的主从架构,这些主从架构本身对于主库,对于业务的影响比较大,带来比较大的性能下降,或者波动之类的。我们选择这种架构对主机影响比较小。
还有备份恢复,华为PostgreSQL支持全量备份,增量配分。我分享一个小故事,有时候我们会测一下阿里的用户体验,对于PG恢复,阿里的技术是先恢复到临时数据库然后转到目标数据库,但是华为PostgreSQL可以一步到位,我们支持恢复当前实例,恢复到新实例。
还有一个小细节也分享一下,大家用数据库或多或少会遇到过主机挂机,掉电,特别是在业务量比较繁忙的时候,意味着你的数据有一定的丢失。增量和归档的过程,华为是5分钟一个周期,如果掉电很可能丢失5分钟的数据。在高可用场景(我们分高可靠,高可用这两个场景)下,掉电以后我们允许5分钟数据丢失,大多数运营厂商,对于这部分数据丢失无法找回来。基于数据可查,华为提出来一个碎片备份的概念,保证数据可查。
在高性能这一块,华为PostgreSQL是开源性数据库,它的性能优势主要体现在两块,一是硬件,二是技术,强大的技术底蕴,我们针对你具体业务场景,支撑灵活的参数配置,提供最适合的配置,达到最优的性能服务你的业务。
安全这一块,购买PostgreSQL以后,不仅仅是华为PostgreSQL,像MySQL和HWSQL,都可以享受到基础的安全服务,主要有三层,一是私有网络,基于VPC技术真正实现租户隔离和访问控制;数据传输的安全,是基于SSL加密;还有网络安全组,我们通过IP、端口层面进行安全访问限制。如果需要更专业的数据库安全服务,我们提供DBSS专业服务,它可以全生命周期守护我们的数据安全。
我之前了解过其他运营商对于安全服务的做法,目前大多数提供商,他们主要集中在事后审计这个领域,对于事前的数据泄露,敏感数据发现,动态数据脱敏感,除了微软有一些投入外,其他目前都没有开始做。
提到数据安全,我这里分享几个安全设计的细节,华为数据库安全我们本着上不碰业务应用,下不碰用户数据。我们提出资源租户与最终租户的分离,管理通过资源用户,他没有权限访问用户数据。还有静态加密,密钥掌握在用户手里面,有些厂商提供的密钥有存储。还有一个细节,一般云访问云数据库,有一个主账号,实例管理界面有一个设置密码的入口,但是华为这个设置密码,它的密码不会存储,只有用户自己掌握。
PostgreSQL是一个强大的数据库,它具有很强大的功能,特别是在事务支持这一块,华为在PG领域,技术领域也有很强大的底蕴,而且华为PostgreSQL有它的天然优势,希望大家后面上华为云体验PostgreSQL。
看一下PG数据库怎么上华为云,分两个场景:
直接在华为云创建一个实例,开始我新的业务。我们通过一个公网IP进行访问,还有其他专用网络之类的都可以访问数据库。
华为PostgreSQL上云的另一个方式是在线迁移,停机时间很少。在线迁移完成之后,有很短时间的切换,操作是秒级和分钟级。华为云PG数据库在线迁移,和其他厂商它有一个优势,我们是在线迁移,而且迁移过程中考虑到数据的安全性,且有华为自研的数据库级安全扫描技术。其他厂商对于PG数据库迁移这一块,PG10之前,内核不支持逻辑迁移,它只提供了一个接口,可以基于接口进行逻辑迁移,它有很多的限制,比如不支持DDL迁移。比如说阿里,它做PG上云迁移的时候,需要在源库安装一个插件包,之后再进行迁移。插件安装到源库,必然带来迁移过程中业务下降,甚至引起业务中断,这是不可避免的。华为的在线迁移技术,对源库无侵入。
最后分享PostgreSQL客户上云的一个故事,这个客户是上海甄实建筑科技有限公司,他们上华为云PG三个月完成了上云的工作,过程中发生一个小故事,在前期做技术调查的时候,做性能测试的时候,他们选择华为小规格的PG数据库,测试的时候发现它有新的瓶颈,这时候我们主动提出让客户进行规格变更。我们的规格变更很方便,体现了华为云PG数据库的可扩展性非常好。
主持人:
谢谢周小威的分享,作为Oracle商用数据库兼容程度最高的,深度兼容的这个数据库开源的场景来说,它在开源的领域一定有它的使用场景,也有它的未来。数据库安全这个角度来讲,从整体角度来讲,华为云上安全的认证,是在云友商当中最多的,现在安全的问题华为非常重视,大家可以提问。
提问:
您刚才讲到对于个人帐户密码的管理,您说密钥在用户手里,对于你们服务器这边怎么管理?会不会发生我们长时间不用对于密钥的丢失,假如发生内部有人恶意篡改的情况,怎么保证数据的安全可靠?
周小威:
内部篡改这个,由于我主要是负责PG这一块,安全这一块有请我们的同事回答。
肖永:
你说的是我们的内部篡改,我们运维平台SRE和研发是两个分开的团队,这还是有一个节操的问题,二是在系统上我们有很严格的功能,这个操作系统,本身我们人是完全分开的,SRE是真正控制数据库实例,我不能动你的数据库实例,我没有权限,只有SRE可以。你操作系统和DP也是分离的,所有没有必要使用你这样的东西,我的基本数据库,是系统级操作,我在chroot那个范围之外,而不会走到你自己数据那块。
另外对你所有数据操作,是有审计功能的,我们审计功能后面会开放给客户,你来看,我在界面上会有错误日志,导出这样东西的时候,你确实可以看到。
另外我再分享一个东西,最终这些事情人都是可以攻破的,华为作为跨国际的公司,我们的安全怎么做,包括我们的隐私,一般公司都是认证,我们交付由海外欧盟这些,他们对隐私非常重视,我们系统拿给他们以后,他拿一个白帽公司,花了钱让人看你有没有隐私问题,然后看你系统是否安全,所以在安全和隐私方面,由于华为本身国际化企业的水平,我可以讲是国内最厉害的,国内很多厂商没有吃过隐私的亏,我们都已经在外面吃过了。
提问:
政府单位内外网隔离的,数据不能上到云里面,我们有没有本地迁移这一块,我们的迁移工具收费还是免费的?
周小威:
我们有一个服务,目前主要在上云迁移这一块,后面应该会有相应的服务,刚才提到云下数据迁移,按说应该付费。
- 点赞
- 收藏
- 关注作者
评论(0)