自治调优!人大金仓解放DBA双手

f64c5cd457305b869abd41a09d168beb.gif

数据库系统的性能是确保整个应用系统高效运转的关键因素,因此数据库性能调优工作至关重要。KingbaseES通过将人工调优过程内化为数据库内核,成功实现了自治调优。这种创新的调优方案为DBA提供了更高效且准确的性能调优途径,同时也显著降低了数据库系统的维护成本和复杂性。

当今数据库调优难题

如今,DBA需要具备专业的技能和知识,才能够对数据库进行充分优化。但数据库性能优化涉及诸多因素,完全依赖DBA人工进行数据库和系统统计信息收集,再进行多轮分析和定位,会耗费大量的时间和精力。如果数据库拥有自动调优工具,那么工作效率将得到极大的提升。可以说,数据库性能调优的种种难题本质上源于数据库的易诊断性较低。为了解决这些问题,需要实现数据库性能的自治。

内核驱动的自治调优方案

自治数据库其实是从基础级、管理级、预测级到自适应级逐步发展而来的,相当于汽车从手动挡到自动挡的变化过程。在基础级阶段,管理者往往要依靠能力和经验来做调优;到管理级的时候,系统能够去做相对完善的信息收集,管理者可以基于这些信息去做分析和决策;到预测级时,系统可以自己做模式识别与预测。

9d07eab880fd2c30a63635016981b9f6.png

以遇到TOP SQL问题为例,系统可以根据问题预测原因:缺索引、需要做语句改写,还是因为类型转换出现无法使用索引等问题,并给出相应建议;最后是自适应级,相对于预测级的半自动升级到了自动档的状态,遇到性能问题系统可以自动进行优化。

66dd4b8edcbadce2db5eb13eb196a3e8.png

KingbaseES在内核中建立了自治数据库的框架,将感知、诊断、建议、优化的过程都模块化,从而能够灵活地基于建议任务对各个模块进行填充,进而实现实例和SQL性能问题的自治调优。

实例调优

在诊断和建议方面,针对传统数据库内部的性能度量单位不同、内容不全面,无法准确诊断定位问题,KingbaseES以数据库时间为单位,统一了度量衡,建立了基于数据库时间的决策树模型,可以自顶向下来定位性能问题的根本原因。针对时间模型,采集、存储必需的性能分析数据,同时尽量避免对系统的性能影响。

88d09dc5702b85d086692ba0d0dbf6be.png

以上述技术为基础,KingbaseES在数据库内部实现了大量的动态性能视图,并提供KWR、 KWRDIFF、KSH等诊断报告。此外,对于内存不足、IO问题、锁问题、缺少索引等常规问题,用户直接调用KDDM即可给出建议。对于建议未能覆盖的问题,需要用户通过分析KWR、KSH等方式来进行人工分析。

SQL调优

在SQL调优方面,KingbaseES提供了建议、自适应逻辑优化规则、自适应基数估计三种方式。

基于采集到的问题SQL,调优建议器可以做进一步分析,最后基于规则, 给出优化建议,如索引建议、统计信息建议、改写建议等。

逻辑优化是一种基于规则的优化方法,它按照一定的顺序应用一系列优化规则来对输入的逻辑执行计划进行改进,使其变得更加高效。KingbaseES已经内置了一百多条常用的逻辑优化规则,能够满足大部分复杂业务的需求。

对于 SQL调优中常见的基数估计错误问题,KingbaseES可以利用执行结果自动修正,对于基数估计偏差较大的情况,经过一轮或多轮的迭代执行,可以给出更优的执行计划。

目标:自治+AI

KingbaseES性能管理方向和目标就是自治,让用户的性能调优工作越来越简单。目前,KingbaseES已经提供了预测级和自适应级的优化方法,并将持续丰富相关能力,包括更丰富的SQL建议、参数建议,PGA、SGA的自适应,执行计划代价的自适应等。除此之外,KingbaseES开始将AI应用在趋势预测、参数调优、基数估计等方面

17e7b9402fcb60a86fd904abaf7457f0.jpeg

国产数据库的时代已经到来。人大金仓在性能自治等方面进行了诸多探索,将推动产业发展进入全新阶段,致力成为世界卓越的数据库产品与服务提供商。未来,金仓数据库将不断突破关键技术的创新,为数据库产业创新发展带来更多的可能性。

2276f8331ab54c622bf2cd4c00e9da6d.png供稿:产品研发中心

编辑:王堇

审核:日尧

69a2ac8cf63075dee1910514fdb28376.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/212319.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构建VREP和MATLAB联合仿真实验平台,控制机械臂末端按照固定轨迹移动

构建VREP和MATLAB联合仿真实验平台,控制机械臂末端按照固定轨迹移动。主要工作如下: (1)solidworks构建机械臂模型; (2)将solidworks中构建的模型导入VREP中建立机械臂的多体动力学模型&#xf…

【Unity动画】什么是任意状态(Any state)

(Any state)可以从某个状态A直接切换到另一个状态 B\C\D\E\F 比如A到C的过渡,直接设置从Any state 到C的过渡线触发参数即可。而不需要让A到C直接在连接,同样,B到C之间也无需直接链接。 这样设计是在每一个动画之间都…

【论文笔记】Gemini: A Family of Highly Capable Multimodal Models——细看Gemini

