Database with NVDIMM as persistent storage
First Claim
1. A method, comprising:
- storing a database in a plurality of database files in non-volatile random access memory (NVRAM), of a plurality of computing nodes in a multi-node database management system (DBMS), each computing node of said plurality of computing nodes hosting a database server instance;
wherein each computing node of said plurality of computing nodes comprises NVRAM and stores a respective subset of said plurality of database files in the NVRAM of said each computing node;
a database process on a first computing node of said plurality of computing nodes executing a query, wherein executing said query comprises;
determining that a first data block is stored in the NVRAM of a second computing node of said plurality of computing nodes;
issuing a RDMA read request to a first RDMA hardware mechanism on said first computing node to read said first data block from the NVRAM of the second computing node;
a second RDMA hardware mechanism on said second computing node retrieving said first data block from said NVRAM and transmitting said first data block to said first RDMA hardware mechanism;
said first RDMA hardware mechanism storing said first data block in a database buffer of pool of database buffers on said first computing node.
1 Assignment
0 Petitions
Accused Products
Abstract
A shared storage architecture persistently stores database files in non-volatile random access memories (NVRAMs) of computing nodes of a multi-node DBMS. The computing nodes of the multi-node DBMS not only collectively store database data on NVRAMs of the computing nodes, but also host database server instances that process queries in parallel, host database sessions and database processes, and together manage access to a database stored on the NVRAMs of the computing nodes. To perform a data block read operation from persistent storage, a data block may be transferred directly over a network between NVRAM of a computing node that persistently stores the data block to a database buffer in non-volatile RAM of another computing node that requests the data block. The transfer is accomplished using remote direct memory access (“RDMA).
286 Citations
20 Claims
-
1. A method, comprising:
-
storing a database in a plurality of database files in non-volatile random access memory (NVRAM), of a plurality of computing nodes in a multi-node database management system (DBMS), each computing node of said plurality of computing nodes hosting a database server instance; wherein each computing node of said plurality of computing nodes comprises NVRAM and stores a respective subset of said plurality of database files in the NVRAM of said each computing node; a database process on a first computing node of said plurality of computing nodes executing a query, wherein executing said query comprises; determining that a first data block is stored in the NVRAM of a second computing node of said plurality of computing nodes; issuing a RDMA read request to a first RDMA hardware mechanism on said first computing node to read said first data block from the NVRAM of the second computing node; a second RDMA hardware mechanism on said second computing node retrieving said first data block from said NVRAM and transmitting said first data block to said first RDMA hardware mechanism; said first RDMA hardware mechanism storing said first data block in a database buffer of pool of database buffers on said first computing node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. One or more non-transitory computer-readable media storing sequences of instructions that, when executed by one or more processors, cause:
-
storing a database in a plurality of database files in non-volatile random access memory (NVRAM) of a plurality of computing nodes in a multi-node database management system (DBMS), each computing node of said plurality of computing nodes hosting a database server instance; wherein each computing node of said plurality of computing nodes comprises NVRAM and stores a respective subset of said plurality of database files in the NVRAM of said each computing node; a database process on a first computing node of said plurality of computing nodes executing a query, wherein executing said query comprises; determining that a first data block is stored in the NVRAM of a second computing node of said plurality of computing nodes; issuing a RDMA read request to a first RDMA hardware mechanism on said first computing node to read said first data block from the NVRAM of the second computing node; a second RDMA hardware mechanism on said second computing node retrieving said first data block from said NVRAM and transmitting said first data block to said first RDMA hardware mechanism; said first RDMA hardware mechanism storing said first data block in a database buffer of pool of database buffers on said first computing node. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification