基于关系型数据库索引的自动运维系统和方法技术方案

技术编号:23704829 阅读:49 留言:0更新日期:2020-04-08 11:10
本发明专利技术提供一种基于关系型数据库索引的自动运维系统和方法,包括:根据数据库类型,备份数据库索引定义到索引定义备份表中;获取索引和索引依附表的多维度信息,然后根据预设评分卡模型对索引重建的耗时预期进行预测,得到每个索引重建的耗时预期得分、最高分和最低分;根据每个索引重建的耗时预期得分、最高分和最低分,获取重建索引时使用的数据库线程数量,即并行度;将重建索引时使用的数据库线程数量更新到索引定义备份表中;读取更新的索引定义备份表,转化为不同类型数据库的操作语言,重建索引;输出索引重建过程中的报错信息及过程信息到监控表中,并执行监控处理。本发明专利技术可实现系统化和自动化的数据库运维,提高运维效率。

Automatic operation and maintenance system and method based on relational database index

【技术实现步骤摘要】
基于关系型数据库索引的自动运维系统和方法
本专利技术涉及系统运维领域,具体而言涉及一种基于关系型数据库索引的自动运维系统和方法。
技术介绍
现有关系型数据库索引运维,一般靠有经验的数据库管理员来实现(DatabaseAdministrator,简称DBA),通过编写零散脚本来监控数据库索引状态,一般无索引备份,当出现索引失效、数据查询慢等问题后,需要根据职业经验分析索引类型,创建时使用的并行度为多大,其运维非常依赖个人经验,难以实现系统化和自动化的数据库运维,效率低下。
技术实现思路
本专利技术目的在于提供一种基于关系型数据库索引的自动运维系统和方法,将索引备份直接存放在自定义索引备份数据表中,并通过多种关系型数据库索引的自动运维,无需人工干预。本专利技术的另一方面提出一种基于关系型数据库索引的自动运维方法,包括以下步骤:步骤1、根据数据库类型,备份数据库索引定义到索引定义备份表中,所述数据库为ORACLE、MYSQL、POSTGRESQL中的至少一种;备份的数据库索引定义包括索引用户、索引名称、当前状态、索本文档来自技高网...

【技术保护点】
1.一种基于关系型数据库索引的自动运维方法,其特征在于,包括以下步骤:/n步骤1、根据数据库类型,备份数据库索引定义到索引定义备份表中,所述数据库为ORACLE、MYSQL、POSTGRESQL中的至少一种;备份的数据库索引定义包括索引用户、索引名称、当前状态、索引依附表用户、索引依附表名称、索引依附表是否分区、索引依附表分区类型、索引类型以及索引是否为唯一索引的组合,并将索引用户、索引名称、当前状态插入监控表中;/n步骤2、获取索引和索引依附表的多维度信息,包括索引物理大小、数据表物理大小、数据表数据量大小、叶子索引的数据块数量以及不同索引值的数量,然后根据预设评分卡模型对索引重建的耗时预期...

【技术特征摘要】
1.一种基于关系型数据库索引的自动运维方法,其特征在于,包括以下步骤:
步骤1、根据数据库类型,备份数据库索引定义到索引定义备份表中,所述数据库为ORACLE、MYSQL、POSTGRESQL中的至少一种;备份的数据库索引定义包括索引用户、索引名称、当前状态、索引依附表用户、索引依附表名称、索引依附表是否分区、索引依附表分区类型、索引类型以及索引是否为唯一索引的组合,并将索引用户、索引名称、当前状态插入监控表中;
步骤2、获取索引和索引依附表的多维度信息,包括索引物理大小、数据表物理大小、数据表数据量大小、叶子索引的数据块数量以及不同索引值的数量,然后根据预设评分卡模型对索引重建的耗时预期进行预测,得到每个索引重建的耗时预期得分、最高分和最低分;
步骤3、根据每个索引重建的耗时预期得分、最高分和最低分,获取重建索引时使用的数据库线程数量,即并行度;
步骤4、将重建索引时使用的数据库线程数量更新到索引定义备份表中;
步骤5、读取更新的索引定义备份表,转化为不同类型数据库的操作语言,重建索引;
步骤6、输出索引重建过程中的报错信息及过程信息到监控表中,并执行下述监控处理:
根据监控表中记录的错误信息,提醒进干预处理;
根据监控表中记录的过程信息,实现重建索引过程的监控。


2.根据权利要求1所述的基于关系型数据库索引的自动运维方法,其特征在于,前述步骤2中,根据预设评分卡模型对索引重建的耗时预期进行预测,得到每个索引重建的耗时预期得分、最高分和最低分,其操作过程包括:
获取索引和索引依附表的索引物理大小、数据表物理大小、数据表数据量大小、叶子索引的数据块数量、不同索引值的数量的多维度信息,调用评分卡模型的输出评分卡,每个维度的数据根据范围得到相应的分值,汇总得到每个索引重建的耗时预期的总分值;
遍历每个索引重建的耗时预期分值得到最高分和最低分。


3.根据权利要求1所述的基于关系型数据库索引的自动运维方法,其特征在于,前述步骤2中,所述预设的评分卡按照下述操作创建:
获取索引物理大小、数据表物理大小、索引类型、数据表数据量大小、数据表类型、索引列数量、被索引字段长度、数据表字段总长度、索引层级、叶子索引的数据块数量、索引改变是否记录到日志、不同索引值的数量、索引的每个值平均在多少叶子块中、单线程索引重建耗时、索引用户、索引名称、当前状态、索引依附表用户、索引依附表名称、索引依附表是否分区、索引依附表分区类型、索引类型、索引是否为唯一索引的多维度数据,对数据进行预处理;
利用pandas读取训练集数据和测试集数据;
目标变量定义,包括:首先定义耗时多长为算耗时长,与数据集中单线程索引重建耗时数据相关,作为目标变量,多维度数据中其他的数据作为解释变量;定义单线程索引重建耗时超过30分钟的为耗时长类,定义单线程索引重建耗时不足30分钟的为耗时短类,其中耗时长类标记为1,耗时短类标记为0;
变量预处理,对多维度数据中的数据采用无监督等距分箱,转化为WOE编码,代替原始数据;
IV排序,其中在排序过程中,选择IV>0.02的变量,使用numpy的corrcoef算法进行多变量分析,保留相关性低于阈值0.6的变量,并基于XGBOOST算法确定变量重要性,进行变量筛选;
其中,先选择前4个最重要变量放入statsmodels算法的logit模型,变量分别是索引物理大小、数据表物理大小、数据表数据量大小和叶子索引的数据块数量,计算器系数和显著性;继续向logit模型里面加变量,直至不显著或系数为正为止;最终选择五个数据作为变量,分别为索引物理大小、数据表物理大小、数据表数据量大小、叶子索引的数据块数量及不同索引值的数量;
使用sklearn算法中的的logisticregression建模,使用ROC曲线和KS曲线验证是否过拟合,如果过拟合则重新建模,否则输出模型作为评分卡模型。


4.根据权利要求1所述的基于关系型数据库索引的自动运维方法,其特征在于,前述步骤3中,根据每个索引重建的耗时预期得分、最高分和最...

【专利技术属性】
技术研发人员:杨帆王杰尚应
申请(专利权)人:南京甄视智能科技有限公司
类型:发明
国别省市:江苏;32

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

1