2024 DTC大会精彩演讲:DBdoctor,基于eBPF重新定义数据库可观测 (附PPT下载和演讲视频)

本文主要是介绍2024 DTC大会精彩演讲:DBdoctor,基于eBPF重新定义数据库可观测 (附PPT下载和演讲视频),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由中国DBA联盟(ACDU)和墨天轮社区联合主办的第十三届数据技术嘉年华(DTC)于北京盛大召开。4月13日上午海信聚好看云平台负责人张纪宽受邀在『数据库生态软件』分论坛发表主题演讲《DBdoctor:利用eBPF技术实现数据库智能诊断与优化》
以下是演讲主要内容,文末附演讲PPT和视频获取方式。
在这里插入图片描述

一. 演讲思路

首先从数据库行业调研数据为切入分析数据库痛点,紧接着重点介绍独有的技术创新,提出重新定义数据库可观测解决方案,进一步站在产品视角展示方案的应用场景,最后站在用户视角给出场景的落地案例。整个分享层层递进,逻辑鲜明,配合纪宽一贯幽默又激情的演讲风格,赢得场下阵阵掌声。
在这里插入图片描述

二. 分析数据库痛点

通过MySQL社区调研的数据库十大痛点,墨天轮调研的DBA和架构师工作耗时数据为切入,引出数据库性能问题作为第一大痛点且耗时最长

在这里插入图片描述
进一步通过亲身体感介绍数据库性能的的挑战,例如:

  • **平时很好,关键时候掉链子:**比如每到放假或大促时候就会出现问题,以前不慢的SQL,关键时候就慢了。
  • **出现问题,定位时间长:**通过已有监控和日志无法很快定位问题根因,且定位过程中门槛高,强依赖经验。
  • **故障后没有解决方案:**发生故障不能很快处理,无法满足SLA的要求。

这些挑战可能会引发更进一步的不良现象,比如:

  • 平时不重视,出现问题再追责,为时已晚
  • 整日忙于处理线上紧急问题,临时救火
  • 出现故障后多个团队甚至同团队的推责扯皮

目前基于开源组件,比如Prometheus+grafana很快能搭建一套监控系统,大多数的公司也有监控平台,为什么还会出现以上痛点,演讲中给了进一步分析。

在这里插入图片描述
既然传统监控无法解决,所以提出了基于新的采集技术,配合数学量化模型来重新定义数据库的可观测,打破传统的基于经验、规则、阈值的方法,彻底解决数据库性能问题

三. DBdoctor技术创新

1.重新定义数据采集代替传统采样

在这里插入图片描述
DBdoctor借助eBPF技术,可以在不修改数据库内核代码的前提下,拿到一条SQL语句执行过程中的关键资源消耗,包含CPU/内存/IO等资源指标,还包含数据库锁,SQL执行消耗等详细指标,这些内核细粒度指标是DBdoctor能重新定义数据库可观测性的关键。

2.精准数学模型代替传统经验

基于eBPF采集到的这些细粒度指标,经过进一步大数据聚合分析,把SQL的资源消耗映射为图形面积,做到了从经验到数学的第一步转换,紧接着通过三大数学模型做到更精准的诊断。

在这里插入图片描述
三大算法实现精准诊断:

  • 1). 相关性算法:通过图形相关性的数学比对,重新排序问题根因SQL,进一步提升诊断精确性
  • 2). 预测识别算法:通过AI预测未来半小时、1小时曲线,结合历史SQL,提前发现未来故障,并预估故障根因
  • 3). 根因诊断算法:通过资源、流量、锁、Cost、matrix等全量数据作为模型输入,经过诊断模型和模型加权得出根因

3.问题自动推荐案例库

在这里插入图片描述
针对出现过的故障现场,会自动保存问题快照,进行多指标特征提取,提取模型与案例标签联动,后续再出现相同场景会进行自动案例推荐。在案例库中会给出问题解释,通过具体的场景进行分析问题,最后给出最佳实践。

4.一分钟内推荐索引,全局最优

在这里插入图片描述
传统索引推荐大多基于规则,只能匹配些简单场景,无法覆盖线上场景真实。基于eBPF技术可以拿到数据的详细时空分布,包含运行时的数据和存储中的数据,基于这些数据通过自研外置优化器,可实现无需真实执行便可精准评估SQL代价,进一步经过表维度全局最优处理,最终给出需要添加索引、修改索引,删除索引的建议。

5.涵盖性能的SQL审核

目前业界SQL审核均采用静态规则,SQL parse后命中已配置的规则进行简单的表结构、使用规范、安全等审核,没有真正的考虑性能,如果在上线前能评估开发人员的SQL语句进行性能评估,在开发阶段就能发现问题SQL,会大大提升线上稳定性。
在这里插入图片描述
DBdoctor基于上述1分钟内快速索引诊断能力,单独搭建了一条SQL性能审核链路,基于自研的外置Cost优化器,开发人员在coding阶段,就能评估引入的SQL语句,审核是否存在性能问题,如果存在问题同步给出优化建议。

6.DBdoctor功能架构

