文章分类 -  openGauss源码解析

上一页 1 2 3 4 5 6 7 ··· 11 下一页
openGauss数据库是华为公司在深度融合技术应用于数据库领域多年经验的基础上,结合企业级场景要求,推出的新一代企业级开源数据库。本文将从各方面对该openGauss数据库源码进行详细介绍。
摘要:openGauss源码解析:AI技术(14)2. 基于执行计划的MART模型图8-7 基于执行计划MART模型的系统架构图基于执行计划的MART(multiple additive regression trees,多重累加回归树)模型如图8-7所示,主要包含离线训练模块和在线预测模块。他们的功能如 阅读全文
posted @ 2024-05-06 10:24 openGauss-bot 阅读(1) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(15)8.3.3 慢SQL发现采取的策略图8-11 慢SQL发现流程图慢SQL发现工具SQLDiag的执行流程如图8-11所示,该过程可以分为两个部分,分别是基于模板化的方法和基于深度学习的方法,下面分别介绍一下。1. 基于SQL模板化的流程(1) 获取SQL流 阅读全文
posted @ 2024-05-06 10:24 openGauss-bot 阅读(1) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(16)8.3.4 关键源码解析慢SQL发现工具在项目中的源代码路径为:openGauss-server/src/gausskernel/dbmind/tools/sqldiag。1. 项目结构慢SQL发现工具文件结构如表8-6所示。表8-6 慢SQL发现工具结构 阅读全文
posted @ 2024-05-06 10:24 openGauss-bot 阅读(1) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(17)4. DNN算法源码解析训练阶段先初始化SQL向量,之后创建深度学习模型,将模型保存到本地。预测阶段,导入模型,向量化待预测的SQL;基于向量相似度对SQL的执行时间进行预测。主要源码如下:class KerasRegression: # 初始化模型参数 阅读全文
posted @ 2024-05-06 10:24 openGauss-bot 阅读(1) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(18)8.4 智能索引推荐数据库的索引管理是一项非常普遍且重要的事情,任何数据库的性能优化都需要考虑索引的选择。为此,openGauss支持原生的索引推荐功能,可以通过系统函数等形式进行使用。8.4.1 使用场景在大型关系型数据库中,索引的设计和优化对SQL语句 阅读全文
posted @ 2024-05-06 10:24 openGauss-bot 阅读(6) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(19)8.4.4 关键源码解析1. 项目结构智能索引推荐功能在项目中的源代码路径在openGauss-server/src/gausskernel/dbmind中,涉及的相关文件如表8-8所示。表8-8 智能索引推荐功能源代码路径文件路径说明kernel/ind 阅读全文
posted @ 2024-05-06 10:24 openGauss-bot 阅读(20) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(20)8.4.5 使用示例1. 单条查询语句的索引推荐单条查询语句的索引推荐功能支持用户在数据库中直接进行操作,本功能基于查询语句的语义信息和数据库的统计信息,对用户输入的单条查询语句生成推荐的索引。本功能涉及的函数接口如表8-9所示。表8-9 单query索引 阅读全文
posted @ 2024-05-06 10:24 openGauss-bot 阅读(2) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(21)3. 基于工作负载的索引推荐对于工作负载级别的索引推荐,用户可通过运行数据库外的脚本使用此功能,本功能将包含有多条DML语句的工作负载作为输入,最终生成一批可对针对整体工作负载的索引。(1) 准备好包含有多条DML语句的文件作为输入的工作负载,文件中每条语 阅读全文
posted @ 2024-05-06 10:24 openGauss-bot 阅读(2) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(22)8.5.3 关键源码解析1 总体流程解析智能索引推荐工具的路径是openGauss-server/src/gausskernel/dbmind/tools/anomaly_detection,下面的代码详细展示了程序的入口。def forecast(arg 阅读全文
posted @ 2024-05-06 10:24 openGauss-bot 阅读(1) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(3)1. 离线参数调优流程概述X-Tuner利用长期在openGauss上进行参数调优的先验规则,根据系统的workload、环境特征推荐初始参数调优范围,该范围便是待搜索的配置参数空间。利用算法(如强化学习、启发式算法等)在给定的参数空间上不断进行搜索,即可找 阅读全文
posted @ 2024-04-30 11:18 openGauss-bot 阅读(1) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(2) 8.2.3 X-Tuner的调优策略 总的来说,对数据库进行参数调优可以分为两大类,分别是离线参数调优和在线参数调优,X-Tuner同时支持上述两类调优模式。 (1) 离线参数调优是指在数据库脱离生产环境的基础上进行调优的,一般是在上线真实业务前进行压力测 阅读全文
posted @ 2024-04-30 11:18 openGauss-bot 阅读(2) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(1)第8章 AI技术AI技术最早可以追溯到20世纪50年代,甚至比数据库系统的发展历史还要悠久。但是,由于各种各样客观因素的制约,在很长的一段时间内,人工智能技术并没有得到大规模的应用,甚至还经历了几次明显的低谷期。随着信息技术的进一步发展,从前限制人工智能发展 阅读全文
posted @ 2024-04-30 11:18 openGauss-bot 阅读(3) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:执行器解析(47)3. VecHashJoin算子VecHashJoin算子对应的主要数据结构是VecHashJoinState,VecHashJoinState继承于HashJoinState。具体定义如下:typedef struct VecHashJoinState 阅读全文
posted @ 2024-04-30 11:18 openGauss-bot 阅读(1) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(4) 2. 在线参数调优流程概述 X-Tuner采集操作系统的统计信息和workload特征,根据训练好的监督学习模型或先验规则,推荐给用户对应的参数修改建议。在线参数调优过程的流程图如图8-3所示。 图8-3 在线参数调优过程的流程图 8.2.4 openGa 阅读全文
posted @ 2024-04-30 11:18 openGauss-bot 阅读(3) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(5)2. 总体流程解析入口总体流程在main.py中给出,main函数的核心代码如下:def main(): …# 通过命令行参数或连接信息文件构建db_info字典,利用该字典中的信息可以登录到数据库实例和宿主机上 db_info = build_db_inf 阅读全文
posted @ 2024-04-30 11:18 openGauss-bot 阅读(6) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(6)3. benchmark模块解析benchmark的驱动脚本存放路径为X-Tuner的benchmark子目录。X-Tuner自带常用的benchmark驱动脚本,例如TPC-C、TPC-H等。X-Tuner通过调用benchmark/__init__.py 阅读全文
posted @ 2024-04-30 11:18 openGauss-bot 阅读(1) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(7)4. 数据库交互部分源码解析首先来看一下数据库需要调整的参数是如何在程序中存储的。数据库的参数可能是布尔型的,如off或on,也可以是整数型的或浮点型的。但是,计算机算法(如强化学习、全局搜索算法等)只能接受数值结果,因此需要数值化。这就需要定义一个名为Kn 阅读全文
posted @ 2024-04-30 11:18 openGauss-bot 阅读(2) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(8)5. 算法模块源码解析可以将数据库的离线参数调优过程看作一个组合优化过程,即找到使数据库性能最好时的参数配置,该过程可以通过下述数学表达式描述。其中,表示数据库在某个参数配置下的性能,表示数据库的参数配置,表示数据库参数的可配置集合。X-Tuner支持的算法 阅读全文
posted @ 2024-04-30 11:18 openGauss-bot 阅读(1) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(9) 8.2.5 使用示例 1. 运行源码的方法 可以通过两种方式运行X-Tuner,一种是直接通过源码运行,另一种则是通过python的setuptools将X-Tuner安装到系统上,而后直接通过gs_xtuner命令调用。下面分别介绍两种运行X-Tuner 阅读全文
posted @ 2024-04-30 11:18 openGauss-bot 阅读(3) 评论(0) 推荐(0) 编辑
摘要:openGauss源码解析:AI技术(10)3. 训练模式使用示例在使用训练和调优模式前,用户需要先导入benchmark所需数据并检查benchmark能否正常跑通,并备份好此时的数据库参数,查询当前数据库参数的SQL语句如下所示:select name, setting from pg_sett 阅读全文
posted @ 2024-04-30 11:18 openGauss-bot 阅读(1) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 11 下一页