[发明专利]一种基于强化学习的数据库索引生成方法在审
申请号: | 202110301421.8 | 申请日: | 2021-03-22 |
公开(公告)号: | CN113157694A | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 陈刚;伍赛;俞心怡;陈纯;王新宇 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06N3/04;G06N3/08 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 林超 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 强化 学习 数据库 索引 生成 方法 | ||
1.一种基于强化学习的数据库索引生成方法,其特征在于:方法步骤如下:
步骤1,建立一种通用索引架构,通用索引架构为树型结构,树型结构的节点为抽象索引块,树型结构的根节点为一个抽象索引块,树型结构中根节点下的每一层均由多个抽象索引块组成,抽象索引块分为适用于范围查询的有序索引块和适用于点查询的无序索引块,每个抽象索引块含有多个由循环神经网络进行调优的参数;根据参数配置的情况将树型结构中位于同一层、连续相邻且具有相同参数的y个抽象索引块组成集合并形成作为一个长度为y的索引块组;上一层中的每一个抽象索引块与下一层中的x个索引块组之间存在父子关系,以上层的抽象索引块为父索引块,对应的下层索引块组为子索引块组;通用索引架构最底层的抽象索引块将直接链接到数据集;
步骤2,针对所需处理的数据集D和工作负载W,控制器模型按照步骤1的通用索引架构以自顶向下的方式逐层构建一个树型结构的索引架构的参数序列,,索引架构的每一层包含多个索引块组,控制器模型逐个为索引块组生成参数;控制器模型内含循环神经网络,循环神经网络输入上一个抽象索引块的参数,进而处理预测输出抽象索引块的参数;各层所有索引块组的参数形成了索引架构的参数序列;
步骤3,索引构建器加载步骤2中所生成的索引架构的参数序列,在树型结构的索引架构中建立逻辑索引;
步骤4,索引构建器将数据集D逐条扫描并流式加载到步骤3所构建的逻辑索引中去,并经过实体化过程形成物理索引;
步骤5,使用步骤4所生成的物理索引执行给定工作负载W,得到执行时延以及空间利用率,将执行时延以及空间利用率反馈到采用强化学习方法作为强化学习方法的奖励对控制器模型的循环神经网络进行更新;
步骤6,不断重复步骤2~5进行循环迭代,直到控制器模型收敛,则停止循环迭代,以最后获得的索引架构作为结果。
2.根据权利要求1所述的一种基于强化学习的数据库索引生成方法,其特征在于:所述步骤1包括:
步骤1-A,抽象索引块分为有序索引块和无序索引块,具体为:
对于有序索引块,表示为Io={So,F,[Lo,Uo),pto},其中So表示有序索引块内所有键的一个有序列表,[Lo,Uo)为有序索引块的键范围;F表示映射函数,映射函数F为一系列有序的键值对[(ki,vi)*],ki为第i个键,vi是指向树型结构中下一层对应抽象索引块的指针;指针pto指向与当前有序索引块右侧相邻的抽象索引块;
对于无序索引块,表示为Iu={Su,H,[Lu,Uu),ptu},其中Su表示无序索引块内所有键的一个无序集合,[Lu,Uu)为无序索引块的键范围;H表示哈希函数,指针ptu指向与当前有序索引块右侧相邻的抽象索引块;
步骤1-B,每一个抽象索引块包含的多个由循环神经网络调优的参数分别为:
(1)抽象索引块的类型Type;
(2)抽象索引块中键的初始数目x;
(3)判定抽象索引块为太满的键数目比例α;
(4)判定抽象索引块为太空的键数目比例β;
一个索引块组内包含多个连续相邻且具有相同参数配置的抽象索引块;
每一个索引块组的参数由内部的各个抽象索引块的参数和索引块组自身的参数组成,分别为以下六个参数:
(1)索引块组内部的抽象索引块的类型Type;
(2)索引块组内部的抽象索引块内键的初始数目x;
(3)判定索引块组内部的抽象索引块为太满的键数目比例α;
(4)判定索引块组内部的抽象索引块为太空的键数目比例β;
(5)索引块组内部包含的抽象索引块的总数目y;
(6)索引块组内部采用跳表设计,创建跳表中的跳远连接所采用的概率向量参数γ。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110301421.8/1.html,转载请声明来源钻瓜专利网。