在这里插入图片描述
基于以上五大创新点,便组合起了DBdoctor核心架构。最下层是基于eBPF的细粒度采集;第二层是对细粒度数据进行大数据处理;第三层是核心重点功能包含:平台管理、主动发现问题、SQL根因分析、锁根因分析、优化建议、SQL审核、监控巡检;最上层是展示层,分为管理员、性能可观测平台、OpenAPI三个视角。

7.企业级解决方案

基于以上功能,DBdoctor提供了企业级全方位性能诊断解决方案,包含事前发现隐患,事中精准诊断,事后随时追溯

在这里插入图片描述

8.DBdoctor核心价值

在这里插入图片描述

四. DBdoctor应用场景

DBdoctor基于eBPF技术重新定义数据采集,并通过数学量化模型重新定义数据库性能可观测,打破基于经验、规则、阈值的传统,实现了从基于经验到基于数学的转换,最终做到1分钟内精准定位问题SQL,在多个场景上有着独特的优势。

在这里插入图片描述

场景一:上线前发现SQL性能问题,提前规避故障

研发工程师在开发阶段引入的新的SQL语句,在发布上线前很难进行性能评估,发布后容易对线上业务产生影响。业界传统SQL审核工具或产品多基于静态规则,没有考虑到最关键的性能因素,因此上线前的性能评估亟待解决。

DBdoctor通过自研外置Cost优化器,创新性实现了覆盖性能诊断的SQL审核,能够基于线上数据模型,在发布上线前快速、精准评估SQL性能问题,并给出优化建议,提前规避线上故障的发生。

在这里插入图片描述

场景二:疑难问题快速定位和诊断

数据库性能诊断技术门槛高。对疑难性能问题的解决,强依赖DBA经验,甚至需要购买数据库专家服务。由于缺少有效的现场信息,经常会导致问题解决的时效性无法保证,甚至无法解决。传统数据库监控工具对疑难问题的定位能力甚微,例如高并发时的锁问题往往令专业DBA也感到头疼。

DBdoctor实时探测数据库内核,就像给数据库做CT,将疑难问题一网打尽,而且能保留问题快照便于回溯。例如,DBdoctor提供的锁透视功能,涵盖锁等待、死锁、长事务、未提交事务四大锁场景;通过环形图和泳道图的方式直观的慢动作回放问题现场,快速定位加锁过程,找到问题源头并给出详细的剖析过程,真正做到疑难问题快速定位与诊断

在这里插入图片描述

场景三:主动发现问题并自动分析根因

传统数据库监控平台大多基于采样式监控结合阈值告警的方式发现问题,由于数据库出现问题时影响面较广,所以事出即紧急。从收到告警,到分析监控指标和日志,到定位问题根因,再到出具解决方案整个链路时间不可控。故障处理需要争分夺秒,很多互联网大厂通过故障恢复时间来定责,但靠定责依然解决不了定位的时效性问题。

DBdoctor拥有主动发现问题的能力,通过自研的主动识别算法实时对内核级指标进行计算,一旦发现问题会立即触发根因识别算法,快速产出根因诊断报告。报告会详细描述问题现象,直指问题源头并给出优化建议,解决了定位时效性问题,可以有效减少故障时间,确保SLA达成。
在这里插入图片描述

场景四:自动给出优化建议,降低问题解决门槛

出现性能问题时,需要快速给出解决方案。在DBA较少或者无DBA的企业中,通过开源组件自行搭建的传统监控平台,很难定位到问题根因和提供有效的优化建议。随着信创替换的深入,国产数据库引擎百花齐放,这一痛点也进一步加剧。

DBdoctor拥有自动匹配场景的专家经验库。出现问题时,用户可随时查看经验文档。文档中详细解释了每一事件,通过案例的方式描述问题场景,并给出最佳解决实践

DBdoctor还自研外置Cost优化器,能够一分钟内推荐最优索引,哪怕是无DBA的企业也能快速使用DBdoctor优化性能问题。

在这里插入图片描述

五. DBdoctor用户案例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六. PPT&视频下载

关注『DBdoctor』公众号,回复ppt,立即获取,回复视频,在线观看回放!

七. DBdoctor推出长久免费版

在DTC大会众同仁的见证下,DBdoctor重磅推出长久免费版,如果您是个人用户或者想试用全部功能可随时联系小助手,免费获取专业版license!
在这里插入图片描述
在PC端打开体验更佳哦~
1️⃣ 下载地址:https://www.hisensecloud.com/h-col-126.html?statId=9
2️⃣ 在线试用:https://dbdoctor1.hisensecloud.com
(关注公众号,点击菜单栏【试用下载-在线试用】获取试用环境专属账号密码)
3️⃣ 如何部署:http://hisensecloud.com/h-col-133.html

这篇关于2024 DTC大会精彩演讲:DBdoctor,基于eBPF重新定义数据库可观测 (附PPT下载和演讲视频)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/900837

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Python多线程实现大文件快速下载的代码实现

《Python多线程实现大文件快速下载的代码实现》在互联网时代,文件下载是日常操作之一,尤其是大文件,然而,网络条件不稳定或带宽有限时,下载速度会变得很慢,本文将介绍如何使用Python实现多线程下载... 目录引言一、多线程下载原理二、python实现多线程下载代码说明:三、实战案例四、注意事项五、总结引

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员