基于持久缓存和持久内存的数据存储优化方法及装置

    专利查询2026-03-03  12


    本公开涉及数据处理,尤其涉及一种基于持久缓存和持久内存的数据存储优化方法及装置。


    背景技术:

    1、数据库系统可以提供数据存储、管理和访问的功能,支持各种数据处理和应用程序。传统的数据库通常将数据存放在持久性的磁盘存储中。同时,为了提高数据访问速度和系统性能,数据库也会利用内存(dynamic random access memory,dram)来缓存部分数据或执行计算密集型操作,可以快速响应用户的查询请求,提供更高效的数据检索和处理能力。随着持久内存(persist memory,pm),又称非易失内存(non-volatile memory,nvm)问世,其容量大、持久化、低延迟、可按字节寻址的特性,兼具了磁盘和dram的优势,为构建数据库联机事务处理(online transaction processing,oltp)引擎提供了新的机会。

    2、持久内存可以显著降低编程的复杂性,程序员可以安全地移除所有与刷写相关的指令,同时保持程序的正确性。但是在持久内存的数据库系统中,由于中央处理器(centralprocessing unit,cpu)的缓存行(通常是64b)与pm写操作(通常是256b)之间的粒度不匹配,当缓存行在随机时刻被动逐出至pm时,若简单地删除刷写指令会出现写放大问题,当写入跨越连续多个缓存行的数据时,使用刷写指令可以让这些缓存行同时写入pm中,即可以将多个缓存行合并成一次写入;如果不使用刷写指令,这些缓存行会在随机时刻被逐出至pm,需要多次写入操作才能将这些缓存行都写入pm中,增加了pm的写入次数,导致额外的持久内存写入,使持久内存的数据库系统的性能下降,影响其吞吐能力。


    技术实现思路

    1、有鉴于此,本公开提出了一种基于持久缓存和持久内存的数据存储优化方法及装置。

    2、根据本公开的一方面,提供了一种基于持久缓存和持久内存的数据存储优化方法。该方法包括:

    3、响应于针对持久内存的访问行为,确定与访问行为对应的目标地址的访问频率信息,访问频率信息表示该目标地址被访问的频率;

    4、响应于目标地址的访问频率信息满足预设条件且访问行为是写入操作,对目标数据执行刷写操作,刷写操作包括将目标数据由缓存写入持久内存的目标地址的操作和内存屏障操作。

    5、在一种可能的实现方式中,目标地址的访问频率信息用于指示目标地址所存储的数据为冷数据或热数据,响应于针对持久内存的访问行为,确定与访问行为对应的目标地址的访问频率信息,包括:

    6、响应于针对持久内存中目标地址的访问行为,在数据库记录表中查找与目标地址关联的数据库记录;

    7、响应于存在与目标地址关联的数据库记录,确定目标地址存储的数据为热数据,否则确定目标地址存储的数据为冷数据;其中,针对热数据的访问频率高于针对冷数据的访问频率。

    8、在一种可能的实现方式中,预设条件包括访问频率信息指示目标地址存储的数据为冷数据。

    9、在一种可能的实现方式中,数据库记录表包括一个或多个哈希桶,每个哈希桶中包括一条或多条数据库记录,数据库记录包括持久内存中的地址,响应于针对持久内存的访问行为,确定与访问行为对应的目标地址的访问频率信息,包括:

    10、根据目标地址的哈希值确定与目标地址关联的数据库记录所在的目标哈希桶;

    11、在目标哈希桶中查找与目标地址关联的数据库记录。

    12、在一种可能的实现方式中,数据库记录表包括各数据库记录的访问频次,该方法还包括:

    13、响应于不存在与目标地址关联的数据库记录,将数据库记录表中的一条数据库记录替换为与目标地址关联的数据库记录。

    14、在一种可能的实现方式中,响应于不存在与目标地址关联的数据库记录,将数据库记录表中的一条数据库记录替换为与目标地址关联的数据库记录,包括:

    15、响应于不存在与目标地址关联的数据库记录,在目标哈希桶中查找访问频次为0的数据库记录;

    16、响应于目标哈希桶中存在访问频次为0的数据库记录,将访问频次为0的数据库记录替换为与目标地址关联的数据库记录。

    17、在一种可能的实现方式中,响应于不存在与目标地址关联的数据库记录,将数据库记录表中的一条数据库记录替换为与目标地址关联的数据库记录,还包括:

    18、响应于目标哈希桶中不存在访问频次为0的数据库记录,减小目标哈希桶中每条数据库记录的访问频次,重新执行在目标哈希桶中查找访问频次为0的数据库记录以及之后的步骤,直至在目标哈希桶中查找到访问频次为0的数据库记录。

    19、在一种可能的实现方式中,该方法还包括:

    20、响应于存在与目标地址关联的数据库记录,增加与目标地址关联的数据库记录的访问频次。

    21、根据本公开的另一方面,提供了一种基于持久缓存和持久内存的数据存储优化装置。该装置包括:

    22、第一统计模块,用于响应于针对持久内存的访问行为,确定与访问行为对应的目标地址的访问频率信息,访问频率信息表示该目标地址被访问的频率;

    23、刷写模块,用于响应于目标地址的访问频率信息满足预设条件且访问行为是写入操作,对目标数据执行刷写操作,刷写操作包括将目标数据由缓存写入持久内存的目标地址的操作和内存屏障操作。

    24、在一种可能的实现方式中,目标地址的访问频率信息用于指示目标地址所存储的数据为冷数据或热数据,第一统计模块,用于:

    25、响应于针对持久内存中目标地址的访问行为,在数据库记录表中查找与目标地址关联的数据库记录;

    26、响应于存在与目标地址关联的数据库记录,确定目标地址存储的数据为热数据,否则确定目标地址存储的数据为冷数据;其中,针对热数据的访问频率高于针对冷数据的访问频率。

    27、在一种可能的实现方式中,预设条件包括访问频率信息指示目标地址存储的数据为冷数据。

    28、在一种可能的实现方式中,数据库记录表包括一个或多个哈希桶,每个哈希桶中包括一条或多条数据库记录,数据库记录包括持久内存中的地址,第一统计模块,用于:

    29、根据目标地址的哈希值确定与目标地址关联的数据库记录所在的目标哈希桶;

    30、在目标哈希桶中查找与目标地址关联的数据库记录。

    31、在一种可能的实现方式中,数据库记录表包括各数据库记录的访问频次,该装置还包括:

    32、替换模块,用于响应于不存在与目标地址关联的数据库记录,将数据库记录表中的一条数据库记录替换为与目标地址关联的数据库记录。

    33、在一种可能的实现方式中,响应于不存在与目标地址关联的数据库记录,将数据库记录表中的一条数据库记录替换为与目标地址关联的数据库记录,包括:

    34、响应于不存在与目标地址关联的数据库记录,在目标哈希桶中查找访问频次为0的数据库记录;

    35、响应于目标哈希桶中存在访问频次为0的数据库记录,将访问频次为0的数据库记录替换为与目标地址关联的数据库记录。

    36、在一种可能的实现方式中,响应于不存在与目标地址关联的数据库记录,将数据库记录表中的一条数据库记录替换为与目标地址关联的数据库记录,还包括:

    37、响应于目标哈希桶中不存在访问频次为0的数据库记录,减小目标哈希桶中每条数据库记录的访问频次,重新执行在目标哈希桶中查找访问频次为0的数据库记录以及之后的步骤,直至在目标哈希桶中查找到访问频次为0的数据库记录。

    38、在一种可能的实现方式中,该装置还包括:

    39、第二统计模块,用于响应于存在与目标地址关联的数据库记录,增加与目标地址关联的数据库记录的访问频次。

    40、根据本公开的另一方面,提供了一种基于持久缓存和持久内存的数据存储优化装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。

    41、根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。

    42、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。

    43、根据本技术实施例,通过响应于针对持久内存的访问行为,确定与访问行为对应的目标地址的访问频率信息,访问频率信息表示该目标地址被访问的频率,响应于目标地址的访问频率信息满足预设条件且访问行为是写入操作,对目标数据执行刷写操作,可以实现根据访问的频率选择不同的刷写策略,针对写入pm的数据选择性地执行刷写操作,在保证数据持久性和正确性的同时减少对持久内存的写入次数,使应用持久内存的数据库系统在动态变化的负载下仍能保持稳定的性能,从而提升了数据库系统的性能和吞吐能力。

    44、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。


    技术特征:

    1.一种基于持久缓存和持久内存的数据存储优化方法,其特征在于,所述方法包括:

    2.根据权利要求1所述的方法,其特征在于,所述目标地址的访问频率信息用于指示所述目标地址所存储的数据为冷数据或热数据,所述响应于针对持久内存的访问行为,确定与所述访问行为对应的目标地址的访问频率信息,包括:

    3.根据权利要求2所述的方法,其特征在于,所述预设条件包括所述访问频率信息指示所述目标地址存储的数据为冷数据。

    4.根据权利要求2所述的方法,其特征在于,所述数据库记录表包括一个或多个哈希桶,每个哈希桶中包括一条或多条数据库记录,所述数据库记录包括持久内存中的地址,所述响应于针对持久内存的访问行为,确定与所述访问行为对应的目标地址的访问频率信息,包括:

    5.根据权利要求2所述的方法,其特征在于,所述数据库记录表包括各数据库记录的访问频次,所述方法还包括:

    6.根据权利要求5所述的方法,其特征在于,所述响应于不存在与目标地址关联的数据库记录,将所述数据库记录表中的一条数据库记录替换为与所述目标地址关联的数据库记录,包括:

    7.根据权利要求6所述的方法,其特征在于,所述响应于不存在与目标地址关联的数据库记录,将所述数据库记录表中的一条数据库记录替换为与所述目标地址关联的数据库记录,还包括:

    8.根据权利要求2所述的方法,其特征在于,所述方法还包括:

    9.一种基于持久缓存和持久内存的数据存储优化装置,其特征在于,所述装置包括:

    10.一种基于持久缓存和持久内存的数据存储优化装置,其特征在于,包括:

    11.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至8中任意一项所述的方法。


    技术总结
    本公开涉及一种基于持久缓存和持久内存的数据存储优化方法及装置。该方法包括:响应于针对持久内存的访问行为,确定与访问行为对应的目标地址的访问频率信息,访问频率信息表示该目标地址被访问的频率;响应于目标地址的访问频率信息满足预设条件且访问行为是写入操作,对目标数据执行刷写操作,刷写操作包括将目标数据由缓存写入持久内存的目标地址的操作和内存屏障操作。根据本申请实施例,可以实现针对写入PM的数据选择性地执行刷写操作,在保证数据持久性和正确性的同时减少对持久内存的写入次数,使应用持久内存的数据库系统在动态变化的负载下仍能保持稳定的性能,从而提升了数据库系统的性能和吞吐能力。

    技术研发人员:陈康,季智成,武永卫,章明星,姜进磊
    受保护的技术使用者:清华大学
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-34867.html

    最新回复(0)