NON-DISRUPTIVE DATA MOVEMENT AND NODE REBALANCING IN EXTREME OLTP ENVIRONMENTS
First Claim
1. A method for non-disruptive movement of data partitions in a data grid within a database environment, the method comprising:
- creating a time tag indicating the state of data at a point in time within a plurality of in-memory database (IMDB) system nodes organized as a data fabric of the data grid;
moving data pages from a plurality of source nodes to a plurality of destination nodes, wherein changes by applications to data pages on the plurality of source nodes are allowed during the moving;
propagating data changes from the plurality of source nodes to the plurality of destination nodes;
freezing data page changes on the plurality of source nodes;
instructing applications to perform future data page changes on the plurality of destination nodes; and
switching data page ownership to the plurality of destination nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for non-disruptive cache startup, shutdown, data partition movement, and node rebalancing for a data fabric within a data grid in a database environment. The data grid is a clustered in-memory database (IMDB) cache comprising one or more data fabrics including multiple IMDB cache nodes. The method takes a time tag and moves data from source to destination nodes while allowing updates to data on the source nodes. The method propagates updates occurring after the time tag to destination nodes from source nodes and switches applications and ownership to the destination nodes. Another method slices data for a partitioned fabric and stores slices on nodes. Another method starts a data fabric by moving data from a grid backend to the nodes. In an embodiment, another method rebalances nodes in a non-disruptive manner. When a fabric is shutdown, the method saves data from the nodes to the grid backend.
-
Citations
22 Claims
-
1. A method for non-disruptive movement of data partitions in a data grid within a database environment, the method comprising:
-
creating a time tag indicating the state of data at a point in time within a plurality of in-memory database (IMDB) system nodes organized as a data fabric of the data grid; moving data pages from a plurality of source nodes to a plurality of destination nodes, wherein changes by applications to data pages on the plurality of source nodes are allowed during the moving; propagating data changes from the plurality of source nodes to the plurality of destination nodes; freezing data page changes on the plurality of source nodes; instructing applications to perform future data page changes on the plurality of destination nodes; and switching data page ownership to the plurality of destination nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable storage medium having instructions stored thereon that, in response to execution by a computing device, cause the computing device to perform operations for performing a non-disruptive cache shutdown in a database environment, the operations comprising:
-
receiving a command to shutdown a data fabric within a data grid in the database environment; creating a time tag indicating the state of data at a point in time within a plurality of in-memory database (IMDB) system nodes organized as the data fabric; moving data pages from the plurality of IMDB system nodes to a disk resident database (DRDB), wherein changes by applications to data pages on the plurality of IMDB system nodes are allowed during the moving; propagating data changes from the plurality of IMDB system nodes to the DRDB; freezing data page changes on the plurality of IMDB system nodes; and shutting down the data fabric. - View Dependent Claims (12)
-
-
13. A computer program product comprising a non-transitory computer readable storage medium having computer program logic stored thereon that, in response to execution by a processor, causes the processor to perform a non-disruptive cache startup in a database environment by performing operations comprising:
-
receiving a command to startup a data fabric within a data grid in the database environment; reading metadata within the data grid indicating data partitions associated with the plurality of IMDB system nodes; moving data pages from a disk resident database (DRDB) to the plurality of IMDB system nodes, wherein changes by applications to data pages on the DRDB are allowed during the moving; propagating data changes from the DRDB to the plurality of IMDB system nodes; freezing data page changes on the DRDB; and instructing applications to perform future data page changes on the plurality of IMDB system nodes; and switching data page ownership to the plurality of IMDB system nodes. - View Dependent Claims (14, 15)
-
-
16. A system for rebalancing data fabric nodes within a data grid in a database environment, the system comprising:
-
a data fabric comprising at least one first in-memory database (IMDB) system node and at least one second IMDB system node, the at least one first IMDB system node and the at least one second IMDB system node organized as one or more data fabrics for storing data according to one or more data granularity types; a load determining module configured to determine load values for the at least one first IMDB system node and the at least one second IMDB system node, wherein the load determining module is further configured to identify, based on the load values, at least one more-loaded IMDB system node and at least one less-loaded IMDB system node and; a rebalancing module configured to move data slices from the at least one more-loaded IMDB system node of the at least one first IMDB system node and the at least one second IMDB system node to the at least one less-loaded IMDB system node to better distribute a data or processing load within the data fabric, wherein the rebalancing module is further configured to allow applications to update data pages on the at least one more-loaded IMDB system node during the moving; an update catch-up module configured to propagate data changes occurring during the moving tag from the at least one more-loaded IMDB system node to the at least one less-loaded IMDB system node; and a switching module configured to; instruct applications to perform future data page changes on at least one less-loaded IMDB system node; and switch data page ownership to the at least one less-loaded IMDB system node. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
Specification