【技术实现步骤摘要】
一种基于非易失内存的时序数据库日志存储方法及系统
[0001]本专利技术属于时序数据库日志存储
,更具体地,涉及一种基于非易失内存的时序数据库日志存储方法及系统。
技术介绍
[0002]随着信息技术和物联网技术的发展,社交数据、交通流量、电商销售和服务器监控等时序数据呈现爆炸式增长。为了满足时序数据实时处理需求,时序数据库大多采用基于日志结构合并树(Log
‑
Structured Merge Tree, LSM
‑
Tree)的存储结构,在内存(Dynamic Random AccessMemory, DRAM)中将时序数据的随机写转化为顺序写,以提升I/O性能和数据库吞吐量。然而,由于DRAM的断电易失特性,一旦系统发生故障,DRAM中存储的数据将全部丢失。为了实现数据的持久化存储,时序数据库通常采用写前日志(Write
‑
Ahead Log, WAL),在事务提交之前,首先生成对应的日志,在事务的日志持久化存储后,再完成事务提交。当系统发生故障时,时序数据库可以通过WAL来对数据进行恢复,从而避免数据丢失。从事务的执行过程可以看出,日志的写入性能直接影响了数据库的吞吐量,如何通过优化日志性能来提升时序数据库的吞吐量,是设计时序数据库日志系统及持久化方法时需要考虑的。
[0003]传统的关系型数据库为了保证事务的原子性、一致性、隔离性和持久性(Atomicity, Consistency, Isolation, and Durability, ACI ...
【技术保护点】
【技术特征摘要】
1.一种基于非易失内存的时序数据库日志存储方法,其特征在于,包括:S1、根据时序数据库中事务访问的数据计算当前事务日志的LSN;S2、按照日志中记录的数据键值将当前日志划分到对应的线程,并引入线程快照根据计算得到的日志LSN进行线程同步;S3、将当前日志压缩后按照非易失内存NVM最小写入单元对齐;S4、针对每个线程,以流水线形式将日志并发写入NVM;其中,S1包括:S11、对事务访问数据中的时间戳字段进行扩展,得到扩展时间戳,所述扩展时间戳从高位到低位包括:数据锁、墓碑标记及数据修改时间戳UTS,数据锁用于实现事务的并发控制,墓碑标记用于记录本条数据是否被删除;S12、用所述UTS设计LSN计算协议:每条新插入数据的UTS初始化为0;写入事务日志的LSN为0;更新事务日志的;表示当前事务访问数据集合中UTS的最大值;表示中任一数据点的UTS;事务提交前,将所有被修改数据的UTS原子更新为当前事务日志的LSN。2.根据权利要求1所述的方法,其特征在于,S1中,采用所述LSN计算协议计算更新事务日志的LSN,包括:第一步,读取当前事务需要访问数据的扩展时间戳,若访问的当前数据的数据锁为1,则等待;否则,计算需要访问数据中所有扩展时间戳的最大值,并计算当前事务的LSN,;第二步,再次读取需要访问数据的数据锁,若数据锁为0,则将数据锁置1;否则,终止当前事务,重新开始执行当前事务,直至此时的数据锁为0,并将锁位置1;第三步,比较需要访问数据此时的UTS是否与第一步读取的对应数据的UTS相同,若不同,终止当前事务,重新开始执行当前事务,直至数据此时的UTS与第一步读取的对应数据的UTS相同,将需要访问数据的UTS修改为当前事务的LSN,并将数据锁置0;针对删除操作,将墓碑标记置1。3.根据权利要求1或2所述的方法,其特征在于,S4包括:S41、针对每个线程,维护n个日志队列,逻辑上构成循环链表,初始化所有日志队列为空;S42、事务提交时,若事务日志的LSN=0,则将事务日志直接写入当前队列的缓冲区,继续处理后续事务日志;否则,将事务日志写入当前队列后,关闭当前队列,使后续事务日志写入下一个日志队列;S43、事务日志按照S42中原则循环写入队列,当队列关闭时,将后续事务日志写入队列;S44、将写入队列的日志以流水线形式写入NVM。
4.根据权利要求3所述的方法,其特征在于,所述S44包括:日志线程从队列至依次处理日志,采用CLWB指令将当前队列中的写入事务日志写入NVM;若当前队列中存在更新事务日志,则先进行线程同步,再对所述更新事务日志使用内存屏障;在当前队列中内存屏障执行的同时,日志线程将下一队列中的写入事务日志并发写入NVM;若下一队列中存在更新事务日志,先进行线程同步,再对所述更新事务日志使用内存屏障,并且使当前队列中的更新事务日志和下一队列中的更新事务日志按先后顺序写入NVM。5.根据权利要求1所述的方法,其特征在于,S2中,引入线程快照根据计算得到的日志LSN进行线程同步,包括:S21、构建线程快照的数据结构,所述数据结构包括m
×
n的日志数量数组和LSN数组;其中,m表示日志线程数,n表示每...
【专利技术属性】
技术研发人员:郑渤龙,郜勇勇,闫凌森,万静意,董茂科,高云君,陈璐,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。