本文分享自华为云社区《眼观六路耳听八方还不知疲倦?数仓智能运维服务体系是怎么做到的?》,原文作者:鲁大师。
背景介绍早期,数据库系统仅仅提供SQL命令来查询其内部的运行状态,导致数据库运维操作门槛高,易用性差,DBA一度成为高度专业化的关键岗位,享受高薪和大家羡慕的目光的同时,也为企业的数据安全带来了不确定性风险。并且,命令行运维不直观,严重依赖运维人员经验,不能做到快速的发现、定位、解决问题,导致数据库运维问题,发现难,定位难,解决难。
为了应对这个窘境,数据库运行状态可视化(数据库监控系统)应运而生,通过可视化的手段以人类便于理解的图表形式,将重点数据以图形化的手段展示给运维人员,从而显著的降低了数据库运维的门槛,提高了数据库运维的效率。这个阶段有一些代表性的产品比如:OEM(Oracle), ViewPoint(Teradata),等等。但是,这个时期用户的数据的规模不是很大,数据库也依然部署在用户自己的数据中心,依然是几个DBA运维几套数据库的阶段。
随着云时代的到来,云数据库逐渐托管了客户的数据存储服务,云化将一切繁重的IT运维工作都集中在云后台管理了起来,从而把客户从专业,复杂,繁重的数据中心运维活动中解放了出来,使客户能够更加专注于其核心业务。同时,云服务提供商作为数据存储服务的提供者,则需要在IT运维与数据库运维上深耕细作,发挥其团队稳定,专业化程度高,掌握海量数据库运行数据的优势;充分利用目前机器学习、人工智能领域的科研成果,使用技术手段逐步提高每名运维人员所能管理的数据库数量,从而实现数据库运维工作的“减员增效”。另一方面,数据库服务上云后,云服务提供商所需要运维的数据库数量与之前相比天差地别,以前的工具可能已经不适应云时代的需求。如何做好云上海量数据库的运维工作将成为云服务提供商的一个巨大挑战。
数据库智能运维体系传统意义上的数据库监控服务仅仅是指(1)采集数据库运行状态;(2)上报/存储数据库运行数据;(3)图形化展示数据库运行状态数据。但是,这仅仅是数据库智能监控运维体系的一部分。
如果把整个数据库智能监控运维体系比作一个人的话,传统意义上的数据库监控服务仅仅代表了,眼睛的角色。该服务只能做到发现问题,识别定位问题和解决问题都需要DBA的介入。因此DBA才是传统数据库监控运维体系中的核心要素,这也是DBA人才为何如此关键的原因之一。
而云时代的到来和大数据分析、人工智能等技术的成熟,给了数据库监控运维更多的想象空间。我可以在传统数据库监控(眼睛)的基础上,增加预测分析和根因判断模块,建立现象-根因-解决方案的映射关系(大脑),最后通过数据库管理模块执行解决方案(双手),从而实现从发现问题,定位问题,到解决问题的运维闭环。并且机器不同于人类,只要算力允许,它可以做到眼观六路,耳听八方,不知疲倦,也不会觉得无聊,7x24的盯着成百上千数据库系统的各种运行数据,不会放过任何一个微小的潜在问题。因此,数据库运维工作的智能化中,使用规则或算法固化DBA判断和决策经验将是非常重要的一环。
友商的数据库智能运维体系综合来看目前亚马逊在云数据库的智能监控体系上切入的比较早,也发展了很多成果。相对而言,其他传统厂商在数据的智能监控体系上虽然各有所长,但是并没有像亚马逊一样能够形成运维闭环。亚马逊Redshift在数据库监控运维设计上体现了数据库服务化的思想,他们只提供了非常简单的系统负载分析和问题SQL定位工具帮助云上应用开发者发现业务层面的问题。而把数据库系统的复杂性全部隐藏在了云服务运维层的后台,我个人猜测(因为我们看不到AWS的运维界面)亚马逊AWS后台应该有一整套自动发现问题,定位问题和解决问题的工具。否则,仅仅凭一个公司的人力肯定是无法运维全球海量的数据库的。
更多的友商智能运维产品分析和对比相关内容,我们就不在这里赘述了,后续我们会有专题展开讨论。
GaussDB(DWS)的数据库智能运维体系参考友商数据库监控运维体系的建设经验,结合GaussBD(DWS)数仓的自身特点,我们准备从眼,脑,手三个方面发力建立闭环的数据库智能监控运维体系。