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

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

BV1A8231.JPG
BV1A8218.JPG

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

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

云原生的数据库管理体系

1.png
云原生时代的主要特征可以大致归纳为两点,即硬件特征和软件特征,前者指的是硬件资源池化所带来的高可用和弹性等;后者指的是在云原生时代,很多工具无需企业自己研发,而可以通过API的方式调用软件功能的组合,进而有机地组合成软件生态。

那么,云原生时代的数据库管理需要哪些技术呢?其实可以主要分为三类,即管理、迁移和备份。其中,管理需要安全、智能化以及面向混合云的能力;迁移主要面对的挑战在于数据库的异构;而对于备份而言,如今需要解决的并不是能否备份成功,而是如何激活数据价值。

阿里云数据库工具体系

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

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

3.png
接下来分析一个用户常见的问题,就是对于用户而言,如果其已有的大量数据库是非云数据库实例,应该如何拥抱云原生技术?我们当然可以为其介绍一款云原生数据库产品,但是用户所想要了解的其实是如何使用这款产品,如何将数据迁移过来,以及线下的数据库实例如何与云原生数据库共同发挥作用。也就是说,对于用户而言,实际上需要的是一套解决方案。

阿里云数据库为用户提供了三种解决方案,可以适用于用户不同的场景。

  • 方案1是整体迁移到云数据库。在这种方案中用户最关心的是数据库和应用的兼容性问题。很多情况下,用户要从Oracle数据库迁移到云数据库或者从自己原有的历史版本数据库迁移过来,因此需要关心兼容性问题。此外,对这种方案而言,传输性能也需要关心。
  • 方案2是数据仍然在云下,但是要用云原生技术对云下数据进行管理,也就是“数据在云下,管理在云上”。对于这种方案而言,相当于在云上运行了一个数据库管理软件,可以帮用户节省数据库运维的各种人力成本,而对于用户而言,做需要关心的是如何在云上管理服务与云下的数据之间建立安全通道。其次,还需要关注数据安全和效能问题。最后,还需要深入考虑智能化问题,因为这种方案并不是要把人的能力搬到云上去,把线下的人工操作变成了线上的操作这么简单,而是云上的智能化管理,这将大大降低DBA和运维人员的负担。
  • 方案3是生产数据在云下,二级数据在云上。如何理解生产数据和二级数据的关系呢?其实,生产数据就是业务所产生的数据,比如淘宝的交易所产生的数据,它就直接写入到了阿里巴巴的买家库或者生产交易库,这样的数据就叫生产数据。而二级数据则是生产数据的备份,将生产数据拷贝到像Hadoop平台、Elastic平台以及其他备份数据的地方,这些数据全部叫做二级数据。在Gartner最近的报告中提到在现在的互联网业界中,二级数据和生产数据的比例已经达到了20:1,也就是说生产数据只占所有管理数据的一小部分,而二级数据反而成为大头,甚至有可能是消耗资产的主要来源。

接下来介绍一些阿里云所提供的数据库工具。

DMS数据管理——权限管理最佳实践

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

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

5.png
上述数据管理最佳实践落地的最大阻碍在于人和权限的管理没有到位。对于公司而言,必然存在人员的入职、离职、以及部门更换等流动性过程,因此一定要实现人员权限与其当前位置的强关联,这样才是有效的管理,否则权限体系就会崩塌掉。DMS通过提供OpenAPI体系可以支持与企业的单点登录系统SSO,也就是企业的权限管理系统进行对接。无论是员工入职、更换部门还是岗位、职位调整,都可以通过在系统中联动DMS的OpenAPI完成权限改变,使得员工权限始终与其岗位和部门保持一致。

DMS数据管理——变更安全/研发效能

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

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

