DTCC 2020 | 阿里云程实:云原生时代的数据库管理

简介:随着云原生技术的不断发展,数据库也逐渐进入了云原生时代。在云原生时代,如何高效、安全且稳定地管理云上与云下的数据库成为摆在企业面前的一大难题。在第十一届中国数据库技术大会(DTCC2020)上,阿里巴巴数据库生态工具团队高级技术专家程实(花名:时勤)就为了大家分享了云原生时代的数据库管理体系以及解决方案。

摘要:随着云原生技术的不断发展,数据库也逐渐进入了云原生时代。在云原生时代,如何高效、安全且稳定地管理云上与云下的数据库成为摆在企业面前的一大难题。在第十一届中国数据库技术大会(DTCC2020)上,阿里巴巴数据库生态工具团队高级技术专家程实(花名:时勤)就为了大家分享了云原生时代的数据库管理体系以及解决方案。

BV1A8218.JPG

本文内容根据演讲录音以及PPT整理而成。

本次分享将为大家介绍如何组合使用阿里巴巴云原生数据库管理体系产品为用户打造完整的解决方案。

云原生的数据库管理体系

2.png
如上图所示的是阿里云数据库工具体系。从图中可以看到,首先,通过DBS、DTS数据迁移、数据库备份这样的工具可以打通从其他云或者云下到阿里云上的数据库,并且还可以使得阿里云上的数据库与阿里云上的计算平台、流计算平台以及数据分析平台之间实现打通。其次,通过DMS这样的数据库管理服务可以管理云上和云下的计算型和分析型数据库。再次,阿里云还提供了数据库自治服务DAS,也就是用于优化数据库管理相关服务的智能化自治平台。

非云数据库如何拥抱云原生—云原生赋能

4.png
在DMS数据管理产品中存在“三权分立”的概念,这种概念也是数据库管理在大型企业中的一个最佳实践。这里大致介绍一下,首先要有管理员或超级管理员的角色,通常由运维Leader或者CTO担任,其主要负责定义人员的角色和分配人员的权限。其次,通常要有DBA或者运维人员,其负责数据库的实际操作运维,比如扩容、Schema的变更等。最后的也是现在比较关注的,叫做安全管理员,其负责制定数据操作规范,比如每天可以操作多少次,在什么样的窗口可以完成这个操作,以及一次操作的范围有多大等。安全管理员一方面约束DBA,另外一方面则约束第四种角色,即普通用户,比如业务方的用户只需要读写某个数据库,而并不需要操作数据库实例,则需要受到安全管理员的约束;再比如有些高风险业务或者高敏感业务,业务人员不希望运维人员看到具体数据,特别是对于云服务而言,因此也需要受到安全管理员的约束。安全管理员在DMS上可以约束每个类型的普通用户,他可以看到甚至约束DBA所能够看到的数据,还可以定义数据的脱敏处理,实现行级别的数据查询约束。

DMS数据管理——与企业内部账号SSO系统打通

6.png
阿里云DMS所提供的功能还有很多,比如研发效能方面的变更工单系统、跨库查询等,变更安全方面的SQL审核、数据脱敏、日志追踪和回滚以及不锁表变更等。其中,DMS在数据脱敏方面能够提供智能分析的能力,即便不告诉DMS哪些数据属于敏感数据,其也能够智能分析出来;在日志追踪与回滚方面,DMS能够从日志中分析出某行数据记录历史的修改情况,而不仅仅是展现最终的数据修改结果,并且能够帮助用户自动生成回滚SQL。在不锁表变更方面,相当于把用户提交的Schema或者批量的DML变更变成数据拷贝之后,在拷贝的副本上面进行变更,然后再完成替换操作。

DAS数据库自治——自动优化参数

8.png
上图展示的是阿里巴巴DAS在今年VLDB上发布的题为《Diagnosing Root Causes of Intermittent Slow Queries in Cloud Databases》 的论文,主要做的事情就是智能分析慢查询,分析后的操作分别是自动对SQL进行限流、自动对SQL进行优化以及自动扩容。这样的事情可能看上去是DBA拍脑袋能决定的事情,但是当面对成千上百个数据库的时候,想要了解每个数据库有哪些SQL,以及哪些SQL造成了哪些问题都是非常困难的,是人力无法做到的,一定需要借助机器学习的方法。

DAS数据库自治——自修复、自安全、自运维

10.png
DG的主要作用是打通线上云数据库和线下,前面提到一种方案是管理在线上,用户数据在线下,用户很容易觉得不安全,可能认为需要在线下开放一个数据库的公网端口来便于管理。但是阿里云提供的方案并不是这样的,不用暴露任何的对外的端口,通过反向建立TCP通道的方式,把DG的一端连接到线下数据库,另一端连到线上管理服务,比如DMS和DAS服务来完成对数据库的管理,而它的通道是加密的。

DTS数据传输——整体架构

