Distributed data management system
First Claim
1. A method comprising:
- storing, in a global data structure in at least one database management node of a plurality database management nodes of a distributed data management system, data entries mapping each logical data store of a plurality of logical data stores to a corresponding one of the database management nodes in which the logical data store is stored;
storing a data object in a first logical data store of the logical data stores, wherein the first logical data store corresponds to a key value of the data object, and wherein the first logical data store corresponds to a first database management node;
and upon adding a new database management node to the distributed data management system, performing rebalancing actions, the rebalancing actions comprising;
determining that the first data management node is a fullest node storing most data among the plurality database management nodes;
in response to the determining, sending requests from the first database management node to one or more of the database management nodes and the new database management node to determine whether anyone of the database management nodes and the new database management node has memory to accommodate the first logical data store;
receiving a reply by the first database management node and from the new database management node, the reply affirming that the new database management node has memory to accommodate the first logical data store;
migrating the first logical data store from the first database management node to the new database management node to rebalance memory consumption among the new database management node and the database management nodes; and
upon completion of the migrating, updating the data entries in the global data structure to map the first logical database to the new database management node, wherein, during performance of the rebalance actions, the data management system allows concurrent and non-blocking access to data objects stored in other logical data stores that are not involved in the migration and blocks access to the first logical data store.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed data management system has multiple virtual machine nodes operating on multiple computers that are in communication with each other over a computer network. Each virtual machine node includes at least one data store or “bucket” for receiving data. A digital hash map data structure is stored in a computer readable medium of at least one of the multiple computers to configure the multiple virtual machine nodes and buckets to provide concurrent, non-blocking access to data in the buckets, the digital hash map data structure including a mapping between the virtual machine nodes and the buckets. The distributed data management system employing dynamic scalability in which one or more buckets from a virtual machine node reaching a memory capacity threshold are transferred to another virtual machine node that is below its memory capacity threshold.
9 Citations
20 Claims
-
1. A method comprising:
-
storing, in a global data structure in at least one database management node of a plurality database management nodes of a distributed data management system, data entries mapping each logical data store of a plurality of logical data stores to a corresponding one of the database management nodes in which the logical data store is stored; storing a data object in a first logical data store of the logical data stores, wherein the first logical data store corresponds to a key value of the data object, and wherein the first logical data store corresponds to a first database management node; and upon adding a new database management node to the distributed data management system, performing rebalancing actions, the rebalancing actions comprising; determining that the first data management node is a fullest node storing most data among the plurality database management nodes; in response to the determining, sending requests from the first database management node to one or more of the database management nodes and the new database management node to determine whether anyone of the database management nodes and the new database management node has memory to accommodate the first logical data store; receiving a reply by the first database management node and from the new database management node, the reply affirming that the new database management node has memory to accommodate the first logical data store; migrating the first logical data store from the first database management node to the new database management node to rebalance memory consumption among the new database management node and the database management nodes; and upon completion of the migrating, updating the data entries in the global data structure to map the first logical database to the new database management node, wherein, during performance of the rebalance actions, the data management system allows concurrent and non-blocking access to data objects stored in other logical data stores that are not involved in the migration and blocks access to the first logical data store. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium storing instructions that, when executed, cause a plurality of computers in communication with each other over a computer network to perform operations comprising:
-
storing, in a global data structure in at least one database management node of a plurality database management nodes of a distributed data management system, data entries mapping each logical data store of plurality of logical data store to a corresponding one of the database management nodes in which the logical data store is stored; storing a data object in a first logical data store of the logical data stores, wherein the first logical data store corresponds to a key value of the data object, and wherein the first logical data store corresponds to a first database management node; and upon adding a new database management node to the distributed data management system, performing rebalancing actions, the rebalancing actions comprising; determining that the first data management node is a fullest node storing most data among the plurality database management nodes; in response to the determining, sending requests from the first database management node to one or more of the database management nodes and the new database management node to determine whether anyone of the database management nodes and the new database management node has memory to accommodate the first logical data store; receiving a reply by the first database management node and from the new database management node, the reply affirming that the new database management node has memory to accommodate the first logical data store; migrating the first logical data store from the first database management node to the new database management node to rebalance memory consumption among the new database management node and the database management nodes; and upon completion of the migrating, updating the data entries in the global data structure to map the first logical database to the new database management node, wherein, during performance of the rebalance actions, the data management system allows concurrent and non-blocking access to data objects stored in other logical data stores that are not involved in the migration and blocks access to the first logical data store. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A distributed data management system comprising:
-
a plurality of computers, each computer including a memory and in communication with each other over a computer network; and a non-transitory computer-readable storage medium storing instructions that, when executed, cause the computers to perform operations comprising; storing, in a global data structure in at least one database management node of a plurality database management nodes of a distributed data management system, data entries mapping each logical data store of a plurality of logical data stores to a corresponding one of the database management nodes in which the logical data store is stored; storing a data object in a first logical data store of the logical data stores, wherein the first logical data store corresponds to a key value of the data object, and wherein the first logical data store corresponds to a first database management node; and upon adding a new database management node to the distributed data management system, performing rebalancing actions, the rebalancing actions comprising; determining that the first data management node is a fullest node storing most data among the plurality database management nodes; in response to the determining, sending requests from the first database management node to one or more of the database management nodes and the new database management node to determine whether anyone of the database management nodes and the new database management node has memory to accommodate the first logical data store; receiving a reply by the first database management node and from the new database management node, the reply affirming that the new database management node has memory to accommodate the first logical data store; migrating the first logical data store from the first database management node to the new database management node to rebalance memory consumption among the new database management node and the database management nodes; and upon completion of the migrating, updating the data entries in the global data structure to map the first logical database to the new database management node, wherein, during performance of the rebalance actions, the data management system allows concurrent and non-blocking access to data objects stored in other logical data stores that are not involved in the migration and blocks access to the first logical data store. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification