GaussDB高智能--数据库智能化发展史&自治运维技术
1 数据库智能化发展史
云原生为迎接智能化提供了基础条件,智能化是GaussDB的新的牵引方向,两者相辅相成,互相促进。在智能化出现之前,数据库的运维管理主要依赖分层解耦、化繁为简方式来治理,通过人工服务对单点的业务进行管理。但在云化环境中,一个Region纳管上万实例,仅靠人工很难满足业务诉求,这就促成智能与数据库在云原生的架构和应用中释放的新的研发方向。
GaussDB基于智能化(AI)技术,打造AI4DB和DB4AI两大技术高地,重构数据库内核核心组件,提升数据库管理和优化技术,满足数据库科学家对普惠AI的诉求。AI4DB技术利用机器学习,基于海量运行期数据及负载数据,形成智能解决方案,自动化处理各项任务,加速运维和诊断优化效率提升。DB4AI通过数据库使能AI,满足数据科学家在数据治理方面的诉求,仅通过简易SQL调用,即刻完成机器学习算法的训练和推荐,实现人人会AI,人人用AI的普惠应用。

如上图所示,GaussDB AI4DB领域包含两个方面的核心子系统:自治运维系统及智能优化器(ABO)。其中自治运维系统提供用户和DBA进行数据库系统的智能化运维管理能力,包括自监控、自诊断、自调优等方面端到端的运维管理能力,主要目标是提升系统的运维诊断效率,让数据库系统更高效和可靠。智能优化器是将AI技术嵌入到数据库内核优化器引擎,实现智能基数估计、智能计划管理和智能代价模型等功能,提升查询语句生成计划的准确性和提供查询语句的执行效率。
GaussDB DB4AI领域指在数据库内实现机器学习引擎,即库内AI引擎。通过在数据库内置常用机器学习算法,把AI算法作为执行器中的执行算子在语句执行中实现,对外提供训练和推理的简易SQL语法方便用户调用。同时,在数据库内置模型管理能力,用户训练好的模型可以存储在系统表中,方便快速推理调用。在训练数据准备阶段,通过数据集管理能力,分为多个版本来保证数据训练的一致性,便于训练算法的调优。
2 自治运维技术
在数据库自治运维技术领域,主要分为两条技术路线。其一是以Oracle为主的老牌数据库厂商,构建运维及生命周期管理统一逃课,实现大规模的数据库智能化管理能力;对用户通过运维工具指导业务快速升级和排障,对业务通过内置的优化诊断套件和多维度报表,快速定位性能瓶颈问题和实现SQL的快速优化。这种方案在单一集群或小规模集群是高效的,通过DBA能力复制,可快速完成运维技术的应用。另一种是以新兴云厂商为主,构建基于云化设施和环境的自治运维技术。尽管各家的技术不近统一,主体思路是一致的,即尽可能通过一套运维管理系统,纳管云化多套环境,通过机器学习技术和海量数据,训练高效诊断和优化模型,形成标准化运维套路。
GaussDB基于机器学习技术和云上海量数据信息,构建领先的自治运维管理系统,通过成熟算法实现负载感知、环境感知和数据感知,为数据库提供自监控、自诊断、自调优、自安全的能力,为客户和DBA提供极佳的运维管理体验。

上图为GaussDB的自治运维系统整体框图。数据采集层实现多维指标的数据采集,采集频率根据内容不同可分为秒级采集和分钟级采集。其中秒级采集包括操作系统资源信息采集和数据库实例信息采集,例如操作系统层面CPU、内存、IO读写、网络资源信息采集,数据库实例状态、数据库内关键指标(内存、连接数、TPS、QPS、读写频率等);分钟级采集包括审计日志采集、数据库日志采集和全量SQL流水采集等。
自治运维平台提供采集程序(Agent进程),可部署在数据库服务侧或者远端,连接数据库实例或所在服务器,采集上述指标;若客户系统配置普罗米修斯进行信息采集,可实现相应的exporter,在其中内置数据库多维度指标采集方法以及数据清理方案,实现与普罗米修斯平台对接。
数据库采集端程序需要部署在同数据库进程所在物理节点时,若数据库为多节点集群环境,每个物理节点可部署一个Agent进程采集端(或者普罗米修斯采集端)。数据库采集端程序通常占用资源很少,通过配置文件可以制定不同指标采集频率,以免占用资源影响数据库业务正常运行。
数据计算层提供数据存储、数据分析及元数据管理能力。其中数据存储用于接收来自数据采集层发生来的数据,存储数据源可以是多种维度或者类型,包括普罗米修斯、时序数据库(OpenTSDB等)、MongoDB、SQLite等,自治运维服务内置对接接口,每个自治服务模块与存储数据源的交互,获取数据并进行分析处理。在企业实际应用时,可根据需要选择不同的存储组件和大数据处理组件,例如普罗米修斯+时序数据库,或者kafka+时序数据库等方案。
在数据计算层除了时序存储数据库外,还可以设计其他存储单元,例如算法模型库和故障规则库。其中算法模型库存储自治管理服务生成的AI模型,例如参数推荐训练模型;在算法模型库中,可以存储传统机器学习(例如监督学习)模型、强化学习模型。故障规则库是记录数据库常见故障案例,将这些案例通过拆解和分析,生成规则引擎。
自治服务层在用户维度,可以分为SQL诊断和调优、自治安全、数据库运维。其中SQL诊断和调优提供多种SQL治理和调优能力,包括慢

最低0.47元/天 解锁文章
363

被折叠的 条评论
为什么被折叠?



