CN104268274B - 一种记录数据库日志的方法、装置及系统 - Google Patents
一种记录数据库日志的方法、装置及系统 Download PDFInfo
- Publication number
- CN104268274B CN104268274B CN201410542973.8A CN201410542973A CN104268274B CN 104268274 B CN104268274 B CN 104268274B CN 201410542973 A CN201410542973 A CN 201410542973A CN 104268274 B CN104268274 B CN 104268274B
- Authority
- CN
- China
- Prior art keywords
- node
- fastly
- master
- transaction journal
- standby
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种记录数据库日志的方法、设备及系统。该方法包括:主协调节点接收数据库系统内的计算节点发送的事务日志,并将事务日志记录在主快存上。主快存与主协调节点关联。事务日志为记录了对应事务的数据库日志。在将事务日志记录在主快存之后,主协调节点向计算节点发送主反馈信息以使计算节点执行对应事务。主反馈信息指示主协调节点完成在主快存上记录事务日志。在将事务日志记录在主快存之后,主协调节点将事务日志写入慢存。主快存为具有第一类存储速度的非易失性存储设备。慢存为具有第二类存储速度的非易失性存储设备。第一类存储速度大于所述第二类存储速度。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种记录数据库日志的方法、装置及系统。
背景技术
在数据库系统中执行事务(如修改数据库中的数据)前,会先记录执行该事务的数据库日志,以在数据库系统中的设备崩溃时,利用数据库日志恢复数据。图1所示为现有技术中的集群数据库系统100。集群数据库系统100包括计算节点112、114及116、协调节点122及124、网状通道106及闪存阵列108。在计算节点,如112执行事务前,计算节点112通过网状通道106将相应的数据库日志记录在闪存阵列108中。由于所有计算节点执行事务的数据库日志都记录在闪存阵列上,所需的闪存阵列容量较大,价钱较高。
本发明致力于提供一种更优的解决方案。
发明内容
本发明实施例提供一种记录数据库日志的方法、装置及系统,使得记录数据库日志的装置成本更低。
第一方面,本发明实施例提供了一种记录数据库日志的方法,应用于数据库系统内,包括:主协调节点接收所述数据库系统内的计算节点发送的事务日志,并将所述事务日志记录在主快存上,所述主快存与所述主协调节点关联,所述事务日志为记录了对应事务的数据库日志;在将所述事务日志记录在所述主快存之后,所述主协调节点向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务,所述主反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志;及在将所述事务日志记录在主快存之后,所述主协调节点将所述事务日志写入慢存,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易失性存储设备;所述第一类存储速度大于所述第二类存储速度。
在第一方面的第一种可能的实现方式中,所述主协调节点接收所述数据库系统内的计算节点发送的事务日志包括,所述主协调节点通过高速网络接收所述数据库系统内的计算节点发送的所述事务日志,所述高速网络指传输时延不大于纳秒(ns)级的网络。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述高速网络包括无尽宽带(Infiniband,IB)网络。
结合第一方面,或者第一方面第一种以及第二种可能的实现方式中的任意一种可能的实现方式,在第三种可能的实现方式中,所述主快存的读写时延不大于微秒(us)级。
结合第一方面,或者第一方面第一种、第二种以及第三种可能的实现方式中的任意一种可能的实现方式,在第四种可能的实现方式中,所述主快存包括以下存储介质中的任意一种:闪存(Flash Memory)及相变存储装置。
结合第一方面,或者第一方面第一至第四种任意一种可能的实现方式,在第五种可能的实现方式中,所述主协调节点将所述事务日志写入慢存与所述计算节点执行所述对应事务可同步或异步进行。
结合第一方面,或者第一方面第一至第五种任意一种可能的实现方式,在第六种可能的实现方式中,所述主协调节点将所述事务日志写入慢存包括:若所述主快存的可用容量达到容量门限值,或自所述主快存最近一次上电以来所经过的时间与自所述主协调节点最近一次写所述慢存以来所经过的时间中较短者达到时长门限值,则所述主协调节点将所述事务日志写入所述慢存,所述容量门限值及所述时长门限值是预设的。
结合第一方面,或者第一方面第一至第六种任意一种可能的实现方式,在第七种可能的实现方式中,所述方法还包括:所述主协调节点将所述事务日志发送给备协调节点以使所述备协调节点将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
结合第一方面第七种可能的实现方式,在第八种可能的实现方式中,所述方法还包括:所述主协调节点接收所述备协调节点向所述主协调节点发送的备反馈信息,所述备反馈信息指示所述备协调节点完成在所述备快存上记录所述事务日志;及所述主协调节点向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务包括:所述主协调节点在接收到所述备反馈信息之后,向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务。
结合第一方面第七种可能的实现方式以及第八种可能的实现方式中的任意一种可能的实现方式,在第九种可能的实现方式中,所述方法还包括:若备协调节点监控到所述主协调节点将所述事务日志写入所述慢存失效,则所述备协调节点将所述事务日志写入所述慢存。
结合第一方面第九种可能的实现方式,在第十种可能的实现方式中,所述备协调节点将所述事务日志写入所述慢存与所述计算节点执行所述对应事务可同步或异步进行。
结合第一方面第九种可能的实现方式,在第十一种可能的实现方式中,所述备协调节点将所述事务日志写入所述慢存包括:若所述备快存的可用容量达到容量门限值,或自所述备快存最近一次上电以来所经过的时间与自所述备协调节点最近一次写所述慢存以来所经过的时间中较短者达到时长门限值,则所述备协调节点将所述事务日志写入所述慢存,所述容量门限值及所述时长门限值是预设的。
结合第一方面,或者第一方面第一至第十一种任意一种可能的实现方式,在第十二种可能的实现方式中,还包括:所述主协调节点异常中断后启动时,所述主协调节点检测所述主快存上存有的事务日志是否已全部存入所述慢存;若所述主快存上存有的事务日志未全部存入所述慢存,则所述主协调节点将所述主快存上还未存入所述慢存的部分存入所述慢存。
第二方面,本发明实施例提供了一种记录数据库日志的方法,包括:计算节点在执行事务前,将所述事务对应的事务日志发送给主协调节点,以使所述主协调节点将所述事务日志记录在主快存上,所述主快存与所述主协调节点关联,所述事务日志为记录了所述事务的数据库日志;接收所述主协调节点发送的反馈信息,所述反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志;及在收到所述反馈信息后,所述计算节点执行所述事务。
在第二方面的第一种可能的实现方式中,还包括,所述计算节点将所述事务日志发送给备协调节点,以使所述备协调节点将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
结合第二方面,或者第二方面第一种可能的实现方式,在第二种可能的实现方式中,还包括,所述主协调节点在将所述事务日志记录在主快存之后,还将所述事务日志写入慢存,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易性存储设备;所述第一类存储速度大于所述第二类存储速度。
结合第二方面,或者第二方面第一至第二种任意一种可能的实现方式,在第三种可能的实现方式中,所述将所述事务对应的事务日志发送给主协调节点包括:通过高速网络将所述事务日志发送给所述主协调节点,所述高速网络包括传输时延不大于纳秒(ns)级的网络。
结合第二方面第三种可能的实现方式,在第四种可能的实现方式中,所述高速网络包括无尽宽带(IB)网络。
结合第二方面,或者第二方面第一至第四种任意一种可能的实现方式,在第五种可能的实现方式中,所述主快存的读写时延不大于微秒(us)级。
第三方面,本发明实施例提供了一种:闪存(Flash Memory)及相变存储装置(Phase Change Memory,PCM)。
第四方面,本发明实施例提供了一种应用于数据库系统的主协调节点,包括:接收模块,用于接收数据库系统内的计算节点发送的事务日志,所述事务日志为记录了对应事务的数据库日志;记录模块,用于将所述事务日志记录在主快存上,所述主快存与所述主协调节点关联;反馈模块,用于在将所述事务日志记录在所述主快存之后,向所述计算节点发送反馈信息以使所述计算节点执行所述对应事务,所述反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志;及转录模块,用于在将所述事务日志记录在主快存之后,将所述事务日志写入慢存,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易性存储设备;所述第一类存储速度大于所述第二类存储速度。
在第四方面的第一种可能的实现方式中,所述接收模块具体用于通过高速网络接收所述数据库系统内的计算节点发送的所述事务日志,所述高速网络指传输时延不大于纳秒(ns)级的网络。
结合第四方面第一种可能的实现方式,在第二种可能的实现方式中,所述高速网络包括无尽宽带网络(IB)。
结合第四方面,或者第四方面第一至第二种任意一种可能的实现方式,在第三种可能的实现方式中,所述主快存的读写时延不大于微秒(us)级。
结合第四方面,或者第四方面第一至第三种任意一种可能的实现方式,在第四种可能的实现方式中,所述主快存为以下存储介质中的任意一种:闪存(Flash Memory)及相变存储装置。
结合第四方面,或者第四方面第一至第四种任意一种可能的实现方式,在第五种可能的实现方式中,所述转录模块具体用于在所述计算节点执行所述对应事务时或执行所述对应事务后将所述事务日志写入所述慢存。
结合第四方面,或者第四方面第一至第五种任意一种可能的实现方式,在第六种可能的实现方式中,所述转录模块具体用于:若所述主快存的可用容量达到容量门限值,或自所述主快存最近一次上电以来所经过的时间与自所述转录模块最近一次写所述慢存以来所经过的时间中较短者达到时长门限值,则将所述事务日志存入所述慢存,所述容量门限值及所述时长门限值是预设的。
结合第四方面,或者第四方面第一至第六种任意一种可能的实现方式,在第七种可能的实现方式中,所述主协调节点还包括:发送模块,用于将所述事务日志发送给备协调节点以使所述备协调节点将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
第五方面,本发明实施例提供了一种数据库系统,包括:计算节点,用于发送事务日志,并执行与所述事务日志对应的事务;及主协调节点,用于接收所述计算节点发送的所述事务日志,并将所述事务日志记录在主快存上,并在将所述事务日志记录在所述主快存之后,向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务,所述主反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志,并在将所述事务日志记录在主快存之后,将所述事务日志写入慢存,所述主快存与所述主协调节点关联。
在第五方面的第一种可能的实现方式中,所述数据库系统还包括备协调节点,所述主协调节点还用于将所述事务日志发送给所述备协调节点,所述备协调节点用于将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
结合第五方面第一种可能的实现方式,在第二种可能的实现方式中,所述备协调节点还用于若监控到所述主协调节点将所述事务日志写入所述慢存失效,则将所述事务日志写入所述慢存。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为现有技术中的集群数据库系统;
图2是本发明第一实施例的集群数据库系统;
图3是本发明第二实施例的记录数据库日志的方法流程示意图;
图4是本发明第三实施例的记录数据库日志的方法流程示意图;
图5是本发明第四实施例的应用于数据库系统的主协调节点的结构示意图;
图6是本发明第五实施例的数据库系统的结构示意图。;
图7是本发明第六实施例的应用于数据库系统的主协调节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图2是本发明第一实施例的集群数据库系统200。集群数据库系统200包括计算节点212、214及216、主协调节点222、备协调节点224、无尽宽带网络通道(Infiniband,IB)204、光纤通道206、及慢存208。在一个实施例中,慢存208为磁盘。磁盘208存储集群数据库系统200中的数据。计算节点212、214及216执行事务,如对磁盘208上存储的数据进行计算或读写操作。主协调节点222管理计算节点212、214及216间的通讯。备协调节点224在主协调节点222失效时,替代主协调节点222,完成主协调节点222在非失效状态下的功能。计算节点212、214及216间、主协调节点222与备协调节点224间以及计算节点212、214及216间与主协调节点222及备协调节点224间通过IB 204进行通讯。计算节点212、214及216与磁盘208以及主协调节点222与磁盘208及备协调节点224与磁盘208间通过光纤网络206进行通讯。主快存232与主协调节点222关联,备快存242与备协调节点224关联。在一个实施例中,主快存232位于主协调节点222内,备快存242位于备协调节点224内,且主快存232及备快存242为高速外设部件互联(Peripheral Component Interconnect Express,PCIE)闪存卡。在另一个实施例中,主快存232位于主协调节点222外,备快存242位于备协调节点232外。在一个实施例中,主快存232及备快存242用于存储集群数据库系统200的数据库日志。数据库日志记录计算节点212、214及216执行的事务。例如,计算节点212执行的事务为:将磁盘中存储位置为X的数据A改写为数据B,则相应的数据库日志记录存储位置X、改写前的数据A、改写后的数据B以及改写的时刻等。
实施例二
图3是本发明第二实施例的记录数据库日志的方法流程示意图。结合图2对图3进行描述。
在步骤302中,主协调节点222接收数据库系统200内的计算节点,如计算节点212发送的事务日志,并将事务日志记录在主快存232上。主快存232与主协调节点222关联。在一个实施例中,主快存232位于主协调节点222内。在另一个实施例中,主快存232位于主协调节点222外。事务日志为记录了对应事务的数据库日志。
在步骤304中,在将事务日志记录在主快存232之后,主协调节点222向计算节点212发送主反馈信息以使计算节点212执行对应事务。主反馈信息指示主协调节点222完成在主快存232上记录事务日志。
在步骤306中,在将事务日志记录在主快存232之后,主协调节点222将事务日志写入慢存208。主快存232为具有第一类存储速度的非易失性存储设备。慢存208为具有第二类存储速度的非易失性存储设备。第一类存储速度大于第二类存储速度。在一个实施例中,主快存232的读写时延不大于微秒(us)级。例如,主快存232包括以下存储介质中的任意一种:闪存(Flash Memory)及相变存储装置。
有利地,由于主协调节点222将主快存232上存储的事务日志写入慢存208有后,主协调节点222又可在主快存232上存储该事务日志的位置记录后续事务日志。即,主快存232仅作为事务日志的中间缓存,在本实施例中并不需要较大容量的主快存,从而节省了成本。
在一个实施例中,主协调节点222通过高速网络204接收数据库系统200内的计算节点212发送的事务日志。高速网络204包括传输时延不大于纳秒(ns)级的网络。例如,高速网络204包括IB。
有利地,由于高速网络204的传输时延也较短,主快存232的读写时延较短,计算节点212将事务日志发送至主协调节点222及主协调节点222将该事务日志记录在主快存232上均只需较短时间。
在一个实施例中,主协调节点222将事务日志写入慢存208与计算节点212执行对应事务可同步或异步进行。即,主协调节点222可在计算节点212执行对应事务时或执行对应事务后将事务日志写入慢存208。也即,计算节点212执行对应事务,完成后,无需等待主协调节点222将事务日志写入慢存208,即可向主协调节点222发送与下一件事务对应的事务日志,从而使主协调节点222将与下一件事务对应的事务日志记录在主快存232上,继而使计算节点212执行下一件事务。有利地,记录事务日志与执行事务均无需等待主协调节点222将事务日志写入慢存208后再进行,从而节省了时间,提高了效率。
在一个实施例中,若主快存232的可用容量达到容量门限值,或自主快存232最近一次上电以来所经过的时间与自主协调节点222最近一次写慢存208以来所经过的时间中较短者达到时长门限值,则主协调节点222将事务日志写入慢存208。容量门限值及时长门限值是预设的。
可选地,本方法还包括步骤308、310及312。在步骤308中,主协调节点222将事务日志发送给备协调节点224以使备协调节点224将事务日志记录在备快存242上。备快存242与备协调节点224关联。在一个实施例中,备快存242位于备协调节点224内。在另一个实施例中,备快存242位于备协调节点224外。
在步骤310中,主协调节点222接收备协调节点224向主协调节点222发送的备反馈信息。备反馈信息指示备协调节点224完成在备快存242上记录事务日志。具体地,主协调节点222在接收到备反馈信息之后,向计算节点212发送主反馈信息以使计算节点212执行对应事务。
在步骤312中,若备协调节点224监控到主协调节点222将事务日志写入慢存208失效,则备协调节点224将事务日志写入慢存208。有利地,若主协调节点222将事务日志写入慢存208失效,事务日志仍不会丢失。在一个实施例中,备协调节点224将事务日志写入慢存208与计算节点212执行对应事务可同步或异步进行。有利地,记录事务日志与执行事务均无需等待备协调节点224将事务日志写入慢存208后再进行,从而节省了时间,提高了效率。在一个实施例中,若备快存224的可用容量达到容量门限值,或自备快存224最近一次上电以来所经过的时间与自备协调节点224最近一次写慢存208以来所经过的时间中较短者达到时长门限值,则备协调节点224将事务日志写入慢存208。容量门限值及时长门限值是预设的。
可选地,本方法还包括步骤314。在步骤314中,主协调节点212异常中断后启动时,主协调节点212检测主快存232上存有的事务日志是否已全部存入慢存208;若主快存232上存有的事务日志未全部存入慢存208,则主协调节点212将主快存232上还未存入慢存208的部分存入慢存208。
实施例三
图4是本发明第三实施例的记录数据库日志的方法流程示意图。
在步骤402中,计算节点212在执行事务前,将事务对应的事务日志发送给主协调节点222,以使主协调节点222将事务日志记录在主快存232上。主快存232与主协调节点222关联。在一个实施例中,主快存232位于主协调节点222内。在另一个实施例中,主快存232位于主协调节点222外。在一个实施例中,主快存232的读写时延不大于微秒(us)级。例如,主快存232为以下存储介质中的任意一种:闪存(Flash Memory)及相变存储装置(PhaseChange Memory,PCM)。事务日志为记录了事务的数据库日志。在一个实施例中,计算节点212通过高速网络将事务日志发送给主协调节点222。高速网络包括传输时延不大于纳秒(ns)级的网络。例如,高速网络包括IB。
在一个实施例中,主协调节点222在将事务日志记录在主快存232之后,还将事务日志写入慢存208。主快存232为具有第一类存储速度的非易失性存储设备。慢存208为具有第二类存储速度的非易性存储设备。第一类存储速度大于第二类存储速度。
在步骤404中,接收主协调节点222发送的反馈信息。反馈信息指示主协调节点222完成在主快存232上记录事务日志。在收到反馈信息后,计算节点212执行事务。
可选地,本方法还包括步骤406。在步骤406中,计算节点212将事务日志发送给备协调节点224,以使备协调节点224将事务日志记录在备快存242上。备快存242与备协调节点224关联。在一个实施例中,备快存242位于备协调节点224内。在另一个实施例中,备快存242位于备协调节点224外。
实施例四
图5是本发明第四实施例的应用于数据库系统的主协调节点222的结构示意图。图5将结合图2进行描述。主协调节点222包括接收模块502、记录模块504、反馈模块506及转录模块508。
接收模块502用于接收数据库系统内的计算节点发送的事务日志。事务日志为记录了对应事务的数据库日志。具体地,接收模块502用于通过高速网络接收数据库系统内的计算节点发送的事务日志。高速网络指传输时延不大于纳秒(ns)级的网络。例如,高速网络为IB。记录模块504用于将事务日志记录在主快存232上。主快存232与主协调节点关联。在一个实施例中,主快存232位于主协调节点内。在另一个实施例中,主快存232位于主协调节点外。在一个实施例中,主快存232的读写时延不大于微秒(us)级。例如,主快存232为以下存储介质中的任意一种:闪存及相变存储装置。反馈模块506用于在将事务日志记录在主快存232之后,向计算节点212发送反馈信息以使计算节点212执行对应事务。反馈信息指示主协调节点222完成在主快存232上记录事务日志。转录模块508用于在将事务日志记录在主快存232之后,将事务日志写入慢存208。主快存为具有第一类存储速度的非易失性存储设备。慢存为具有第二类存储速度的非易性存储设备。第一类存储速度大于所述第二类存储速度。具体地,转录模块508用于在计算节点执行对应事务时或执行对应事务后将事务日志写入慢存208。在一个实施例中,若主快存232的可用容量达到容量门限值,或自主快存232最近一次上电以来所经过的时间与自转录模块508最近一次写慢存208以来所经过的时间中较短者达到时长门限值,则将事务日志存入慢存208。容量门限值及时长门限值是预设的。
可选地,主协调节点222还包括发送模块510。发送模块510将事务日志发送给备协调节点224以使备协调节点224将事务日志记录在备快存242上。备快存242与备协调节点224关联。在一个实施例中,备快存242位于备协调节点224内。在另一个实施例中,备快存242位于备协调节点224外。
实施例五
图6是本发明第五实施例的数据库系统600的结构示意图。数据库系统600包括计算节点602及主协调节点604。计算节点602用于发送事务日志,并执行与事务日志对应的事务。主协调节点604用于接收计算节点发送的事务日志,并将事务日志记录在主快存上,并在将事务日志记录在主快存之后,向计算节点602发送主反馈信息以使计算节点602执行对应事务。主反馈信息指示主协调节点604完成在主快存上记录事务日志,并在将事务日志记录在主快存之后,将事务日志写入慢存。主快存与主协调节点604关联。
可选地,数据库系统还包括备协调节点606。主协调节点604还用于将事务日志发送给备协调节点606。备协调节点606用于将事务日志记录在备快存上。备快存与备协调节点606关联。备协调节点606还用于若监控到主协调节点604将事务日志写入慢存失效,则将事务日志写入慢存。
实施例六
图7是本发明第六实施例的应用于数据库系统的图2中的主协调节点222的结构示意图。主协调节点222包括收发器702,中央处理单元(Central Processing Unit,CPU)704、存储器706、存储器708及存储器710。收发器702用于接收数据库系统内的计算节点发送的事务日志。事务日志为记录了对应事务的数据库日志。具体地,收发器702用于通过高速网络接收数据库系统内的计算节点发送的事务日志。高速网络指传输时延不大于纳秒(ns)级的网络。例如,高速网络为IB。
存储器706用于存储指令。CPU 704用于从存储器706读取指令,根据指令将事务日志记录在存储器708上,并用于在将事务日志记录在存储器708上之后,向计算节点发送反馈信息以使计算节点执行对应事务。反馈信息指示CPU704完成在存储器708上记录事务日志。CPU 704还用于从存储器706读取指令,根据指令在将事务日志记录在存储器708上之后,将事务日志写入存储器710。存储器708为具有第一类存储速度的非易失性存储设备。存储器710为具有第二类存储速度的非易性存储设备。第一类存储速度大于所述第二类存储速度。在一个实施例中,存储器708的读写时延不大于微秒(us)级。例如,存储器708为以下存储介质中的任意一种:闪存及相变存储装置。
在一个实施例中,若存储器708的可用容量达到容量门限值,或自存储器708最近一次上电以来所经过的时间与自CPU 704最近一次写存储器710以来所经过的时间中较短者达到时长门限值,则将事务日志存入存储器710。容量门限值及时长门限值是预设的。
可选地,收发器702还用于将事务日志发送给备协调节点以使备协调节点将事务日志记录在备存储器上。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (31)
1.一种记录数据库日志的方法,应用于数据库系统内,其特征在于,包括:
主协调节点接收所述数据库系统内的计算节点发送的事务日志,并将所述事务日志记录在主快存上,所述主快存位于所述主协调节点内,所述事务日志为记录了对应事务的数据库日志;
在将所述事务日志记录在所述主快存之后,所述主协调节点向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务,所述主反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志;及
在将所述事务日志记录在所述主快存之后,所述主协调节点将所述事务日志写入所述数据库系统的慢存,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易失性存储设备;所述第一类存储速度大于所述第二类存储速度。
2.如权利要求1所述的方法,其特征在于,所述主协调节点接收所述数据库系统内的计算节点发送的事务日志包括,所述主协调节点通过高速网络接收所述数据库系统内的计算节点发送的所述事务日志,所述高速网络指传输时延不大于纳秒(ns)级的网络。
3.如权利要求2所述的方法,其特征在于,所述高速网络包括无尽宽带(Infiniband,IB)网络。
4.如权利要求1所述的方法,其特征在于,所述主快存的读写时延不大于微秒(us)级。
5.如权利要求1所述的方法,其特征在于,所述主快存包括以下存储介质中的任意一种:闪存及相变存储装置。
6.如权利要求1-5中任一所述的方法,其特征在于,所述主协调节点将所述事务日志写入慢存与所述计算节点执行所述对应事务可同步或异步进行。
7.如权利要求1-5中任一所述的方法,其特征在于,所述主协调节点将所述事务日志写入慢存包括:
若所述主快存的可用容量达到容量门限值,或自所述主快存最近一次上电以来所经过的时间与自所述主协调节点最近一次写所述慢存以来所经过的时间中较短者达到时长门限值,则所述主协调节点将所述事务日志写入所述慢存,所述容量门限值及所述时长门限值是预设的。
8.如权利要求1-5中任一所述的方法,其特征在于,所述方法还包括:
所述主协调节点将所述事务日志发送给备协调节点以使所述备协调节点将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:所述主协调节点接收所述备协调节点向所述主协调节点发送的备反馈信息,所述备反馈信息指示所述备协调节点完成在所述备快存上记录所述事务日志;及
所述主协调节点向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务包括:所述主协调节点在接收到所述备反馈信息之后,向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务。
10.如权利要求8所述的方法,其特征在于,所述方法还包括:
若备协调节点监控到所述主协调节点将所述事务日志写入所述慢存失效,则所述备协调节点将所述事务日志写入所述慢存。
11.如权利要求10所述的方法,其特征在于,所述备协调节点将所述事务日志写入所述慢存与所述计算节点执行所述对应事务可同步或异步进行。
12.如权利要求10所述的方法,其特征在于,所述备协调节点将所述事务日志写入所述慢存包括:
若所述备快存的可用容量达到容量门限值,或自所述备快存最近一次上电以来所经过的时间与自所述备协调节点最近一次写所述慢存以来所经过的时间中较短者达到时长门限值,则所述备协调节点将所述事务日志写入所述慢存,所述容量门限值及所述时长门限值是预设的。
13.如权利要求1-5中任一所述的方法,其特征在于,还包括:
所述主协调节点异常中断后启动时,所述主协调节点检测所述主快存上存有的事务日志是否已全部存入所述慢存;
若所述主快存上存有的事务日志未全部存入所述慢存,则所述主协调节点将所述主快存上还未存入所述慢存的部分存入所述慢存。
14.一种记录数据库日志的方法,其特征在于,包括:
计算节点在执行事务前,将所述事务对应的事务日志发送给主协调节点,以使所述主协调节点将所述事务日志记录在主快存上,所述主快存位于所述主协调节点内,所述事务日志为记录了所述事务的数据库日志;
接收所述主协调节点发送的反馈信息,所述反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志;及
在收到所述反馈信息后,所述计算节点执行所述事务。
15.如权利要求14所述的方法,其特征在于,还包括,所述计算节点将所述事务日志发送给备协调节点,以使所述备协调节点将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
16.如权利要求14所述的方法,其特征在于,还包括,所述主协调节点在将所述事务日志记录在主快存之后,还将所述事务日志写入慢存,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易性存储设备;所述第一类存储速度大于所述第二类存储速度。
17.如权利要求14-16中任一所述的方法,其特征在于,所述将所述事务对应的事务日志发送给主协调节点包括:通过高速网络将所述事务日志发送给所述主协调节点,所述高速网络包括传输时延不大于纳秒(ns)级的网络。
18.如权利要求17所述的方法,其特征在于,所述高速网络包括无尽宽带(IB)网络。
19.如权利要求14-16中任一所述的方法,其特征在于,所述主快存的读写时延不大于微秒(us)级。
20.如权利要求14-16中任一所述的方法,其特征在于,所述主快存为以下存储介质中的任意一种:闪存(Flash Memory)及相变存储装置(Phase Change Memory,PCM)。
21.一种应用于数据库系统的主协调节点,其特征在于,包括:
接收模块,用于接收数据库系统内的计算节点发送的事务日志,所述事务日志为记录了对应事务的数据库日志;
记录模块,用于将所述事务日志记录在主快存上,所述主快存位于所述主协调节点内;
反馈模块,用于在将所述事务日志记录在所述主快存之后,向所述计算节点发送反馈信息以使所述计算节点执行所述对应事务,所述反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志;及
转录模块,用于在将所述事务日志记录在所述主快存之后,将所述事务日志写入所述数据库系统的慢存,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易性存储设备;所述第一类存储速度大于所述第二类存储速度。
22.如权利要求21所述的主协调节点,其特征在于,所述接收模块具体用于通过高速网络接收所述数据库系统内的计算节点发送的所述事务日志,所述高速网络指传输时延不大于纳秒(ns)级的网络。
23.如权利要求22所述的主协调节点,其特征在于,所述高速网络包括无尽宽带(IB)网络。
24.如权利要求21所述的主协调节点,其特征在于,所述主快存的读写时延不大于微秒(us)级。
25.如权利要求21所述的主协调节点,其特征在于,所述主快存为以下存储介质中的任意一种:闪存(Flash Memory)及相变存储装置。
26.如权利要求21所述的主协调节点,其特征在于,所述转录模块具体用于在所述计算节点执行所述对应事务时或执行所述对应事务后将所述事务日志写入所述慢存。
27.如权利要求21-26中任一所述的主协调节点,其特征在于,所述转录模块具体用于:
若所述主快存的可用容量达到容量门限值,或自所述主快存最近一次上电以来所经过的时间与自所述转录模块最近一次写所述慢存以来所经过的时间中较短者达到时长门限值,则将所述事务日志存入所述慢存,所述容量门限值及所述时长门限值是预设的。
28.如权利要求21-26中任一所述的主协调节点,其特征在于,所述主协调节点还包括:
发送模块,用于将所述事务日志发送给备协调节点以使所述备协调节点将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
29.一种数据库系统,其特征在于,包括:
计算节点,用于发送事务日志,并执行与所述事务日志对应的事务;及
主协调节点,用于接收所述计算节点发送的所述事务日志,并将所述事务日志记录在主快存上,并在将所述事务日志记录在所述主快存之后,向所述计算节点发送主反馈信息以使所述计算节点执行所述对应事务,所述主反馈信息指示所述主协调节点完成在所述主快存上记录所述事务日志,并在将所述事务日志记录在所述主快存之后,将所述事务日志写入所述数据库系统的慢存,所述主快存位于所述主协调节点内,所述主快存为具有第一类存储速度的非易失性存储设备;所述慢存为具有第二类存储速度的非易失性存储设备;所述第一类存储速度大于所述第二类存储速度。
30.如权利要求29所述的数据库系统,其特征在于,所述数据库系统还包括备协调节点,所述主协调节点还用于将所述事务日志发送给所述备协调节点,所述备协调节点用于将所述事务日志记录在备快存上,所述备快存与所述备协调节点关联。
31.如权利要求30所述的数据库系统,其特征在于,所述备协调节点还用于若监控到所述主协调节点将所述事务日志写入所述慢存失效,则将所述事务日志写入所述慢存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410542973.8A CN104268274B (zh) | 2014-10-14 | 2014-10-14 | 一种记录数据库日志的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410542973.8A CN104268274B (zh) | 2014-10-14 | 2014-10-14 | 一种记录数据库日志的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104268274A CN104268274A (zh) | 2015-01-07 |
CN104268274B true CN104268274B (zh) | 2019-02-12 |
Family
ID=52159795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410542973.8A Active CN104268274B (zh) | 2014-10-14 | 2014-10-14 | 一种记录数据库日志的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268274B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085577B (zh) * | 2016-02-15 | 2021-01-05 | 华为技术有限公司 | 一种加载数据页的方法、计算节点以及协调节点 |
CN107562567A (zh) * | 2016-06-30 | 2018-01-09 | 华为技术有限公司 | 一种数据处理方法以及数据处理设备 |
CN108900331A (zh) * | 2018-06-26 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种分布式集群管理方法及分布式集群 |
CN111382024B (zh) * | 2018-12-28 | 2023-07-14 | 金篆信科有限责任公司 | 一种数据库主备复制延迟监控方法、装置和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1908916A (zh) * | 2005-08-01 | 2007-02-07 | 贺劲 | 一种基于新型存储层次结构的电子计算机 |
CN1996266A (zh) * | 2006-12-15 | 2007-07-11 | 华为技术有限公司 | 一种多级缓冲的存储系统和方法 |
US7793061B1 (en) * | 2007-06-29 | 2010-09-07 | Emc Corporation | Techniques for using flash-based memory as a write cache and a vault |
CN103443773A (zh) * | 2011-08-12 | 2013-12-11 | 甲骨文国际公司 | 利用多个存储设备减少数据库录入的写延迟的方法和系统 |
CN103873559A (zh) * | 2014-02-13 | 2014-06-18 | 南京斯坦德通信股份有限公司 | 一种高速存储的数据库一体机 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593420A (zh) * | 2013-11-01 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种利用共享在线日志实现异构同平台的数据库集群搭建方法 |
-
2014
- 2014-10-14 CN CN201410542973.8A patent/CN104268274B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1908916A (zh) * | 2005-08-01 | 2007-02-07 | 贺劲 | 一种基于新型存储层次结构的电子计算机 |
CN1996266A (zh) * | 2006-12-15 | 2007-07-11 | 华为技术有限公司 | 一种多级缓冲的存储系统和方法 |
US7793061B1 (en) * | 2007-06-29 | 2010-09-07 | Emc Corporation | Techniques for using flash-based memory as a write cache and a vault |
CN103443773A (zh) * | 2011-08-12 | 2013-12-11 | 甲骨文国际公司 | 利用多个存储设备减少数据库录入的写延迟的方法和系统 |
CN103873559A (zh) * | 2014-02-13 | 2014-06-18 | 南京斯坦德通信股份有限公司 | 一种高速存储的数据库一体机 |
Non-Patent Citations (2)
Title |
---|
"分布式数据库日志管理系统";田雪锋;《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》;20031215;正文第5-7、9-11、14-16、18-20、22-23、30-33、36-39页 |
"基于Flashcache的混合存储方案设计与实现";杨昭宇;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140615;摘要、正文第1-12、41页 |
Also Published As
Publication number | Publication date |
---|---|
CN104268274A (zh) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104268274B (zh) | 一种记录数据库日志的方法、装置及系统 | |
CN102156738B (zh) | 数据块处理方法、数据块存储设备及系统 | |
EP3382526B1 (en) | Multi-node storage operation | |
CN103441948B (zh) | 一种数据访问方法、网卡及存储系统 | |
CN110086888B (zh) | 基于RabbitMQ的多集群动态负载方法、装置、电子设备 | |
US20140359197A1 (en) | Implementing reinforcement learning based flash control | |
CN105723338A (zh) | 构建虚拟主板和虚拟存储设备 | |
CN106599018A (zh) | 库存操作方法和系统 | |
CN103229171A (zh) | 基于快照的复制 | |
CN106031827B (zh) | 基于redis的游戏服务器数据存储、读取方法及系统 | |
CN105808374B (zh) | 一种快照处理方法及相关设备 | |
CN105260267B (zh) | 一种数据刷新方法及固态硬盘 | |
CN109741774A (zh) | 一种基于fpga片上ram模拟实现ddr3突发的控制器以及方法 | |
US20210397439A1 (en) | Automatic probabilistic upgrade of tenant devices | |
CN105528180B (zh) | 一种数据存储方法、装置及设备 | |
US11347414B2 (en) | Using telemetry data from different storage systems to predict response time | |
CN106874142A (zh) | 一种实时数据容错处理方法及系统 | |
CN104239173A (zh) | Cpu的总线测试装置及其方法 | |
CN106897022B (zh) | 一种管理存储设备的方法及装置 | |
US20050154786A1 (en) | Ordering updates in remote copying of data | |
CN105760109B (zh) | 数据迁移方法和存储阵列 | |
CN106383861A (zh) | 一种用于数据库的数据同步方法及装置 | |
CN105389121B (zh) | 有效率释出序列输入输出串流的方法及装置 | |
CN112527559B (zh) | 一种物联网数据备份方法及装置 | |
CN103136139A (zh) | 现场可更换单元信息的读取方法及写入方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |