System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 面向分布式数据库的自调节分区键推荐系统及方法技术方案_技高网
当前位置: 首页 > 专利查询>东北大学专利>正文

面向分布式数据库的自调节分区键推荐系统及方法技术方案

技术编号:41076477 阅读:4 留言:0更新日期:2024-04-24 11:34
本发明专利技术提供面向分布式数据库的自调节分区键推荐系统及方法,涉及分布式关系型数据库技术领域。该系统包括:工作负载预测模块用于获取历史工作负载预测并预测未来工作负载,判断未来工作负载的特征是否发生变化;数据监测模块用于计算并监测每次事务执行完毕后数据库系统中各个表的大小降序排序是否发生变化以及各个表的相对大小权重是否超过预设值;代价估计模块用于根据基于决策树的XGBoost模型构建的预测模型来估计在数据分区方式下SQL查询语句的执行时间;分区键推荐模块用于根据未来工作负载为数据库管理系统中的每张表确定对应的分区方案,重新部署数据库管理系统中的数据;提高了分布式数据库管理系统的全局性能。

【技术实现步骤摘要】

本专利技术涉及分布式关系型数据库,尤其涉及一种面向分布式数据库的自调节分区键推荐系统及方法


技术介绍

1、随着信息技术的飞速发展,企业和组织在日常运营中会产生大量的数据,而这些数据往往需要被存储、管理和查询,这就推动了数据库技术的不断进步。传统集中式数据库往往依托于高端硬件且无法横向拓展,容易达到性能上限,存在i/o、存储等瓶颈。而分布式数据库系统因其自身的横向扩展性和高可用性成为处理大规模数据的关键工具。然而,如何有效地管理和提升分布式数据库系统的性能仍是一个复杂的问题,尤其是在面对不断变化的工作负载和数据的情况下。

2、分布式数据库系统通过将数据分布在多个节点上来提高系统自身性能和系统的可扩展性。其中每个节点都用于存储部分数据,在查询数据时需要节点之间相互协同工作。但分布式数据库系统也带来了新的问题,比如在执行连接操作时,如果需要连接的数据分布在不同的节点上,这就需要将参与连接的数据传输到同一个节点上才能进行计算,而数据在节点间的传输就会带来网络中的通信代价,从而降低分布式数据库系统的性能。此时需要通过合理的数据分区使参与连接的数据尽可能地位于同一节点上,仅在节点间传输中间结果,以减少查询时数据传输和节点之间的通信负担,提高查询效率。因此,数据分区的设计和动态管理至关重要,而分区键的选择更是直接影响了数据库的查询性能;随着时间的推移,工作负载和数据可能会发生变化,导致最初选择的分区键不再适用于当前的情况。由于企业中应用的工作负载通常是动态的,在不同时间段会有不同的查询模式和数据访问模式,如果数据库无法适应这种动态变化,就可能产生由于性能瓶颈带来的资源浪费。

3、传统的分布式数据库系统通常采用静态的数据分区方法,即在数据库的初始化阶段或架构设计阶段选择分区键,并假定这个选择在整个数据库的生命周期内都是最优的。这种静态分区的方法存在明显的局限性,即一旦选择了分区键,通常就是固定不变的,这意味着该数据库系统难以适应工作负载和数据的动态变化。而随着企业的发展,往往会引入新的业务场景,这就需要重新考虑数据分区的最优选择;同时,传统的静态分区方法通常采用以主键为分区键的方式,并没有考虑工作负载。


技术实现思路

1、针对上述现有技术的不足,本专利技术提出了一种面向分布式数据库的自调节分区键推荐系统及方法,旨在设计一个可以识别不同业务场景,实时监测工作负载、数据变动并根据工作负载预测结果和数据监测结果自动优化数据分区配置的分区键管理系统。

2、本专利技术一方面提出了一种面向分布式数据库的自调节分区键推荐系统,该系统包括:工作负载预测模块、分区键推荐模块、数据监测模块和代价估计模块;

