前不久,《我是歌手·歌王之战》总决赛,邀请人工智能机器人参加评审,现场对抗 1000 名大众听审的耳朵,预测歌王是谁。从音准、音域、调性、节奏、语感、乐感等维度,对演唱进行客观评分,实现了用科技评价艺术。
同样有趣的事情,也在 11 月 6 日的腾讯 Techo 开发者大会上出现了。“DB 王者—数据库诊断大赛”总决赛,成为本次大会的焦点。本届诊断赛的评审也并非业界大咖,而是腾讯云数据库智能管家 DBbrain。
据说,本届诊断赛的参赛者需根据云服务器上模拟业务访问的基础监控和日志信息,在不降低业务访问量的情况下,对每组的 MySQL 云数据库上出现故障、异常、隐患等现象进行优化。然后由 DBbrain 对每个参赛用户的实例进行实时健康巡检和智能打分。
那 DBbrain 为什么可以给参赛选手打分,并且保证准确呢?
这是因为 DBbrain 利用了机器学习、大数据等技术吸收了资深 DBA 成熟经验,并依托专业的深度学习算法模型和海量样本训练环境,可以进行实时的数据库异常诊断,还可自动优化数据库性能,提供安全威胁分析和安全治理建议。
所以 DBbrain 作为智能评审官,不仅发挥出它在数据库诊断上的能力,还保证了比赛结果的公平性。可 DBbrain 的智能化是如何实现的呢?这还要从它的系统架构说起。
DBbrain 系统架构从下到上依次为数据库实例、数据库采集层、数据计算与加工、功能输出与交互。
数据采集层。DBbrain 在主机、网络和数据库的秒级监控基础上,进一步打通数据全链路,实现了全量实例的实时监控和诊断。值得注意的是,DBbrain 采用无入侵设计,数据采集时对在线业务无影响。同时收集的信息采用加密存储和加密压缩传输,数据安全也能得到保证。
数据计算与加工层,也是 DBbrain 系统架构的核心层。通过流式计算平台,对监控数据进行实时处理,以去规则化的异常检测,自动提取相关性指标。利用人工智能、大数据技术快速学习资深数据库管理员的成熟经验,在未知问题场景下自动化的异常检测能快速的帮助缩小问题范围并定位问题原因。
功能输出与交互层。DBbrain 支持 PC 端、移动端的多终端模式,借助微信小程序生态的移动端模式,可在移动端体验移动告警、健康日报订阅、异常诊断以及一键优化等功能。同时利用 AI 技术,在线自动优化数据库性能,大幅提高数据库运维效率。
实时异常诊断在广度和深度上不断加强和完善,形成 7*24 小时实时监控与诊断的数据库自治闭环。在闭环中,无监督与监督机器学习相结合的方式,弥补了人工经验在异常检测、指标相关性以及预测方面的不足,是问题定位、根因分析不可缺少的一部分。
此外,SQL 优化是 DBbrain 在自治闭环建设的重要节点。它能自动的给出 SQL 索引建议、SQL 逻辑改写等优化方式,并分析出优化效果。
SQL 透视还可对数据库实例进行深层次的离线诊断分析,以用户一段时间内数据库产生的审计日志为基础,对全量的 SQL 以及执行信息(来源信息、次数、执行时间、返回集合、扫描集合等)进行统计、抽样、聚合。
针对聚合后的 SQL 语句,根据其执行计划的结果,综合分析资源消耗、扫描和返回集合大小、索引使用合理性等,对 SQL 的性能进行分析,并针对低质量 SQL 结合索引情况、库表设计,给出优化建议。
双 11 带来的流量洪峰是数据库性能的试金石,诸多在业务访问量平稳时不易暴露的数据库实例问题,都有可能在双 11 的流量洪峰下造成安全隐患。因此流量洪峰之前,对所有数据库实例进行巡检,将数据库中的潜在风险提前识别出来是十分必要的。
在刚结束的双 11 电商保障中,DBbrain 便帮助多个腾讯云上的电商客户平稳度过双 11 流量洪峰,而这一些还要归功于可提前巡检的健康报告功能。DBbrain 的“健康报告”可以高效便捷的输出数据库实例的巡检结果,直观的反映出数据库实例是否存在隐患,主要特性包括:
数据库健康状况打分。将数据库的核心监控指标(例如活跃连接数、CPU、内存、磁盘等)纳入到评分模型中,同时也将结合数据库的历史异常率,慢日志、死锁、审计日志等深层次分析找出潜在问题,综合给数据库的健康状况进行打分。
全程无人工干预生成健康报告。利用“健康报告”中发现的问题和优化建议,可以在流量洪峰前对数据库进行优化,然后不断巡检和优化,将数据库中存在的风险点一个个修复,提升数据库整体的性能和稳定性。
根源上解排查数据库隐患。告别传统扩容和升配的保障方式,以优化为主升级为辅的方式,做到从根源上解决数据库实例存在的问题和隐患。
在应对流量洪峰的保障中,传统的监控很难提供一个关注所有数据库实时状态的全局视野。DBbrain 针对这一行业痛点,为用户提供了“全实例监控”、“全实例概览”,实现以全数据库实例维度(用户整体视角)的监控指标展示。统一监控视图里展示所有实例(9 宫格和 36 宫格切换)监控指标的横向视图,便于用户查看和发现数据库异常问题,提高运维效率。
在流量洪峰导致数据库实例异常时,DBbrain 能够秒级发现故障、定位原因,并给出优化方案建议,帮助用户第一时间处理问题和恢复业务,尽可能减少数据库异常对业务访问的影响时间。DBbrain 还可以在紧急关头做到真正的业务止损,帮助业务完成数据库降级。
比如某类 SQL 并发急剧上升、有数据倾斜 SQL 影响正常业务、未创建索引 SQL 造成整体系统繁忙等。针对以上的场景,DBbrain 提供的“SQL 限流”可快速拒绝异常请求,实现业务降级,保障核心业务的访问顺畅。
数据库运维经过数十年的发展,已从手工运维、自动化运维,逐渐过渡到人工智能运维。数据库智能管家 DBbrain 利用人工智能、大数据技术,将大量数据库问题的诊断优化工作自动化、智能化和可视化,实现简单问题自动处理、复杂问题提供建议、疑难问题定位线索的智能数据库运维。将运维人员从繁重的工作中解脱,提升运维效率,是智能运维的一个典型缩影。
点个在看少个 bug 👇