System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据库,尤其涉及一种分布式行云数据库碎片化自动压缩方法。
技术介绍
1、随着近几年数据库技术国产化进程的不断推进,行云数据库作为一种高度可扩展、分布式数据库,在电子商务、金融科技、物联网等领域的应用也在逐步扩大。但随着数据库系统使用时间的不断增加及数据量的逐步增长。在数据管理过程中的insert、delete、update语句的频繁执行不可避免,就会导致数据在磁盘上存储的不连续,形成碎片化的存储空间(即碎片空间)。随着碎片空间的增长,对数据库系统会产生一些负面影响。
2、主要影响有:
3、1.浪费表空间:当数据入库时,数据库会查找有限表空间中最大的自由空间来使用,这样将逐渐形成越来越多的离散、分隔、较小的自由空间(碎片空间),随着时间的推移,碎片空间会越来越多,从而导致表空间的大量浪费。
4、2.降低系统性能:随着较大自由空间的减少,数据入库过程中系统寻找符合落数要求的自由空间的难度会不断增大、时间也会越来越长,从而导致数据库系统性能的降低。
5、目前行云数据库进行碎片化操作主要有两种方案:
6、1.对于暂不支持compaction的表:建议定期创建新表→原表数据加载至新表→原表rename为备份表→新表rename为原表→核对数据无误删除备份表
7、2.针对需要进行碎片化的表清单执行碎片化语句,操作步骤如下:
8、(1)查询节点资源使用情况,需内存memory_rate使用小于50
9、select*from v$re
10、select*from v$resource_node_status;
11、确认碎片化的表字段无lob数据类型
12、确认表或对应分区未进行update和delete操作
13、基于以上四个前提条件下,执行碎片化压缩操作
14、alter compactionadd task idc.ql_f_cor_cfp030pf。
15、1.现有碎片化压缩方案有一定的局限性:
16、对于数据类日报系统来说,系统每日会进行跑批,为不影响系统正常跑批及数据报送,需要等每日跑批完成后且在下午5点作业翻牌前这段时间内,由技术人员专门负责碎片化压缩表的任务启停操作,且需不断查询在执行的碎片化任务个数,每次操作表个数不能太多,否则可能导致系统崩溃。当前方案的局限性如下:
17、需技术人员专门负责,导致人员成本的浪费
18、需手工启停自动化任务,存在手工操作风险
19、需手工控制碎片化任务个数,存在因操作失误而导致系统崩溃的风险。
技术实现思路
1、鉴于上述问题,提出了本专利技术以便提供克服上述问题或者至少部分地解决上述问题的一种分布式行云数据库碎片化自动压缩方法。
2、根据本专利技术的一个方面,提供了一种分布式行云数据库碎片化自动压缩方法,所述压缩方法包括:
3、步骤s1:设计表结构物理模型;
4、步骤s2:开发配置后台调用jar包的shell脚本;
5、步骤s3:开发连接行云数据库的jar包;
6、步骤s4:创建存储调起对应模式名下的碎片化任务;
7、步骤s5:配置定时作业,定时启动。
8、可选的,所述步骤s1:设计表结构物理模型具体包括:
9、根据实现要求,设计两张表,包括碎片化清单表和日执行清单表。
10、可选的,所述碎片化清单表包含的指标包括:库名、表名、处理标志和更新时间。
11、可选的,所述碎片化清单表存储需要执行碎片化压缩的各个模型层的表清单,后续依据所述表清单执行碎片化压缩操作,若系统后续有新增表,在碎片化清单表清单中添加;
12、所述库名存储表所属schema,执行碎片化操作在表对应的schema用户下才能开启任务;
13、所述表名存储需要进行碎片化的表;
14、所述处理标志存储表进行碎片化的状态,已完成批碎片化则标志为1,未完成为0;
15、所述更新时间存储完成碎片化的时间,未完成不更新。
16、可选的,所述日执行清单表的指标包括:库名、表名、处理标志、更新时间和执行状态。
17、可选的,所述日执行清单表存储所述碎片化清单表中所有未执行完碎片化的表,每日碎片化关闭时清空此表数据,次日开始碎片化时插入所有未完成碎片化的表清单数据;
18、指标库名存储表所属schema;
19、指标表名存储当日需要进行碎片化的表;
20、指标处理标志存储表进行碎片化的状态,已完成此批碎片化则标志为1,未完成为0;
21、指标更新时间存储完成碎片化的时间,未完成不更新;
22、指标执行状态存储此表是否开启碎片化压缩任务,已开启更新为running,未开启为空。
23、可选的,所述步骤s4:创建存储调起对应模式名下的碎片化任务具体包括:
24、查询系统时间;
25、查询碎片化清单表对应的schema下指标处理标志为0的数据插入日执行清单表;
26、事先评估好每个schema模式每天执行碎片化的表个数,配置每隔一段时间去查询配置表v$compaction_tasks对应schema模式下正在执行碎片化的表个数,小于评估个数的继续启动任务。
27、本专利技术提供的一种分布式行云数据库碎片化自动压缩方法,所述压缩方法包括:步骤s1:设计表结构物理模型;步骤s2:开发配置后台调用jar包的shell脚本;步骤s3:开发连接行云数据库的jar包;步骤s4:创建存储调起对应模式名下的碎片化任务;步骤s5:配置定时作业,定时启动。在基于control-m调度、行云数据库等两种工具开发本专利技术来解决目前每月需手工进行碎片化压缩操作的问题。
28、上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
本文档来自技高网...【技术保护点】
1.一种分布式行云数据库碎片化自动压缩方法,其特征在于,所述压缩方法包括:
2.根据权利要求1所述的一种分布式行云数据库碎片化自动压缩方法,其特征在于,所述步骤S1:设计表结构物理模型具体包括:
3.根据权利要求2所述的一种分布式行云数据库碎片化自动压缩方法,其特征在于,所述碎片化清单表包含的指标包括:库名、表名、处理标志和更新时间。
4.根据权利要求2所述的一种分布式行云数据库碎片化自动压缩方法,其特征在于,所述碎片化清单表存储需要执行碎片化压缩的各个模型层的表清单,后续依据所述表清单执行碎片化压缩操作,若系统后续有新增表,在碎片化清单表清单中添加;
5.根据权利要求2所述的一种分布式行云数据库碎片化自动压缩方法,其特征在于,所述日执行清单表的指标包括:库名、表名、处理标志、更新时间和执行状态。
6.根据权利要求2所述的一种分布式行云数据库碎片化自动压缩方法,其特征在于,所述日执行清单表存储所述碎片化清单表中所有未执行完碎片化的表,每日碎片化关闭时清空此表数据,次日开始碎片化时插入所有未完成碎片化的表清单数据;
...【技术特征摘要】
1.一种分布式行云数据库碎片化自动压缩方法,其特征在于,所述压缩方法包括:
2.根据权利要求1所述的一种分布式行云数据库碎片化自动压缩方法,其特征在于,所述步骤s1:设计表结构物理模型具体包括:
3.根据权利要求2所述的一种分布式行云数据库碎片化自动压缩方法,其特征在于,所述碎片化清单表包含的指标包括:库名、表名、处理标志和更新时间。
4.根据权利要求2所述的一种分布式行云数据库碎片化自动压缩方法,其特征在于,所述碎片化清单表存储需要执行碎片化压缩的各个模型层的表清单,后续依据所述表清单执行碎片化压缩操作,若系统后续有新增表,...
【专利技术属性】
技术研发人员:曹宽宽,胡晓东,
申请(专利权)人:北银金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。