7.png
DAS是一款数据库自治产品,这里重点介绍DAS在去年和今年发表的两篇VLDB论文。在2019年发表了题为《iBTune: Individualized Buffer Tuning for Largescale Cloud Databases》的论文,主要是利用机器学习技术智能地调整缓存大小。当DBA只管理10个以内的数据库,可以用大脑进行记忆像每个数据库所需要的缓存大小、缓存命中率以及业务RT要求等信息,而对于像阿里巴巴这样的情况,需要少量的DBA应对上万的数据库。此外。在用户并不具备数据库调优知识时,人工调整缓存也非常困难。上面这篇论文就尝试解决这样的问题,它通过机器学习方法,预测将缓存降低到什么情况,缓存命中率和RT的值会发生什么变化,其中使用的是深度神经网络技术。这样的预测技术在阿里巴巴内部上万个数据库实例中使用得到的收益就是使得数据库内存用量降低了12.44%。

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

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

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

9.png
对于数据库自治而言,什么时候限流、什么时候扩容,这两个场景其实是不一样的。如果通过原有的流量预测,熬过了这段时间流量就会下来,那么此时不应该扩容,因为这是一个短暂的峰值流量,为了短暂突发的峰值流量而扩容是不合适的,那么此时可以对它进行限流。但是如果流量持续上涨,并且预测未来流量还会越来越高,那么就应该扩容。DAS可以自动化地完成预测,无需DBA人工决策。此外,DAS还提供了异常检测、故障检测、SQL审计、防注入、安全漏洞修复等一系列功能,详情可以参考DAS官方文档。

DG数据库网关——打通私网、本地IDC和他云

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

DTS数据传输——整体架构

11.png
其实,阿里巴巴是最早做数据传输服务的,在阿里云诞生之前,DTS的前身DRC就是在阿里内部做数据传输的,而阿里早期引以为傲的技术,比如异地多活等都是靠点对点数据同步完成的。现在的DTS作为云服务,其核心竞争力就是支持非常多的源库和目的库类型,而这一点的实现并不简单,因为不同数据库的日志结构和分布式架构都不一样,想要支持这些数据库往往需要经过大量的探索,因此在技术上有相当高的门槛。此外,DTS除了支持从数据库向数据库进行迁移之外,还支持向一些分析平台进行迁移,或通过订阅方式向一些流计算平台进行迁移,订阅接口也兼容Kafka的SDK。

DTS数据传输——核心技术:事务级实时同步

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

ADMA专业迁移——整体流程

13.png
ADAM是一个专家的数据迁移服务,之所以在前面加了“专家”这样的形容词,是因为其不仅仅是对数据进行异构迁移和解决数据在两端的存储问题,更多的是帮助用户进行数据库选型。ADAM会尝试去分析用户线下使用的数据库,比如ADAM可以帮助用户分析使用的SQL、存储过程等,可以分析出线上某个数据库是否支持这些,如果不支持又可以使用其他什么方案,这也是数据库架构师或者DBA需要解决的问题,而目标数据库的选型在ADAM中得到了很好的解决。其次,ADAM能够实现兼容性分析和自动SQL改造,这是因为数据库与数据库之间,即使是写入的SQL也是不同的,更何况还有查询的SQL和Join查询等,虽然都遵循SQL 99规范,但是都有各自方言的SQL语法。最后是自动数据订正,甚至可以指导应用来修改应用配置和参数来适配新的数据库,因此叫做专家服务。ADAM即将要推出数据迁移实验室,用户将可以在不真正动数据的情况下进行数据迁移尝试,以此分析SQL以及数据库管理有何不同。

ADAM——核心技术:SQL语法转换

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

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

15.png
DBS数据库备份是阿里云目前正在重点研发的产品,上图展示了其技术整体架构。

DBS数据库备份——核心技术:物理全量PIT拷贝、物理增量CBT

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数据库备份——核心技术:数据湖分析

17.png
前面提到希望将二级数据放在云上并发挥数据价值,上图所示的是将数据备份到对象存储之后,直接建一个数据湖,然后实现对于数据提交SQL查询的分析,这意味着数据并不需要再恢复到某个数据库了,可以直接对备份数据进行SQL查询,这对用户是非常友好的,比如对于历史数据的查询只需要在备份数据上就可以完成。