Gemini 【一句话总结,对标GPT4,模型还是transformer的docoder部分,提出三个不同版本的Gemini模型,Ultra的最牛逼,Nano的可以用在手机上。】 谷歌提出了一个新系列多模态模型——Gemini家族模型,包括Ultra…

Java 何时会触发一个类的初始化

Java 何时会触发一个类的初始化? 使用new关键字创建对象访问类的静态成员变量 或 对类的静态成员变量进行赋值调用类的静态方法反射调用类时,如 Class.forName()初始化子类时,会先初始化其父类(如果父类还没有进行过初始化的话&a…

找不到WMVCORE.dll怎么办?一键解决WMVCORE.dll缺失的详细方法分享

当打开软件时提示wmvcore.dll丢失,这可能是由于以下几个原因导致的: 系统文件损坏:wmvcore.dll是系统文件,可能会因为各种原因(如病毒感染、系统错误、软件卸载等)而损坏。 软件依赖问题:某些…

用 Python 自动创建 Markdown 表格

更多资料获取 📚 个人网站:ipengtao.com Markdown表格是文档中整理和展示数据的重要方式之一。然而,手动编写大型表格可能会费时且容易出错。本文将介绍如何使用Python自动创建Markdown表格,通过示例代码详细展示各种场景下的创建…

Linux基础指令详解(1)

操作系统的概念 百度百科 操作系统(英语:Operating System,缩写:OS)是一组主管并控制计算机操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。根据运行的环境,操作系…

【Python网络爬虫入门教程1】成为“Spider Man”的第一课:HTML、Request库、Beautiful Soup库

Python 网络爬虫入门:Spider man的第一课 写在最前面背景知识介绍蛛丝发射器——Request库智能眼镜——Beautiful Soup库 第一课总结 写在最前面 有位粉丝希望学习网络爬虫的实战技巧,想尝试搭建自己的爬虫环境,从网上抓取数据。 前面有写一…

论文阅读——Deformable ConvNets v2

论文:https://arxiv.org/pdf/1811.11168.pdf 代码:https://github.com/chengdazhi/Deformable-Convolution-V2-PyTorch 1. 介绍 可变形卷积能够很好地学习到发生形变的物体,但是论文观察到当尽管比普通卷积网络能够更适应物体形变&#xff…

Numpy数组的去重 np.unique()(第15讲)

Numpy数组的去重 np.unique()(第15讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

Linux权限详解

Linux权限 文章目录 Linux权限一、root账号与普通账号二、Linux权限管理三、权限权值表示方法四、文件访问权限的设置方法五、粘滞位六、权限总结 前言: 我们在学习Linux的时候,我们知道在Linux下一切皆文件,而不同的文件对于不同的用户有不同…

第二十一章总结。。

计算机网络实现了堕胎计算机间的互联,使得它们彼此之间能够进行数据交流。网络应用程序就是再已连接的不同计算机上运行的程序,这些程序借助于网络协议,相互之间可以交换数据,编写网络应用程序前,首先必须明确网络协议…

掌握iText:轻松处理PDF文档-基础篇

关于iText iText是一个强大的PDF处理库,可以用于创建、读取和操作PDF文件。它支持PDF表单、加密和签署等操作,同时支持多种字体和编码。maven的中央仓库中的最新版本是5.X,且iText5不是完全免费的,但是基础能力是免费使用的&…

2023-12-10 LeetCode每日一题(爬楼梯)

2023-12-10每日一题 一、题目编号 70. 爬楼梯二、题目链接 点击跳转到题目位置 三、题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 示例 2: 提…

gin投票系统2

投票系统 数据库的建立 先分析需求,在sql中建立数据库,关于项目数据库如何建立可以在“goweb项目创建流程分析中看如何去建表” 成功后目前有四个表: vote,user,vote_opt,vote_opt_user 建立数据库,可以…

Flink基本转换算子map/filter/flatmap

map map是大家非常熟悉的大数据操作算子,主要用于将数据流中的数据进行转换,形成新的数据流。简单来说,就是一个“一一映射”,消费一个元素就产出一个元素。 我们只需要基于DataStream调用map()方法就可以进行转换处理。方法需要…

案例026:基于微信小程序的原创音乐系统的设计与实现

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

汽车网络安全--关于UN R155认证的思考

1.UN R155概述 2020年6月25日,联合国颁布了全球首个汽车网络安全强制性法规 -- UN 155,详细规定了关于评估网络安全措施的审核条款、制造商和供应商降低网络安全风险的方法以及实施风险评估的义务等。 法规适用于与信息安全相关的M类(4轮及以上载客汽车)、N类(四轮载货汽车)…

SpringBoot项目连接Graylog

直接用logback将控制台输出的日志发送到graylog上 1.导入logback依赖 <dependency> <groupId>de.siegmar</groupId> <artifactId>logback-gelf</artifactId> <version>1.1.0</version> </dependency> 2.创建logback-spring.x…

golang学习笔记——编写最简单的命令行工具

编写最简单的命令行工具 用户输入bufio 使用go语言编写最简单的命令行工具 mkdir hello-cli-demo cd hello-cli-demo # 查看环境变量 go envgo mod初始化 go mod init gitcode.com/m打开vscode&#xff0c;创建main.go package mainimport ("fmt""bufio&qu…