开发者学堂课程【关系型数据库 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可以比传统的方式更早的发现数据库异常指标,从而降低对业务的影响。
DAS检测异常指标的方法上主要有这五个:毛刺( Spike ) 、周期性( Seasonality )、趋势( Trend )、均值偏移( Meanshift )、新增( Emergence )。
毛刺( Spike ) :短时间内突增突降
常见场景:
l 故障抖动,数据库活跃线程飙升
l 瞬间流量波动,如:秒杀业务场景
示例:
周期性( Seasonality ):周期规律性变化
常见场景:
l 业务高峰和低峰
l 工作日和周末时间段波动区别
l 周期性任务
示例:
趋势( Trend ) :按某种规则稳步地增长或下降
常见场景:
l 流量、CPU利用率等逐渐增长
l 库表、磁盘空间使用增长
示例:
均值偏移( Meanshift ):在某个时间点发生转折变化
常见场景:
l 业务大促
l 磁盘空间进行日志清理
示例:
新增( Emergence ):和过去对比,新增的对象
常见场景:
l 业务新功能发布
l 执行方式发生变化
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+设计及审核规范,可按需调整。
敏捷高效:
基于设计规范,研发人员全自助即可完成合规的数据库开发,非生产环境可做到免审批,仅生产环境需要审核。保障安全的同时,实现高效协同。