开发者学堂课程【关系型数据库 ACP 认证课程:数据库生态工具&架构方案】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/927/detail/14622
数据库生态工具&架构方案
内容介绍
一、 数据库生态工具
二、 回顾与总结
三、 试题
一、 数据库生态工具
阿里云数据库生态工具,有四个分别是:数据自治服务 DAS、数据管理 DMS、数据传输服务 DTS 和数据库备份 DBS。
1. 数据自治服务 DAS
简介:数据库自治服务( Database Autonomy Service,简称 DAS )是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助用户消除数据库管理的复杂性及人工操作引发的服务故障,有效保障数据库服务的稳定、安全及高效。
数据库对很多企业来讲都是业务的基座,企业里面的研发、测试和运营等等,很多人都需要对数据库进行操作,比如说查询。但是这些人对数据库的了解的程度是不一样的,随着业务迭代的速度越来越快,人员彼此业务上也有交叉,越来越频繁,数据库的故障,无论是新闻也好,或者日常的工作当中实际遇到的事情,不再是很新鲜的事儿了。比如说生产业务上出现的问题,或业务大促期间出现性能的瓶颈需要扩容出现的问题,或者表结构、索引出现的一些问题等等。偏偏数据库的问题排查和性能优化一直是一个比较专业的问题,即使是一些很专业的 DBA 在面对一些棘手问题的时候,也很耗费脑力和时间。
所以对使用数据库带来了越来越大的挑战。基于这样的一个背景,阿里云推出了数据库自治服务。通过 DAS 操作系统自己不断的构建自主学习的能力。比如异常的自动标注、案例系统的设置、异常的模拟等等,形成一套完善的自治服务。目前 DAS操作系统拥有六个知识特性。分别是:72小时的异常检测、故障自愈、自动 SQL 优化、智能调参、自动弹性伸缩和智能压测和容量评估。
(1) 性能指标异常检测
DAS 对数据库在运行的状态进行监控的功能。传统的方式是通过规则告警,CPU 连续三次超过90%,才会触发告警。导致触发告警的异常信息存在一定的滞后性。DAS 是基于实时的机制进行检测,因为利用了机械学习的一些技术。所以可以对监控指标和日志数据等等进行全方位的监控。
图中 CPU 利用率不断上升,DAS 可以比传统的方式更早的发现数据库异常指标,从而降低对业务的影响。
DA检测异常指标的方法上主要有这五个:毛刺( Spike ) 、周期性( Seasonality )、趋势( Trend )、均值偏移( Meanshift )、新增( Emergence )。
毛刺( Spike ) :短时间内突增突降
常见场景:
- 故障抖动,数据库活跃线程飙升
- 瞬间流量波动,如:秒杀业务场景
示例:
周期性( Seasonality ):周期规律性变化
常见场景:
- 业务高峰和低峰
- 工作日和周末时间段波动区别
- 周期性任务
示例:
趋势( Trend ) :按某种规则稳步地增长或下降
常见场景:
- 流量、CPU 利用率等逐渐增长
- 库表、磁盘空间使用增长
示例:
均值偏移( Meanshift ):在某个时间点发生转折变化
常见场景:
- 业务大促
- 磁盘空间进行日志清理
示例:
新增( Emergence ):和过去对比,新增的对象
常见场景:
- 业务新功能发布
- 执行方式发生变化
(2) SQL 诊断和自动 SQL 优化
主要去是识别出日行效率比较地下的 SQL,对他们进行诊断分析并进行一些合理的优化,来达到自动优化 SQL 的效果。自动 SQL 优化本身是基于数据驱动的闭环流程。
异常的事件是异常的SQL引发的,这个是由DAS的事件中心进行检测的,这时候就会触发进行检测,诊断发起。发起后DAS会对实例进行初步的诊断,通过表维度视维度来生成若干条的诊断结果和优化的建议,就会推送到DAS自治中心里面,页面里面就会看到。然后根据建议做优化,选择合适的运维窗口期进行执行。后端会有机械学习引擎在,随意会持续的跟踪这个效果。
规模性:足具扩展性的服务架构,以支撑几十万级、百万级的大规模自动优化。
精准性:异常检测机制,实现优化时机的精准识别,问题 SQL 的精准定位。
安全性:线上无小事,线上变更如何做到安全可控。
全面性:优化效果的全面多维度跟踪,全面实时评估,也是保证安全性的要求。
联动性:综合治理能力,如突发的恶性慢 SQL 问题,DAS 的自动 SQL 限流,自动SQL 优化需要形成联动效应,实现问题的标本兼治。
(3) 自动空间的优化
针对数据库实例的存储空间进行优化。帮助我们节省数据库实例的磁盘空间。
自动空间优化手段:无流量表识别、Optimize Table、无流量索引识别、冗余索引
(4) 自动 SQL 限流
遇到缓存穿透或者性能低下的“烂 SQL”。导致业务流量跌停的情况。传统解决方案里面这种方式不是很好来解决的,我们只能接受业务崩溃或者开发人员把这个问题找到。自动 SQL 限流是对数据库实例上的特定的 SQL 来采取限制运行措施的功能。至少应急是非常有用的,可以对 SQL 的数据进行监控,有效的识别出当前的SQL 是阻塞型 SQL、资源消耗型 SQL 还是流量型 SQL。当 DAS 检测到数据库实例资源紧张的信息的时候会把问题SQL的语句识别出来并且给出相应的限流建议。
(5) 自动的弹性伸缩
是指 DAS 会根据数据库实例在运行的时候负载还有一些设计的策略自动的调整数据库的计算能力。比如说当数据库出现资源紧张的时候就给出推荐的合理的扩容规格,快速把数据库实例的规格提上去。当负载下降以后通过降配的方式来回收。
在图中这个业务实例流量是逐步升高的。DAS 经过诊断以后发现当前的流量是只读流量占了大部分,所以给出建议增加两个只读节点来应对负载。随后又出现溯源紧张的情况。诊断出读写流量占比都比较大。这时候就采取弹性伸缩提高规格。两次突发情况变配的事件都比较短,但是累计的收益时间很长。
(6)智能压测
主要针对 SQL 的流水进行处理后记录真实业务的一些行为,然后进行回访模拟。就可以在大促前对数据库性能进行精确的评估。这个功能是和达摩院共同研发出来的。
低负载捕获真实业务流量、支持写流量回放压测、通过学习自动生成压测流量、支持语法自动转换。
2. 数据管理 DMS
DMS 是面向数据库开发者、数据开发者的一站式在线数据管理平台。
如上图,DMS 是几乎全面支持阿里云生态里的几乎所有的数据源。面向这些数据源,DMS 提供了四个方面的管理能力:数据资产与安全、数据设计与开发、数据传输与加工、数据应用。这些能力主要构成的这几个大类的功能:统一数据目录、数据治理、数据血缘、数据隐私与脱敏、协作开发、安全管控、数据集成、编排调度。可以应对很多的场景,比如说数据化运维 DataOps、容灾/多活、T+1/实时/归档、数据集中处理、可视化报表、多维分析等等。
(1) 数据管理 DMS 企业级能力简介:
一站式数据管理 DMS 提供了包含全域数据资产、数据库设计与开发、数据集成、数据开发、数据可视化及数据服务等能力。通过内置阿里巴巴数据库研发规范及数据安全最佳实践,DMS 可帮助企业实现高效敏捷、安全可靠的数据生产、处理及消费等一站式的体验。
一站式数据管理平台:
● 覆盖27种常见数据源
● 跨云/ IDC支 持多环境的数据源
● 覆盖数据全生命周期的所有管理功能
全域数据资产:
● 覆盖常见的数据存储搜索分析,轻松理解数据
大规模实践的安全能力
● 端到端数据安全治理能力,轻松应对合规认证。
23种数据源实时集成:
● 基于数据库日志解析+分布式调度框架,实现秒级延迟的数据实时集成
零代码 +E2E 诊断:
● 全图形化/向导式,E2E 自助诊断运维、数据血缘及变更联动降低数据处理门槛
高效敏捷:
● 阿里巴巴规模实践的 DataOps 流程实现数据开发加工的高效敏捷
(2)数据安全能力架构与简介:
在企业里安全是一个重要的细节。尤其有些企业人员规模越来越大,人员账号管理混乱最小化权限授予原则难以保障,敏感数据需要有效识别、脱敏合规审计支撑,使安全成为很管理的点。面对这些问题DMS分别从事前、事中、事后三个阶段来提供安全的能力。
事前:企业域账号对接,数据自动分类、分级,细粒度权限分配,语法级安全规则管控。
事中(实时):鉴权,脱敏(静态环境构建、动态实时访问),性能安全拦截,语法规则拦截。
事后:全流水操作日志,基于人员的操作审计,基于数据库操作的操作审计,水印追溯(防泄漏)。
企业管理实时联动,基于 OpenAPI 实践,可有效保障企业员工流转时,域账号及权限的全自动化管理。避免账号清理不及时潜在数据泄露风险。数据分类分级全面覆中华人民共和国网络安全法、盖 GDPR、SOx、PCI Dss.HIPAA 等法律法规。精细分类与脱敏内置110+分类规则,即将拓展用户自定义识别;支持哈希、遮掩、替换、变换、加密等常用脱敏算法。合规审计支持企业上市合规审计、常规内审等,基于 DMS 统一纳管可全方位支持人员权限、数据库变更与访问的详细流水审计。
(3) 数据库 DataOps 能力介绍:
针对的企业痛点:有哪些规范?规范在哪里﹖不同业务的规范怎么支持?如何保障规范的生效?研发效率怎么提升?
DMS 数据库 DataOps 研发流程:
准备阶段:元数据自动采集、设计规范配置、研发流程配置、审批流程配置。
开发阶段:表结构设计、自助查询变更、SQL 审核优化、测试环境构建。
发布阶段:无锁变更、研发规范监测并拦截、流程审批、变更异常回滚。
丰富数据源:
支持27种数据源,包括 OLTP/OLAP/NoSQL/ 对象存储/数据湖;支持跨 IDC、云厂商数据源的统一管理。
稳定可控:
通过无锁变更、变更前备份及变更异常自动回滚等策略保障开发过程中,数据库稳定可控。
安全可信:
内置阿里巴巴最新研发规范,规避无主键等不合理设计带来潜在风险;目前支持200+设计及审核规范,可按需调整。
敏捷高效:
基于设计规范,研发人员全自助即可完成合规的数据库开发,非生产环境可做到免审批,仅生产环境需要审核。保障安全的同时,实现高效协同。
(4) 数据开发能力中周期集成介绍:
数据库的调度任务以小时为单位进行调度,DMS 就可以利用它基础的能力。
丰富数据源:
支持27种数据源,包括 OLTP/OLAP/NoSQL/ 对象存储/数据湖;支持跨 IDC、云厂商数据源的统一管理。
高性能:
支持分布式集成架构,突破单机瓶颈。同时,提供限流手段,按需先流保护数据源。
运维简单:
通过性能监控、端到端一键诊断功能及报警监控等策略,实现极低运维门槛。
灵活调度
可按需配置调度,最高调度周期可低至5分钟。
3. 数据迁移 DTS
(1)数据迁移 DTS 产品介绍
数据传输服务(Data Transmission Service,简称 DTS)支持关系型数据库、NoSQL、大数据(OLAP)、分布式数据库等数据源,集数据迁移、订阅、实时同步及ETL流式数据处理功能于一体,能够解决公共云、混合云场景下,远距离、秒级异步数据传输难题。其底层基础设施采用阿里双11异地多活架构,为数千下游应用提供实时数据流。
我们的业务方可以自己通过DTS提供的SDK来对接数据进行消费。
(2) 整体技术架构介绍:
主要是去消费数据源的一些日志然后去解析成一个中间格式,在针对不同的目标进行转换,最终投递到目标当中。这里面组件很多,比如可以通过控制台、API 建立数据传输的任务。会有预检查过程,逐项通过才能往下走。数据的迁移会分成三个阶段:结构迁移、全量迁移和增量迁移。如果是数据订阅,可以通过 SDK 进行数据实时订阅。
- 全球公有云第一个数据流产品
- 阿里经济体数据库全球化和异地多活底座
- 9年打磨,支撑双11大促
- 支持多达20多种数据源和目标.服务近5万企业客户,已完成近60万个数据库上云
(3) 数据实时同步链路原理:
结构迁移、全量迁移、增量迁移三者有机的使用,再结合实时同步就可以实现接近于零停机的迁移。
结构迁移∶迁移元数据。数据类型准确、PK/UK/索引约束准确
- 全量迁移∶迁移存量数据。对数据库影响低、速度快
- 增量拉取∶捕获迁移过程中的变化数据。数据保真、不丢数据
- 增量写入∶迁移增量数据。数据一致、链路无延迟。(幂等、冲突矩阵)
- 全量数据校验︰保障源和目标数据一致性。快速、具备订正能力
(4)多业务场景数据传输解决方案
数据库所在的网络经常是多种多样的,如果这写各种各样的数据库想要迁到云上来。就会面临网络的互通问题。
DTS 致力于在公有云、混合云场景下,解决远距离、毫秒级异步数据传输难题,如不停机迁移上云、异地灾备、异地多活、数据中台实时数据集成、数据实时订阅等问题。它底层的数据流基础设施为阿里双11异地多活基础架*为数万下游应用提供实时数据流。用户可以使用数据传输轻松构建安全、可扩展、高可用的数据架构。
(5)数据实时订阅
主要通过数据订阅支持实时拉取 RDS 实例的增量日志,用户可以通过 DTS 提供的SDK 数据订阅服务端或者 kafka client 来订阅增量日志,同时可以根据业务需求,实现数据定制化消费。DTS 负责从源库来拉取日志然后进行存储,业务端通过 SDK来消费,来实现下游的业务处理。
DTS 服务端的日志拉取模块主要实现从数据源抓取原始数据,通过解析、过滤、标准格式化等流程,最终将增量数据在本地持久化。
日志抓取模块通过数据库协议连接并实时拉取源实例的增量日志。例如源实例为RDS for MySQL,那么数据抓取模块通过 Binlog dump 协议连接源实例.日志拉取模块及下游消费SDK的高可用:DTS 容灾系统一旦检测到日志拉取模块出现异常,就会在健康服务节点上断点重启日志拉取模块,保证日志拉取模块的高可用。
DTS 支持在服务端实现下游SDK消费进程和 client 的高可用。用户同时对一个数据订阅链路,启动多个下游SDK消费进程和消费 client ,服务端同时只向下游消费推送增量数据,当这个消费进程异常后,服务端会从其他健康下游中选择一个消费进程,向这个消费进程推送数据,从而实现下游消费的高可用。
(6)业务数据实时分析与计算
场景说明∶用户需要实时或定期对线上业务数据进行数据分析,以实现营销决策,业务大屏,实时查询等业务场景
解决方案∶使用数据同步功能,将线上业务变更数据准实时同步到大数据分析产品中,业务实现准实时数据分析,快速抢占商务先机。
实时分析:
业务更新数据需要同步到 AnalyticDB/Maxcompute 中,跟其他数据进行实时交叉查询分析。
流式分析:
流式分析需要借助流计算对线上业务更新数据进行流式分析。
4. 数据备份服务 DBS
(1)数据备份服务 DBS 的产品介绍
● 数据备份(简称 DBS)是阿里云提供的低成本、高可靠的云原生数据备份平台。DBS 旨在保护数据资产、激活数据价值。
● DBS 提供无限容量的备份存储、秒级应急恢复和恢复演练,并借助秒级沙箱实例和备份数据查询激活冷数据。DBS 支持 MySQL、SQL Server、Oracle 等近10种数据库,支持文件、日志、数据库等全站备份,支持本地数据中心、其他云厂商、ECS 数据库及 RDS 数据库等环境,是客户首选的企业级混合云统一备份平台。
● DBS 旨在保护数据资产、激活数据价值。
(2)数据备份服务 DBS 的产品介绍-数据副本管理(CDM)
通过 CDM 可以把来自于阿里云或者其他云提供的数据源,都可以同步到 DBS 中。
DBS 服务端大体架构分为三层。中间层为混合云备份管理,包括备份策略、数据源、存储管理、备份数据、应急容灾、恢复演练、对比校验、监控告警。中间层之上是云原生数据应用,包括开发测试、历史归档、数据湖分析、云容灾。最下面是混合云存储管理。
(3) 数据备份服务 DBS 支持的数据源及其环境
数据源:
①数据库︰
● OLTP : MySQL、Oracle、sQL Server、PostgresQL、PolarDB MySQL、PolarDB PostgresQL、PolarDB O、PolarDB-X
● OLAP :ADB PG,ADB MySQL
● NoSQL : Redis、MongoDB
②文件︰文件、审计日志
环境:
①阿里云∶阿里云数据库、阿里云 ECS 自建数据库和文件
②混合云∶本地 IDC 自建数据库和文件
③其他云∶ AWS、华为云、腾讯云、京东云、UCloud 等自建数据库和文件
(4)据备份服务 DBS 支持的存储类型
云存储:
①分布式快照存储: CDM
②分布式对象存储: OSS/S3
③分布式文件系统∶
● Lindorm/HDFS
● NAS ( NFS/SMB )
归档存储:
①归档型 OSS
②阿里云 ECS/本地 IDC:Linux/Windows 服务器自动/手动
③本地 IDC :
● NAS、FTP、Minio ( S3 )
● 蓝光、光盘
(5) 数据备份服务 DBS 支持的备份方式
①数据:
物理备份,包括全量、增量、日志
逻辑备份,包括全量、日志
快照备份,包括全量、日志
②上传:流式备份、转储备份、挂载备份
③加速:置并发数提升备份恢复速度
④限流:置IO限流值或带宽限流值
⑤安全:
配置 HTTPS 传输加密
配置 AES256和 BYOK 存储加密
⑥降本:
配置 GZIP、LZ4、引擎内置压缩算法
部分版本可配置源端、异步重删
⑦网络:公网、专线、cen、数据库网关 DG(无需暴露公网)接入
⑧计算:配置 SQL 进行历史数据归档
⑨存储:配置多级存储池进行多级数据流转和管理
(6) 数据备份服务DBS支持的恢复方式
①恢复粒度:例、库、表恢复
②恢复环境:可挂载 CDM 存储盘恢复到原实例、自建新实例、RDS 新实例、CDM沙箱新实例
③恢复新实例规格:按需创建指定规格
④可恢复时间点:物理、逻辑、快照备份的全量可恢复当前全量时间点,增量备份可恢复当前增量时间点,日志备份可恢复任意时间点
⑤恢复演练:定时恢复到 RDS、CDM 秒级恢复演练,数据可用性校验,演练和可用性报告。
(7)数据备份服务 DBS 支持的备份数据应用方式
①SQL 查询备份:CDM 沙箱实例可查询任意时刻数据状态,DLA 可查询全量备份数据状态
②下载出云:配置手工、自动下载出云
③下载计算:全量备份转 CSV、打包计算
(8)数据备份服务 DBS 的典型应用场景
①统一备份∶云数据库/自建库、维护/巡检/策略/账号/优化
②库表恢复∶仅单库或单表恢复到源实例
③应急恢复∶全增合并(后台)、快照挂载(秒级)、日志应用(任意时间点)、1TB/2分钟(数据恢复)、512MB/5分钟(日志恢复)
④恢复演练∶备份数据自动做恢复验证并产出演练报告
⑤数据构建︰备份数据应用,用于开发/测试/压测/报表/分析跨地域⑥跨地域备份︰跨境、跨云、跨可用区
⑦数据归档∶释放前保留、行级数据保留并清理(DMS)
⑧备份到本地∶备份到客户存储,NAS/S3等
⑨备份上云∶冷备到阿里云,同地或异地
⑩灾备上云∶冷备到阿里云,云端快速拉起