DBS数据库备份——核心技术:CDM沙箱

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

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

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

19.png
第一种方案是整体上云,阿里云给出的就是ADAM+DTS的技术组合方案。ADAM完成数据库画像分析和云数据库选型,生成迁移计划并进行结构的迁移和订正,DTS对于数据进行全量和增量的迁移,最后ADAM还要对于线下应用进行画像评估。第一个方案所需要解决的最主要问题就是数据库异构问题,并打通异构通道。

解决方案2:DMS+DAS+DG——云下数据+云上管理

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

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

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

原文链接 

本文为阿里云原创内容,未经允许不得转载

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514491.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

针对数据库连接池到DRDS连接探活的优化

简介: 针对数据库连接池到DRDS连接探活的优化 1. 问题背景 近期在给某专有云客户进⾏云产品应⽤性能优化分析时,发现了⼀个有趣的关于DRDS使⽤层⾯的问题,这⾥给⼤家分享⼀下。 使⽤过DRDS产品的同学都知道在DRDS中,未分库分表的…

用友BIP|YonBuilder+APICloud 双平台,“1+1>N”的低代码战略

作者 | 宋慧 出品 | CSDN云计算 头图 | 付费下载于视觉中国 作为企业IT信息化中最热的话题,低代码被广泛关注和讨论。国内低代码赛道的厂商众多,传统表格控件厂商、互联网巨头、创业公司,各具优势,在市场攻城拔寨。而国外&#x…

人生苦短,开发用云-如何优雅完成程序员的侠客梦

简介: Coding的魅力如此之强,引无数程序员竞折腰,在今年由CSDN举办的1024程序员节上,中国初代程序员大宗师求伯君说,当年看到有人在用WPS,可开心了,因为有很多人用。然后,也会去找看是谁破解的&…

DTCC 2020 | 阿里云王涛:阿里巴巴电商数据库上云实践

简介: 第十一届中国数据库技术大会(DTCC2020),在北京隆重召开。大会以“架构革新 高效可控”为主题,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨。在数据库智能运维专场上…

SRE技术保障平台-盯屏中心TAC: 混合云一站式告警运维平台

简介: SRE技术保障平台-盯屏中心TAC: 混合云一站式告警运维平台 1.目标定位 1.1背景 告警管控平台种类繁多告警出现后未及时发现处理最终导致故障产生专有云监控能力拉起依赖版本升级,操作复杂,迭代慢异常问题和故障的感知力不如…

安全攻击层出不穷,绿盟科技“智慧安全 3.0”安全防护再升级

随着网络空间和物理空间的边界不断融合,威胁攻击也层出不穷:5月9日,美国最大的燃油管道运营商、东部地区油气输送主要动脉 Colonial Pipeline 公司遭受黑客攻击和勒索,被迫暂停运营,直接导致了美国17个州和华盛顿特区进…

技术干货 | “选图预览并上传”的场景如何解?全网最全方案汇总来了

简介: 你真的知道如何“上传”一张照片吗? 选择本地相册图片或者拍照,然后预览并且上传是移动应用中一个典型的使用场景,比如常见的身份证信息上传等。 不少客户都反馈有类似的场景,并且在使用上都或多或少的遇到一些…

Serverless 在 SaaS 领域的最佳实践

简介: 随着互联网人口红利逐渐减弱,基于流量的增长已经放缓,互联网行业迫切需要找到一片足以承载自身持续增长的新蓝海,产业互联网正是这一宏大背景下的新趋势。我们看到互联网浪潮正在席卷传统行业,云计算、大数据、人…

5G进入爬坡期,这个关键因素,决定了它的成败……

作者: 小枣君来源: 鲜枣课堂前言2021年上半年,国内5G推进取得了不错的进展。根据工信部最新的数据统计,截止6月底,国内5G基站数量达到96.1万,即将突破百万大关。而国内5G终端连接数,也相比年初猛…

