Scalable database management software on a cluster of nodes using a shared-distributed flash memory
First Claim
1. A non-transitory computer-readable storage medium storing computer-executable programs, which when executed on a computing device manages a distributed database stored across multiple nodes of flash memory, the computer-executable programs comprising:
- query processing software for processing a database query, the database query specifying a target database record in a database;
table reader software for reading the target database record from a local buffer cache when a hit occurs, the local buffer cache storing cached database records in volatile memory;
table writer software for writing to the target database record in the local buffer cache when a hit occurs and the target database record is in the local buffer cache;
Sharing Data Fabric (SDF) thread software, activated by a GET command from the table reader software when the hit does not occur in the local buffer cache, for sending a request message over an interconnect from a first node to a target storage node in a plurality of nodes, and for identifying the target storage node using an identifier of the target database record;
storage thread software, for reading a requested database record from the flash memory at the first node, and for sending the requested database record over the interconnect to the SDF thread software on another node of the multiple nodes; and
miss loader software, in the SDF thread software, for receiving the target database record from the target storage node over the interconnect, and for writing the target database record into the local buffer cache, and for activating the table reader software to read the target database record as a hit,whereby the target database record is retrieved from the target storage node using the SDF thread software transparently to the table reader software.
3 Assignments
0 Petitions
Accused Products
Abstract
A distributed database system has multiple compute nodes each running an instance of a database management system (DBMS) program that accesses database records in a local buffer cache. Records are persistently stored in distributed flash memory on multiple storage nodes. A Sharing Data Fabric (SDF) is a middleware layer between the DBMS programs and the storage nodes and has API functions called by the DBMS programs when a requested record is not present in the local buffer cache. The SDF fetches the requested record from flash memory and loads a copy into the local buffer cache. The SDF has threads on a home storage node that locate database records using a node map. A global cache directory locks and pins records to local buffer caches for updating by a node'"'"'s DBMS program. DBMS operations are grouped into transactions that are committed or aborted together as a unit.
-
Citations
6 Claims
-
1. A non-transitory computer-readable storage medium storing computer-executable programs, which when executed on a computing device manages a distributed database stored across multiple nodes of flash memory, the computer-executable programs comprising:
-
query processing software for processing a database query, the database query specifying a target database record in a database; table reader software for reading the target database record from a local buffer cache when a hit occurs, the local buffer cache storing cached database records in volatile memory; table writer software for writing to the target database record in the local buffer cache when a hit occurs and the target database record is in the local buffer cache; Sharing Data Fabric (SDF) thread software, activated by a GET command from the table reader software when the hit does not occur in the local buffer cache, for sending a request message over an interconnect from a first node to a target storage node in a plurality of nodes, and for identifying the target storage node using an identifier of the target database record; storage thread software, for reading a requested database record from the flash memory at the first node, and for sending the requested database record over the interconnect to the SDF thread software on another node of the multiple nodes; and miss loader software, in the SDF thread software, for receiving the target database record from the target storage node over the interconnect, and for writing the target database record into the local buffer cache, and for activating the table reader software to read the target database record as a hit, whereby the target database record is retrieved from the target storage node using the SDF thread software transparently to the table reader software. - View Dependent Claims (2, 3, 4)
-
-
5. A transactional distributed database system comprising:
-
a plurality of compute nodes; a plurality of database management system (DBMS) programs executing on a plurality of processors on the plurality of compute nodes, each DBMS program receiving database queries from clients that identify target data items in a database; a plurality of storage nodes each having a non-volatile memory that stores a portion of the database, wherein the database is partitioned across the plurality of storage nodes; wherein the non-volatile memory is a solid-state memory that retains data when power is disconnected; an interconnect that passes messages between the plurality of compute nodes and the plurality of storage nodes; and a plurality of Sharing Data Fabric (SDF) threads executing on the plurality of processors on the plurality of compute nodes, a SDF thread being activated by a respective DBMS program of the plurality of DBMS programs when the target data items are not present in a local buffer cache, the SDF thread identifying a target storage node in the plurality of storage nodes, the target storage node being a home node that persistently stores the target data items, the SDF thread sending a request message to the target storage node; wherein each storage node further comprises a processor executing a storage thread, the storage thread reading the target data items from the non-volatile memory in response to the request message received over the interconnect, the storage thread sending the target data items over the interconnect in a reply message sent in response to the request message; wherein each of the plurality of DBMS programs operates in a shared address space that includes the database stored on the plurality of storage nodes, the plurality of SDF threads transparently accessing data items stored on the plurality of storage nodes. - View Dependent Claims (6)
-
Specification