【技术实现步骤摘要】
【国外来华专利技术】具有NVDIMM作为持久性存储装置的数据库
本公开涉及数据库系统。更具体而言,本公开涉及用于在共享存储装置中存储数据库数据的关系数据库组织。
技术介绍
DBMS(数据库管理系统)是用于存储和管理多种类型的数据的重要机制。DBMS包括至少一个数据库服务器。数据库服务器被托管在至少一个计算元件(例如,计算机、服务器刀片)上,并且可以将数据库数据存储在块模式存储设备中。块模式存储设备可以是经由计算元件的高速总线连接到计算元件的一个或多个硬件处理器(“处理器”)和/或计算元件的存储器的一个或多个盘驱动器和闪存驱动器。块模式存储设备也可以是启用网络的存储设备,其经由网络连接到计算元件,并且包括其它块存储设备,诸如盘驱动器和闪存驱动器。功能更强大的DBMS被托管在并行处理器硬件平台上。这样的DBMS在本文中被称为多节点DBMS。多节点DBMS包括在本文中被称为计算节点的多个计算元件。每个计算节点包括一个或多个硬件处理器,每个硬件处理器共享对同一主存储器的访问。多节点DBMS可以使用若干种存储体系架构中的一种来存储数据库数据。一种这样的体系架构在本文中称为共享存储体系架构。在共享存储体系架构中,多节点DBMS中的每个计算节点共享对持久性地存储数据库的一个或多个块存储设备的直接网络访问。图1是图示共享存储多节点DBMS的框图。参考图1,共享存储多节点DBMS100包括数据库服务器实例,每个数据库服务器实例被托管在相应的计算节点上,每个数据库服务器实例提供对存储在共享存储装置121上的同一数据库的访问。DBMS ...
【技术保护点】
1.一种方法,包括:/n第一计算元件,第一计算元件将数据文件存储在持久性存储装置中,所述计算元件包括在非易失性随机存取存储器NVRAM中的写暂存池,其中所述数据文件包括数据块;/n第二计算元件,第二计算元件将数据块写入到所述写暂存池,其中写入所述数据块包括:/n发出远程直接存储器访问RDMA写,以将所述数据块写入到所述写暂存池中的写暂存缓冲区;/n在完成所述数据块向所述写暂存缓冲区的写入之后,在与所述数据块对应的记录中设置值,以指示所述数据块处于写暂存延缓状态,所述记录被存储在所述NVRAM中;/n当所述数据块处于所述写暂存延缓状态时:/n防止响应于对所述数据块的请求而从持久性存储装置返回所述数据块;/n所述第一计算元件将所述数据块从所述写暂存缓冲区写入到所述NVRAM;/n响应于完成将所述数据块从所述写暂存缓冲区到所述NVRAM的所述写入,在与所述数据块对应的所述记录中设置值,以指示所述数据块不处于写暂存延缓状态。/n
【技术特征摘要】
【国外来华专利技术】20170929 US 15/720,9491.一种方法,包括:
第一计算元件,第一计算元件将数据文件存储在持久性存储装置中,所述计算元件包括在非易失性随机存取存储器NVRAM中的写暂存池,其中所述数据文件包括数据块;
第二计算元件,第二计算元件将数据块写入到所述写暂存池,其中写入所述数据块包括:
发出远程直接存储器访问RDMA写,以将所述数据块写入到所述写暂存池中的写暂存缓冲区;
在完成所述数据块向所述写暂存缓冲区的写入之后,在与所述数据块对应的记录中设置值,以指示所述数据块处于写暂存延缓状态,所述记录被存储在所述NVRAM中;
当所述数据块处于所述写暂存延缓状态时:
防止响应于对所述数据块的请求而从持久性存储装置返回所述数据块;
所述第一计算元件将所述数据块从所述写暂存缓冲区写入到所述NVRAM;
响应于完成将所述数据块从所述写暂存缓冲区到所述NVRAM的所述写入,在与所述数据块对应的所述记录中设置值,以指示所述数据块不处于写暂存延缓状态。
2.如权利要求1所述的方法,其中:
所述记录包括客户端侧计数器值和服务器侧计数器值;
在与所述数据块对应的记录中设置值以指示所述数据块处于写暂存延缓状态包括:递增所述客户端侧计数器值;
在与所述数据块对应的所述记录中设置值以指示所述数据块不处于写暂存延缓状态包括:递增所述服务器侧计数器值;
防止从持久性存储装置返回所述数据块包括:
读取所述记录;
确定所述客户端侧计数器值大于所述服务器侧计数器值,从而指示所述数据块处于写暂存延缓状态。
3.如权利要求1所述的方法,
还包括所述第一计算元件的RDMA机制向处理进程发送所述数据块已经被写入到所述写暂存缓冲区的通知;以及
其中,所述第一计算元件将所述数据块从所述写暂存缓冲区写入到所述NVRAM包括:响应于所述处理进程接收到所述通知,所述第一计算元件将所述数据块从所述写暂存缓冲区写入到所述NVRAM。
4.如权利要求2所述的方法,其中:
读取所述记录包括:所述第二计算元件发出RDMA读取,以读取所述记录来检索该记录并比较客户端侧计数器值和服务器侧计数器值;以及
确定所述客户端侧计数器值更大包括:所述第二计算元件确定所述客户端计数器值大于所述服务器侧计数器值;
响应于确定所述客户端侧计数器值更大,所述第二计算元件放弃发出用于读取所述数据块的RDMA读取请求。
5.如权利要求2所述的方法,其中:
读取所述记录包括:所述第二计算元件发出RDMA读取,以读取所述记录来检索该记录并比较客户端侧计数器值和服务器侧计数器值;以及
确定所述客户端计数器值更大包括:所述第二计算元件确定所述客户端侧计数器值大于所述服务器侧计数器值;
响应于确定所述客户端侧计数器值更大,所述第二计算元件向运行所述第一计算元件的特定进程发出对所述数据块的请求。
6.如权利要求5所述的方法,还包括:
响应于所述特定进程接收到对所述数据块的所述请求,所述第一计算元件读取所述记录以确定所述客户端侧计数器值是否大于所述服务器侧计数器值;
响应于确定所述客户端侧计数器值不大于所述服务器侧计数器值,从所述持久性存储装置读取所述数据块并将所述数据块发送到所述第二计算元件。
7.一种方法,包括:
将数据库存储在多节点数据库管理系统DBMS中的多个计算节点的非易失性随机存取存储器NVRAM中的多个数据库文件中,所述多个计算节点中的每个计算节点托管数据库服务器实例;
其中,所述多个计算节点中的每个计算节点包括NVRAM,并将所述多个数据库文件的相应子集存储在所述每个计算节点的NVRAM中;
所述多个计算节点中的第一计算节点上的数据库进程执行查询,其中执行所述查询包括:
确定第一数据块存储在所述多个计算节点中的第二计算节点的NVRAM中;
向所述第一计算节点上的第一RDMA硬件机制发出RDMA读取请求,以从第二计算节点的NVRAM中读取所述第一数据块;
所述第二计算节点上的第二RDMA机制从所述NVRAM检索所述特定数据块,并将所述数据块发送到所述第一RDMA硬件机制;
所述第一RDMA机制将所述数据块存储在所述第一计算节点上的数据库缓冲区池的数据库缓冲区中。
8.如权利要求...
【专利技术属性】
技术研发人员:是佳,金一亮,张哲人,陶左宇,V·斯里达兰,K·尤玛玛格斯瓦兰,G·艾维,李运睿,N·乔杜里,K·梅亚潘,张锴,S·乌斯蒂门科,S·S·科沃赛尔亚,S·萨尔达史迪,
申请(专利权)人:甲骨文国际公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。