如何降低微服务测试成本?我的经验之谈

简介: 本文为大家介绍微服务治理测试:基于服务契约信息,降低云上微服务测试成本。如果您的团队具备较强的微服务治理测试能力,那么希望我们在微服务治理测试方面的实践和背后的思考,可以为您提供一些参考。 前言 随着…

C语言偏科,C

即使目前的汽车工业发展飞速,类似智联系统、自动驾驶等“黑科技”层出不穷。但不少消费者却仍将关注点放在车辆的基础性能上,譬如它们的安全系数。的确,对于一台行驶在路上的代步工具而言,再多花哨的功能也只能是锦上添花&#xf…

分布式全链路灰度发布的探索与实践

简介: 在分布式系统中,由于分布式全链路灰度发布因其链路复杂、技术门槛高、落地难度高逐渐成为金融科技实现全链路灰度发布的难点所在。工行在分布式系统建设方面一直走在同业前列,积极探索分布式全链路灰度发布,致力于解决分布式…

漫画:什么是 HTTPS 协议?

作者:小灰来源:程序员小灰什么是HTTP协议?HTTP协议全称Hyper Text Transfer Protocol,翻译过来就是超文本传输协议,位于TCP/IP四层模型当中的应用层。HTTP协议通过请求/响应的方式,在客户端和服务端之间进行…

DTCC 2020 | 阿里云张鑫:阿里云云原生异地多活解决方案

简介: 异地多活,顾名思义就是分布在异地多个站点同时对外提供服务,与传统灾备最主要的区别是“多活”里所有站点都是同时在对外提供服务的。在业务不断复杂化和容灾要求不断严格化的今天,如何实现云原生的异地多活解决方案&#x…

政企边缘安全,如何助您提升企业的“免疫力“?

简介: 在数字化进程中,政企会面临诸多在线化的挑战,一方面要求业务能够在线开放,同时也要求服务是稳定流畅可靠的,此外还要保证安全合规,这对业务开发及运营者提出了极高要求。1月6日,阿里云CDN…

在部队敲代码是一种什么样的体验?

作者 | 千鸟(网名) 小路助手开发者责编 | 晋兆雨出品 | CSDN(ID:CSDNnews)CSDN编者按:对于大多数人来说,大学毕业后选择一家满意的公司,一路升职加薪才是正解,但他却偏…

消息轨迹全景图详解-独门秘籍

简介: 消息轨迹全景图详解-独门秘籍 消息轨迹全景图详解-独门秘籍 消息轨迹全景图详解-独门秘籍 阿里云 IoT 企业物联网平台上线了消息轨迹全景图功能,帮助 IoT 开发者追踪消息通信的完整轨迹,快速分析和定位问题,及时恢复业务。…

元数据驱动的 SaaS 架构与背后的技术思考

简介: 在抽象能力以及沉淀了产品的基础上,把所承载和沉淀的业务能力快速输出,贡献给整个行业。 道冲而用之或不盈,渊兮似万物之宗。 —老子 引言 作为业务系统技术开发同学,面向当下: 首先应该是快速搭建业…

对 SolarWinds 事件更深的思考:如何防御供应链攻击

简介: 消灭企业安全体系中“隐秘的角落” ———— APT攻击愈演愈烈,与SolarWinds相关的安全反思已持续半月,阿里云安全带来了面向供应链攻击特征属性的全面攻防观察,以飨从业者。 ———— 后期精彩的APT内网对抗往往依赖于「先…

DTCC 2020 | 阿里云李飞飞:云原生分布式数据库与数据仓库系统点亮数据上云之路

简介: 数据库将面临怎样的变革?云原生数据库与数据仓库有哪些独特优势?在日前的 DTCC 2020大会上,阿里巴巴集团副总裁、阿里云数据库产品事业部总裁、ACM杰出科学家李飞飞就《云原生分布式数据库与数据仓库系统点亮数据上云之路》…