12.png
DTS具有事务级别并发的同步。阿里云DTS其实是最早开始研究事务级实时同步的,甚至比MySQL官方更早。此外,在高可用情况下需要防止双写,在多活状态下需要防止循环,并且需要应对数据回放时可能会产生错误的问题。

ADMA专业迁移——整体流程

14.png
上图展示的是ADAM关于SQL语法转换的技术示意图。ADAM将源SQL通过标记AST语法树的方式转化成目标SQL,并针对于转换中出现的问题输出转换报告。

DBS数据库备份——整体架构

16.png
简单分享一下DBS备份所使用的核心技术,首先是物理备份技术,也就是让用户在无感知的情况下高速完成数据备份。目前,业界在物理备份主要需要面对两个主要技术问题,一个是全量备份的PIT拷贝(Point-in-time Copy)问题,面对这一问题业界提出了五种技术方案,即Copy with Lock、Copy with Log、Copy on Write、Copy on Redirect和Mirror Split。Copy with Lock方案最为简单,就是加一把锁,比如拷贝MySQL数据库,可以将其全部锁住,并将文件拷贝出来,这样拷贝出来的文件一定是一致的。所谓Copy with Log就是边拷贝数据边拷贝日志,之后将这段时间拷贝的日志进行回放,MySQL使用Xtrabackup,而Oracle使用RMAN,也都是基于这种方案。而SQL Server数据库所依赖的VSS机制就是使用的Copy on Write方案,可以没有日志,而是在业务和存储层接口部分有一层约定来实现一致性拷贝。Mirror Split方案主要用于专用设备。第二个问题就是增量备份CBT(Changed Block Tracking),在增量备份时需要发掘哪些数据块从上一次到这一次是被修改过的,这样的发掘能力对于不同的数据库而言,所使用的技术也是不一样的,比如Oracle使用RMAN和SBT。Windows使用VSS,而MySQL方面,官方的Percona的XtraDB提供了CBT功能,对于不是这样的MySQL,则必须要通过扫描方式将更改的数据块找出来,因此在使用Xtrabackup备份数据的时候开销很大,而阿里云DBS在这些方面做了大量的优化工作。

DBS数据库备份——核心技术:数据湖分析

18.png
前面所提到的方案实际上会涉及到对象存储接口的多次调用,因此其性能不如原生数据库,但阿里云提供了更好的方案。如果做物理备份,那么可以运用物理备份技术加存储虚拟化技术,再加上云原生技术,帮助用户直接在线上以秒级速度创建一个新的实例,而且创建的数量没有限制。这项技术在业界叫做Copy Data Management,最近在数据备份的专业领域比较流行。而阿里云能够实现在任何一个时间点都可以秒级速度拉起一个新的沙箱实例,该实例可以作为应急容灾对象,也可以用于做开发测试。

最后针对前面所提到的三个问题给出相应的解决方案。

解决方案1:DTS+ADAM——整体迁移上云

20.png
第二种解决方案是针对云下数据、云上管理的情况,首先通过DG实现安全网络打通,然后通过DMS管理线下的数据库并通过DAS智能运维线下数据库。而不同身份的数据库使用者面向不同平台来使用不同的数据服务。

解决方案3:DBS+DMS+DAS:云下生产数据+云上二级数据

21.png
第三种方案是云下生产数据+云上二级数据,首先通过DBS将数据备份到云上,通过CDM技术生成沙箱实例,既可以满足应急读写需求,也可以面向开发测试秒级提供数据库副本,并且可以通过DAS实现对于数据库沙箱实例的运维管理。

点击这里下载本场演讲PPT

相关阅读

DTCC 2020 | 阿里云李飞飞:云原生分布式数据库与数据仓库系统点亮数据上云之路
https://developer.aliyun.com/article/781040

【内含干货PPT下载】DTCC 2020 | 阿里云叶正盛:数据库2025
https://developer.aliyun.com/article/780725

【内含干货PPT下载】DTCC 2020 | 阿里云赵殿奎:PolarDB的Oracle平滑迁移之路
https://developer.aliyun.com/article/780749

【内含干货PPT下载】DTCC 2020 | 阿里云朱洁:NoSQL最新技术发展趋势
https://developer.aliyun.com/article/780746

【内含干货PPT下载】DTCC 2020 | 阿里云王涛:阿里巴巴电商数据库上云实践
https://developer.aliyun.com/article/781001

【内含干货PPT下载】DTCC 2020 | 阿里云张鑫:阿里云云原生异地多活解决方案
https://developer.aliyun.com/article/781031

DTCC 2020 | 阿里云梁高中:DAS之基于Workload的全局自动优化实践
https://developer.aliyun.com/article/781036

【内含干货PPT下载】DTCC 2020 | 阿里云吉剑南:在线分析进入Fast Data时代的关键技术解读
https://developer.aliyun.com/article/780747

原文链接:https://developer.aliyun.com/article/780992/p>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树云原生环境小结云原生的分层8788 人正在系统学习中

来源:阿里开发者

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月11日
下一篇 2021年1月11日

相关推荐