3、所述工作负载预测模块,用于获取数据库管理系统的历史工作负载,并根据历史工作负载预测未来工作负载,判断未来工作负载的特征是否发生变化,若是则将未来工作负载发送到分区键推荐模块,若否则结束本次事务执行;

4、所述数据监测模块,用于计算并监测每次事务执行完毕后数据库系统中各个表的大小降序排序是否发生变化以及各个表的相对大小权重是否超过预设值,若是则运行代价估计模块;若否则认为事务执行结束并重新按照表大小进行降序排序;

5、所述代价估计模块,用于根据基于决策树的xgboost模型构建的预测模型来估计在数据分区方式下sql查询语句的执行时间;

6、所述分区键推荐模块,用于根据未来工作负载为数据库管理系统中的每张表确定对应的分区方案,并对数据库管理系统进行重分区,重新部署数据库管理系统中的数据;

7、本专利技术另一方面提出了一种面向分布式数据库的自调节分区键推荐方法,该方法包括如下步骤:

8、步骤1:获取数据库管理系统的历史工作负载并转化为历史查询模板,对历史查询模板进行聚类,并预测未来任意一段时间内的未来查询模板的聚类数据是否发生变化,若是则生成未来工作负载,若否则结束本次事务执行;

9、步骤2:获取数据库管理系统中所有表的大小并进行降序排序,并计算每个表在数据库管理系统中的相对大小权重;

10、步骤3:构建sql查询语句,为待分区的数据选择分区方式并执行sql查询语句,生成数据分布状态并记录sql查询语句的执行时间,采用基于决策树的xgboost模型构建预测模型,估计sql查询语句的运行时间;

11、步骤4:获取未来工作负载,根据未来工作负载为数据库管理系统中的每张表确定分区方案,并对数据库管理系统进行重分区,重新部署数据库管理系统中的数据;

12、步骤5:每次事务执行完毕后,重新执行步骤2,并判断某个表的相对大小权重变化是否超过预设值以及该表排序位次与上一次事务执行后的该表排序位次相比是否发生变化,若是则执行步骤3;若否则结束本次事务执行;

13、所述步骤1进一步包括:

14、步骤1.1:获取数据库管理系统的历史工作负载,并将数据库管理系统中的历史工作负载转化为历史查询模板;

15、步骤1.2:对于每个历史查询模板,记录该历史查询模板到达数据库管理系统的时间,并统计在一个时间周期内的各历史查询模板对应的sql语句条数;

16、步骤1.3:在每个时间周期内采用聚类算法对历史查询模板按照语义进行聚类,得到历史查询模板的聚类数据;

17、步骤1.4:根据历史查询模板的聚类数据,采用逻辑回归lr模型和循环神经网络rnn模型预测未来任意一段时间内的未来查询模板的聚类数据;

18、步骤1.5:根据预测到的未来查询模板的聚类数据,求解未来查询模板的到达率,并判断未来查询模板的到达率是否发生变化,若是则生成未来工作负载,若否则结束本次事务执行;

19、所述将数据库中的历史工作负载转化为历史查询模板的过程包括:将历史工作负载中所有查询语句中的常数项替换为抽象符号,并将所有的关键字转换成大写形式,得到历史查询模板;

20、所述语义指的是访问相同的表、使用相同的谓词的查询模板;所述聚类数据,包括:聚类得到的集群中心、所有集群中包含的历史查询模板的数量以及该集群对应的时间周期;

21、所述采用逻辑回归lr模型和循环神经网络rnn模型预测未来任意一段时间内的未来工作负载的聚类数据的过程为:将历史查询模板的聚类数据分别输入逻辑回归lr模型和循环神经网络rnn模型中进行预测,输出两组预测结果并计算平均值,得到未来任意一段时间内的未来查询模板的聚类数据,其中所述预测结果包括:未来任意一段时间内的周期个数、加入未来查询模板后的集群中心以及集群中未来查询模板的数量;

