计算机科学与探索 ›› 2019, Vol. 13 ›› Issue (6): 941-949.DOI: 10.3778/j.issn.1673-9418.1807054
吴 刚1,2,阿卜杜热西提·热合曼1+,李 梁1,乔百友1,韩东红1
WU Gang1,2, Abudurexiti REHEMAN1+, LI Liang1, QIAO Baiyou1, HAN Donghong1
摘要: 在内存数据库故障恢复技术中,命令日志是针对内存数据库设计的粗粒度的、轻量级的日志记录方式。但在非统一内存访问(non-uniform memory access,NUMA)体系架构下面向数据的数据库设计中利用命令日志进行故障恢复时,由于数据访问频率不均衡,导致负责高频数据恢复的CPU线程负载加重,而其他CPU相对空闲。针对这种工作负载不均衡所导致的恢复时间开销增大的情况,提出了NUMA体系架构下基于热度记录的内存数据库日志恢复算法。该算法中,每一条数据的访问次数作为该数据的热度记录下来。在并行恢复时,根据数据热度,将数据比较均衡地划分到各个节点的CPU线程执行恢复操作,以此来提高数据库的恢复速度。实验结果表明,该方案比NUMA架构下的常规恢复方案快,而且数据的热度越高,恢复速度的提升越明显,最高提升了19%。