Efficient buffer pool page pre-fetching for database clusters
AssigneeCodership Oy
InventorsSeppo Jaakola, Teemu Ollakka, Alexey Yurchenko
Life of this patent
Estimating the term…
Abstract
A method for use in a database cluster is provided. A first transaction is received at a first node of the database cluster. A page pre-fetch request corresponding to the first transaction is generated whilst executing the first transaction at the first node. The page pre-fetch request is indicative of at least one database page that is referenced by the first transaction. Moreover, the page pre-fetch request is added to a replication write-set of a second transaction at the first node. Subsequently, the replication write-set of the second transaction, along with the page pre-fetch request, is communicated to a second node of the database cluster.
Claims23
A method for use in a database cluster, wherein the database cluster comprises a plurality of nodes, the method comprising:
- receiving a first transaction at a first node of the database cluster;
- generating a page pre-fetch request corresponding to the first transaction whilst executing the first transaction at the first node, wherein the page pre-fetch request is indicative of at least one database page that is referenced by the first transaction;
- adding the page pre-fetch request to a replication write-set of a second transaction at the first node;
- and
- communicating the replication write-set of the second transaction, along with the page pre-fetch request, to a second node of the database cluster.
A method for use in a database cluster, wherein the database cluster comprises a plurality of nodes, the method comprising:
- receiving, at a second node of the database cluster, a page pre-fetch request corresponding to a first transaction along with a replication write-set of a second transaction;
- determining, from the page pre-fetch request, at least one database page that is referenced by the first transaction;
- determining whether or not the at least one database page already exists in a buffer pool at the second node;
- and
- pre-fetching the at least one database page into the buffer pool when the at least one database page does not exist in the buffer pool.
A computing apparatus comprising:
- a processor;
- a memory coupled to the processor;
- and
- a network interface coupled to the processor,
- wherein the processor is configured to:
- receive a first transaction;
- generate a page pre-fetch request corresponding to the first transaction whilst executing the first transaction, wherein the page pre-fetch request is indicative of at least one database page that is referenced by the first transaction;
- add the page pre-fetch request to a replication write-set of a second transaction;
- and
- communicate the replication write-set of the second transaction, along with the page pre-fetch request, to at least one node of a database cluster.
A computing apparatus comprising:
- a processor;
- a memory coupled to the processor;
- and
- a network interface coupled to the processor,
- wherein the processor is configured to:
- receive a page pre-fetch request corresponding to a first transaction along with a replication write-set of a second transaction;
- determine, from the page pre-fetch request, at least one database page that is referenced by the first transaction;
- determine whether or not the at least one database page already exists in a buffer pool;
- and
- pre-fetch the at least one database page into the buffer pool when the at least one database page does not exist in the buffer pool.
A computer program product comprising a non-transitory machine-readable data storage medium having stored thereon program instructions that, when accessed by a processing device of a database cluster, cause the processing device to:
- receive a first transaction;
- generate a page pre-fetch request corresponding to the first transaction whilst executing the first transaction, wherein the page pre-fetch request is indicative of at least one database page that is referenced by the first transaction;
- add the page pre-fetch request to a replication write-set of a second transaction;
- and
- communicate the replication write-set of the second transaction, along with the page pre-fetch request, to at least one node of the database cluster.
Dependencies are inferred from the claim text.