22、所述步骤3进一步包括:

23、步骤3.1:采用基于拉丁立方采样和简单随机采样方法混合的混合采样方法对数据库管理系统中的表及表中的数据类型相同的属性进行综合采样,构建sql查询语句;

24、步骤3.2:将待分区的数据导入到数据库管理系统,并选择不同的数据分区方式分别执行sql查询语句,生成数据分布状态并记录在不同数据分区方式下sql本文档来自技高网...

【技术保护点】

1.一种面向分布式数据库的自调节分区键推荐系统,其特征在于,该系统包括:工作负载预测模块、分区键推荐模块、数据监测模块和代价估计模块;

2.一种面向分布式数据库的自调节分区键推荐方法,基于权利要求1所述系统实现,其特征在于,该方法包括如下步骤:

3.根据权利要求2所述的面向分布式数据库的自调节分区键推荐方法,其特征在于,所述步骤1进一步包括:

4.根据权利要求3所述的面向分布式数据库的自调节分区键推荐方法,其特征在于,所述将数据库中的历史工作负载转化为历史查询模板的过程包括:将历史工作负载中所有查询语句中的常数项替换为抽象符号,并将所有的关键字转换成大写形式,得到历史查询模板。

5.根据权利要求3所述的面向分布式数据库的自调节分区键推荐方法,其特征在于,所述语义指的是访问相同的表、使用相同的谓词的查询模板;所述聚类数据,包括:聚类得到的集群中心、所有集群中包含的历史查询模板的数量以及该集群对应的时间周期。

6.根据权利要求3所述的面向分布式数据库的自调节分区键推荐方法,其特征在于,所述采用逻辑回归LR模型和循环神经网络RNN模型预测未来任意一段时间内的未来工作负载的聚类数据的过程为:将历史查询模板的聚类数据分别输入逻辑回归LR模型和循环神经网络RNN模型中进行预测,输出两组预测结果并计算平均值,得到未来任意一段时间内的未来查询模板的聚类数据,其中所述预测结果包括:未来任意一段时间内的周期个数、加入未来查询模板后的集群中心以及集群中未来查询模板的数量。

7.根据权利要求2所述的面向分布式数据库的自调节分区键推荐方法,其特征在于,所述步骤3进一步包括:

8.根据权利要求7所述的面向分布式数据库的自调节分区键推荐方法,其特征在于,所述数据分区方式,包括:全表复制和分区键分区方式。

9.根据权利要求8所述的面向分布式数据库的自调节分区键推荐方法,其特征在于,所述步骤4进一步包括:

10.根据权利要求9所述的面向分布式数据库的自调节分区键推荐方法,其特征在于,所述步骤4.2进一步包括:

...

【技术特征摘要】

1.一种面向分布式数据库的自调节分区键推荐系统,其特征在于,该系统包括:工作负载预测模块、分区键推荐模块、数据监测模块和代价估计模块;

2.一种面向分布式数据库的自调节分区键推荐方法,基于权利要求1所述系统实现,其特征在于,该方法包括如下步骤:

3.根据权利要求2所述的面向分布式数据库的自调节分区键推荐方法,其特征在于,所述步骤1进一步包括:

4.根据权利要求3所述的面向分布式数据库的自调节分区键推荐方法,其特征在于,所述将数据库中的历史工作负载转化为历史查询模板的过程包括:将历史工作负载中所有查询语句中的常数项替换为抽象符号,并将所有的关键字转换成大写形式,得到历史查询模板。

5.根据权利要求3所述的面向分布式数据库的自调节分区键推荐方法,其特征在于,所述语义指的是访问相同的表、使用相同的谓词的查询模板;所述聚类数据,包括:聚类得到的集群中心、所有集群中包含的历史查询模板的数量以及该集群对应的时间周期。

6.根据权利要求3所述的面向...

【专利技术属性】
技术研发人员:王斌牛滢莹张卓杨晓春翟莹莹
申请(专利权)人:东北大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1