专题一: DAS自修复和自优化的技术解读
讲者: 梁高中 阿里云智能高级技术专家
1. 数据库挑战
- 容量规划:目标是在稳定性与成本之间取得最大化平衡。比如对于上云,针对大促以及针对突发的热点的流量,实现快速的弹性扩容。
- 故障检测与恢复:及时地从成百个性能指标中快速发现异常,准确的定位到根因,快速地进行故障干预,实现实时的故障恢复。
- 持续调优:业务是在持续变化中的,数据库的复杂也持续在变化,在这变化中如何快速识别优化点,进行持续全局优化。
总的来说数据库对高可用、稳定性、伸缩性、高性能的要求,给人力成本、资源成本、运维成本带来了新的压力。因此,阿里提出了数据库自治服务的理念 —— DAS破解理念。
2. DAS破解理念
DAS破解理念示意如图1所示,主要包括以下三个方面:
- 数据驱动:通过海量的实时数据收集,如性能指标、负载SQL的请求日志、运维变更日志等等,并以此为基础构建探测能力。它就如DAS的眼睛,让DAS具备环境态势的实时感知、异常的实时发现能力。
- 机器学习+专家经验:让DAS可以根据业务场景自己做出决策,具备自我决策能力。
- 自动执行能力:即根据决策自动进行任务的编排,自动完成决策的执行的能力。就如同DAS具备手、脚、眼睛、大脑,DAS通过打造闭环能力实现他们之间的协调,最终实现自治能力。
3. DAS在阿里巴巴的数据库实践
- 稳定运行三年多,覆盖数10万数据库实例;
- 累计已经完成超过4600万慢SQL的自动优化,实现集团慢SQL整体92%的下降;
- 异常自恢复能力实现了90%的异常场景的覆盖;
- 异常自愈能力,即一分钟发现,5分钟定位,10分钟恢复;
- 累计取得了20T内存资源、超4T的空间资源的节省。
在这一过程中DAS也在不断构建自己的自学能力,例如异常自动标注、案例系统、异常模拟、量化反馈评估,依托阿里集团线上业务场景的丰富性,沉淀大量案例,以案例为驱动,加速自我优化,不断提升自治的有效性。
4. DAS技术解读
(1)7*24小时异常检测
实现数据库实例的持续模型训练,结合流式大数据的分析计算框架,进行实时模型预测和实时异常检测分析。
相比于传统基于规则和基于预测的方式,DAS的异常检测具有检测范围更广、准实时检测、基于AI异常驱动的异常检测等独特优势。另外它还具有周期性的识别能力以及预测能力。
(2)常见workload场景时序特征
- 毛刺特征:例如瞬时流量波动、产生故障抖动、活跃会话飙升等;
- 周性的特征:比如每天业务的高低峰,工作日周末的高低峰等;
- 趋势性特征:比如持续写入导致磁盘空间的稳步增长;
- 均值偏差特征:如新业务上线带来的流量变化,以及业务大促带来了流量的变化。
对于这些特征大致异常检测,能够准确识别并支持多种持续特征的叠加识别,触发基于根因的全基因诊断分析以及后续的异常恢复,优化自制场景。
(3)基于workload全局自动SQL优化
- 基于全局workload,消除局部优化的弊端;
- 识别无关表、索引和低效SQL等;
- 识别workload变化,自适应调整索引,动态保持最优状态。
专题二: 智能数据库前沿探索与应用
讲者: 张铁赢 阿里巴巴智能数据库团队负责人
1. 阿里巴巴智能数据库
阿里巴巴智能数据库的目标是通过自动化、智能化的方法降本增效(关键业务存储成本下降60%、DB问题自动解决90%、DB人力成本下降90%)。如图2,为阿里巴巴智能数据库的全貌图,在智能化内核实现智能的内核分离,目前已经用到了PolarDB-X+Redis企业版,同时正在和数据库Lindorm针对冷热分离做联合开发。
2. 工作重心
目前智能数据库研发工作主要集中在6个方面:
- 智能调参:智能化的调节参数;
- 冷热分离:主要目标是降低存储成本;
- 智能压测:使用在上云班站、大促压测、规格评估等场景;
- 优化:主要是关注的是怎样智能地学习统计信息;
- 智能问答:主要用在自动化客服;
- 基础设施:整个优化评估。
3. 峰值性能
对应的业务是像双11这种对性能要求非常高的场景,目标是在最短的时间内给出对应的参数建议,因为一个调参任务开始之后,它对应的时间开销对用户是有感知的,特别是对时间要求比较紧迫的任务,希望能够在最短的时间内就给出参数建议和它对应的预期收益。提出基于Meta-learning进行负载迁移的学习的方法,这样可以将离线的多种workload,在不同的knobs的偏序关系下进行相似性的匹配。
4. 智能调参
智能调参,智能冷热分离和基础设施方面的建设的进展。智能调参主要包括三个方面,一是性能挑战,这主要针对的像吞吐延迟,例如双11我们的峰值是典型的性能挑战。二是资源调优,目标是节省资源,比如像内存使用、CPU使用等等。第三是稳定性调整,比如IO的抖动、主备的延迟。
如何通过调参来降低内存的使用?
核心思想:如果我们能降低BufferPool,那么整个的内存的使用量就降下来了,资源的使用量也可以降下来。
核心算法:如图3所示,首先建立Buffer Pool和Miss Ratio之间的关系;然后通过分析当前这个节点,它的最近0可以忍受的BP,对应的 Miss Ratio是一个什么样子的。通过可以忍受的Miss Ratio计算出它的BufferPool是多大,那么新计算出的BufferPool就是它的新的BP Size;然后再通过神经网络去判断BufferPool是否可以满足对应的SLA,如果可以满足的话,就apply到对应的DB实力;如果满足不了,我们再去计算它的最新零,再去反复这个过程。
5. 智能冷热分离
- 不同业务真实的数据量是巨大的;
- 不同的存储介质成本差距也是巨大的,通过把大量的数据放到我们的云盘上,可以节省成本;
- 不同的数据有不同的生命周期,如果能把根据生命周期判断这个数据是否是冷数据,从而把对应的冷数据一道廉价的存储设备上,这样也会节省大量的成本。
设计了一套智能化的冷热分离识别算法,并集成到PolarDB-X,架构示例及算法效率如图4所示。
6. 智能数据库基础设施
以上提到的智能调参、冷热分离,包括最后的优化这一整套的基础设施,我们称之为基于多态负载的基础设施。这些基础设施对我们的数据库优化起着非常重要的作用。具体而言这套系统称之为ClouDBench,它有三项基本功能,库表生成、负载生成和并发回放。
7. 总结
(1)阿里巴巴智能数据库:
- 智能调参:峰值提升20%~30%,内存节省17%
- 智能冷热分离:存储节省60%
- 智能数据库基础设施:40余种workload支撑智能压测和算法优化
(2)接下来工作(正在进行中):
- 智能优化器;
- 智能问答(NL2SQL)。
专题三: 企迈云商系统稳定性建设
讲者: 刘浩 企迈云商数据库架构师
1. 企迈云商:
成立于09,,主要是结合餐饮和零售业务的一站式服务运营平台,帮助门店数字化运营,公司目前团队200余人,其中技术中心在150人。我们服务的商家有很多,比如说耐雪、周黑鸭、老乡基等等都是我们的客户,我们现在每个月的订单量在6000万左右。系统架构如图5所示。
2. 数据库的稳定性如何建设:
(1)数据架构: 如图6,企迈云商使用阿里云的Redis、MySQL做为核心业务库,在数据库的前端层会有一层Redis 的缓存层,后端有tIdb和ES、大数据的平台,还有一些实时的计算机来支撑我们后端的业务,在这里我们会有一个明确的划分,MySQL主要支持C端的业务场景。
(2)如何快速处理业务层故障: 第一,在业务层实现自动的扩收容,去应对业务场景的突然流量的突然爆发;第二,在对于扩容业务服务器无法解决的问题会进行限流,比如针对商家或者接口进行限流;第三,如果是代码功能的问题,会进行快速的回稳。
(3)数据库层的故障处理: 常见的数据库故障包括,缺少索引、并发高导致复杂、收购导致的资源消耗过大、缓存穿透,异常调用、业务设计不合理、容量预估的不足等等;常见的解决方案包括加索引、重启、主备切换、代码回滚、应用层的限流等等。
(4)数据库的终极保障工具: 阿里云的DAS自动限流工具。阿里云的DAS的限流式数据库的一种自动限流工具,能够针对数据库层的性能问题进行制度化的限流,DAS最快能够两分钟解决业务层的问题进行限流,保证恢复绝大部分的业务可用,DAS通过阿里云的机器学习获取模型,能够更加精准的判断业务的故障类型。
专题四: 空天数据库引擎Ganos aerospace
讲者: 谢炯 阿里云智能资深技术专家
(1)Ganos aerospace:
Ganos 的是阿里云的时空数据处理引擎,在云上已经有广泛的用户,那么今天我们推出的Ganos aerospace是Ganos 3.0的一个重大版本升级,它用于支持广义尺度空天传感数据的在线的数据存储和管理。
(2)系统框架:
Ganos aerospace是基于云原生关系型数据库PolarDB、多模数据库HBase/Lindom和数据库产品DLA平台上的一个专业级的增值服务。系统架构如图7所示,最底下是天基和空基的数据源,通过数据直通上云,我们在云上提供大规模空天传感数据的存储能力,包括空天多维表达、冷热多极存储、时空多维索引等等,最上层提供空天的交批查询处理和分析计算与操作。
包括以下几个重要特性:
- 空天网格码;
- 移动对象原生索引;
- 阶段优化+并行查询处理;
- 矢量快显访问加速;
- 栅格动态时空拼图。
**专题五:**全新网格数据引擎、赋能时空大数据应用
讲者: 任伏虎 北京大学时空大数据协同创新中心执行主任
(1)空间剖分网格编码GeoSOT:
GeoSOT-2D:一种新型的基于空间标志的全球地理位置框架和编码方法,通过对地球经纬度系统度分秒三次扩展,实现整度、整分、整秒的地球空间四叉树剖分,形成一个上至整个地球,下至厘米级米面元的多尺度四叉树网格,同时涵盖地球表面八个基本网络。
GeoSOT-3D:在平面网格的基础上,通过高度维扩展形成立体网格。从上至地球外围50万千米空间,下至地心,将整个地球空间剖分成数以兆亿个达到全球空间,小到厘米级精度,由32剖分体元组成的空天地海全空间立体剖分网格。
(2)时间离散的GeoSOT-T编码:
通过对月、日、时、分、秒、毫秒、微秒进行七次扩展,将公元前65536年至公元65535年逐次二元剖分成不同长短的时间区间,并赋予唯一的二进制编码,使得连续时间离散化为有长度的“时间段”。该编码具有多粒度、可定时、可索引、可计算、自动关联等有点,构成了大数据管理与应用的时间离散框架。
(3)全新网格编码:
涵盖了空天地海地下水下等地球全域空间,不仅可实现区域和空间单元位置标识,还可以作为地球空间数据ID,实现空间信息关联服务与应用。新型网格编码可以为国家大数据建设提供统一的空间标识标准,成为现代社会的时空大数据入口。
(4)时空数据“双引擎”的应用架构:
最终提出基于GeoSOT时空编码的全新网格数据引擎,应用架构如图11所示,与Ganos时空数据引擎开展深度融合,支持基于时空网格的大数据计算与应用,共同赋能云原生数据库。