本申请涉及数据库,具体涉及一种事务提交方法、装置、电子设备及存储介质。
背景技术:
1、htap(hybrid transactional analytical processing,混合事务与分析处理)数据库是一种行列混存的分布式存储系统,其涉及到行存数据和列存数据,并通过wal(writeahead log,事务日志)日志将行存数据的增量同步到列存数据,使得列存数据满足用户的实时复杂分析需求,而事务提交是列存数据增量同步的一个重要问题。
2、在相关技术中,为了满足事务提交的原子性要求,将用户开启事务中输入的变更数据缓存在内存中,待接收到用户的事务提交指令后,再将缓存的变更数据以列存格式存储到磁盘。而如果事务的变更数据过多,可能发生内存溢出、事务提交慢的问题。
技术实现思路
1、本申请的目的是针对上述现有技术的不足提出的一种事务提交方法、装置、电子设备及存储介质,该目的是通过以下技术方案实现的。
2、本申请的第一方面提出了一种事务提交方法,所述方法包括:
3、确定目标事务在内存中缓存的变更数据达到阈值,将第一格式的变更数据以第二格式存入第一数据块,释放所述变更数据占用的内存空间;
4、确定接收到目标事务的提交指令,为所述目标事务分配事务提交序号,根据所述事务提交序号和所述第一数据块进行事务提交。
5、本申请的第二方面提出了一种事务提交装置,所述装置包括:
6、预提交模块,用于确定目标事务在内存中缓存的变更数据达到阈值,将第一格式的变更数据以第二格式存入第一数据块,释放所述变更数据占用的内存空间;
7、正式提交模块,用于确定接收到目标事务的提交指令,为所述目标事务分配事务提交序号,根据所述事务提交序号和所述第一数据块进行事务提交。
8、本申请的第三方面提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序以实现如上述第一方面所述方法的步骤。
9、本申请的第四方面提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行以实现如上述第一方面所述方法的步骤。
10、基于上述第一方面和第二方面所述的事务提交方法及装置,本申请至少具有如下有益效果或优点:
11、在目标事务更新过程中,每当目标事务缓存的变更数据达到阈值,便触发一次预提交,即将第一格式的变更数据以第二格式存入第一数据块,从而可以释放变更数据占用的内存空间,避免目标事务占用过多内存出现内存溢出问题,同时还可达到将事务提交开销均摊到事务预提交期间的目的。在接收到目标事务的提交指令后,由于每次触发的预提交已经将变更数据进行格式转化存入第一数据块,因此事务正式提交时只需要进行轻量的事务提交序号标记操作,使得变更数据对用户可见,提高了事务提交效率和提交性能的稳定性。这样,可以满足事务输入变更数据量无任何限制的需求,用户可以根据实际需求输入变更。
1.一种事务提交方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定目标事务在内存中缓存的变更数据达到阈值,包括:
3.根据权利要求1所述的方法,其特征在于,所述第一格式为行存格式,所述第二格式为列存格式;
4.根据权利要求1所述的方法,其特征在于,所述第一格式为行存格式,所述第二格式为列存格式;
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述事务提交序号和所述第一数据块进行事务提交,包括:
8.根据权利要求7所述的方法,其特征在于,所述为所述目标事务包含的各个变更语句中的行主键分配目标存储标识,包括:
9.根据权利要求8所述的方法,其特征在于,所述根据各个变更语句中的行主键和所述目标存储标识,将所述事务提交序号分别更新至所述数据删除序号数组和所述数据插入序号数组中,包括:
10.根据权利要求7所述的方法,其特征在于,所述为所述目标事务包含的各个变更语句中的行主键分配目标存储标识,包括:
11.根据权利要求10所述的方法,其特征在于,所述根据各个变更语句中的行主键和所述目标存储标识,将所述事务提交序号分别更新至所述数据删除序号数组和所述数据插入序号数组中,包括:
12.根据权利要求9或11所述的方法,其特征在于,在所述全局映射关系中,查找删除操作的变更语句中行主键对应的全局存储标识和更新操作的变更语句中行主键对应的全局存储标识之后,所述方法还包括:
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序以实现如权利要求1-12任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行以实现如权利要求1-12任一项所述方法的步骤。