System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据库,特别是涉及一种数据库集群索引页面的回收方法及相关产品。
技术介绍
1、基于磁盘的关系数据库大部分都支持btree索引,因为btree索引在并发性能、点查询、范围查询、唯一性支持上能力全面。在部分新增删除较多的场景下,如果索引项大部分是按顺序增加,例如一些时序数据、编号数据,索引会出现新索引项无法使用的空页面,回收重用这些空页面是优化索引空间使用的重要技术。btree索引为了更好的并发能力,在扫描时不会做大范围的封锁。页面即使被从树中移除,也无法确定是否有刚放开父亲、兄弟节点页面,链接过来的扫描,难以确定是否可以回收重用。
2、在基于日志流复制的主备集群中,备节点通过回放主节点的操作日志实现数据副本,同时备节点也会处理读请求。而页面的重用在备节点回放时也需要考虑备节点是否有并发的查询可能访问到页面,可能造成主备节点间巨大的回放延迟。
技术实现思路
1、鉴于上述问题,本专利技术提出了一种克服上述问题或者至少部分地解决上述问题的数据库集群索引页面的回收方法及相关产品。
2、本专利技术的一个目的是同时考虑主备数据库的执行情况,从而安全回收数据库集群中的空页面。
3、本专利技术的一个进一步的目的是提升数据库集群资源的利用率。
4、特别地,本专利技术提供了一种数据库集群索引页面的回收方法,其包括:
5、获取主机索引树中待移除的空页面,主机索引树为数据库集群的主机中的索引树,空页面为页面内部数据记录为空的索引页面;
6、移除空页面并记录空页面对应的回收事务号,回收事务号为移除空页面时主机要分配的下一个事务号;
7、确定数据库集群中的最小可见事务号,最小可见事务号包括数据库集群中主机最小可见事务号和备机最小可见事务号;
8、根据回收事务号和最小可见事务号判断在主机索引树上移除的空页面是否符合回收条件;
9、若是,则回收空页面。
10、可选地,获取主机索引树中待移除的空页面的步骤之前还包括:获取回收空页面的回收指令;
11、确定数据库集群中的最小可见事务号的步骤包括:获取数据库集群在接收到回收指令的响应时刻主机的主机快照;根据主机快照确定主机最小可见事务号。
12、可选地,根据主机快照确定主机最小可见事务号的步骤包括:
13、获取主机快照记录的主机检测事务号,主机检测事务号为主机快照生成时主机将要分配的下一个事务号;
14、获取主机中处于执行状态的事务对应的主机执行事务号,并将小于主机检测事务号的主机执行事务号作为主机可见事务号;
15、在主机可见事务号中选择最小的主机执行事务号作为主机最小可见事务号。
16、可选地,确定数据库集群中的最小可见事务号的步骤还包括:
17、获取数据库集群中备机反馈的且反馈时刻与响应时刻最相近的最小可见事务号作为备机最小可见事务号。
18、可选地,备机反馈备机最小可见事务号的步骤包括:
19、生成备机中的备机快照;
20、获取备机快照记录的备机检测事务号,备机检测事务号为备机快照生成时备机将要分配的下一个事务号;
21、获取备机中处于执行状态的事务对应的备机执行事务号,并将小于备机检测事务号的备机执行事务号作为备机可见事务号;
22、在备机可见事务号中选择最小的备机执行事务号作为备机最小可见事务号。
23、可选地,根据回收事务号和最小可见事务号判断在主机索引树上移除的空页面是否符合回收条件的步骤包括:
24、判断最小可见事务号中主机最小可见事务号和备机最小可见事务号是否均大于等于回收事务号;
25、若是,则判定空页面允许回收。
26、可选地,回收空页面的步骤之后还包括:
27、在备机中回放主机关于空页面的回收操作。
28、根据本专利技术的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一种的数据库集群索引页面的回收方法的步骤。
29、根据本专利技术的又一个方面,还提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现上述任一种的数据库集群索引页面的回收方法的步骤。
30、根据本专利技术的再一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一种的数据库集群索引页面的回收方法的步骤。
31、本专利技术的数据库集群索引页面的回收方法,获取主机索引树中待移除的空页面,主机索引树为数据库集群的主机中的索引树,空页面为页面内部数据记录为空的索引页面;移除空页面并记录空页面对应的回收事务号,回收事务号为移除空页面时主机要分配的下一个事务号;确定数据库集群中的最小可见事务号,最小可见事务号包括数据库集群中主机最小可见事务号和备机最小可见事务号;根据回收事务号和最小可见事务号判断在主机索引树上移除的空页面是否符合回收条件;若是,则回收空页面。通过此方法能够在同时考虑数据库集群的主机和备机的情况下,通过最小可见事务号与移除的空页面中记录的回收事务号进行比对确定移除的空页面是否能够安全回收,从而在提升数据库集群的资源利用率以及索引的执行效率的同时,不会过多地增加数据库集群的开销。
32、根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。
本文档来自技高网...【技术保护点】
1.一种数据库集群索引页面的回收方法,包括:
2.根据权利要求1所述的数据库集群索引页面的回收方法,其中,
3.根据权利要求2所述的数据库集群索引页面的回收方法,其中,
4.根据权利要求2所述的数据库集群索引页面的回收方法,其中,
5.根据权利要求4所述的数据库集群索引页面的回收方法,其中,
6.根据权利要求1所述的数据库集群索引页面的回收方法,其中,
7.根据权利要求1所述的数据库集群索引页面的回收方法,其中,
8.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的数据库集群索引页面的回收方法的步骤。
9.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的数据库集群索引页面的回收方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至7任一项所述的数据库集群索引页
...【技术特征摘要】
1.一种数据库集群索引页面的回收方法,包括:
2.根据权利要求1所述的数据库集群索引页面的回收方法,其中,
3.根据权利要求2所述的数据库集群索引页面的回收方法,其中,
4.根据权利要求2所述的数据库集群索引页面的回收方法,其中,
5.根据权利要求4所述的数据库集群索引页面的回收方法,其中,
6.根据权利要求1所述的数据库集群索引页面的回收方法,其中,
7.根据权利要求1所述的数据库集群索引页面的回收方法,其中,
8.一...
【专利技术属性】
技术研发人员:杨尚,冷建全,孙文奇,
申请(专利权)人:中电科金仓北京科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。