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

相关文章

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现