Data management and indexing across a distributed database
First Claim
Patent Images
1. A method of establishing a connection to a database node, the method comprising:
- receiving a connection request at a cluster manager from a requesting process;
querying a first hierarchical level of an index of a database system to receive a cluster and node configuration for the database system, wherein the query results in receipt of a first index response, and wherein querying the first hierarchical level of the index of the database system includes performing a query command on a first index node in a first index cluster;
determining whether the first index response includes a relevant pointer to a second hierarchical level of the index;
querying the second hierarchical level of the index to receive the cluster and node configuration for the database system when it is determined that the first index response includes the relevant pointer to the second hierarchical level, wherein querying the second hierarchical level of the index includes performing a query command on a second index node in a second index cluster, and wherein the first index cluster is different from the second index cluster;
determining a cluster/node topography for the database system based on the received cluster and node configuration;
assembling a connection list based on the cluster/node topography of the database system; and
connecting the requesting process to one or more of a specified database node and a specified database cluster based on the connection list.
5 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a distributed database system supporting flexible configuration of data clusters is disclosed. The system includes a cluster manager, an index, and a dataset distributed over one or more database clusters. Where the nodes of the clusters may report ownership of a particular range, the index contains an alternate range. The cluster manager receives requests to access a range of data within database and queries the index to determine the appropriate nodes and/or clusters with which to connect. The cluster manager then directs the requestor to connect to the specified nodes and/or clusters.
-
Citations
13 Claims
-
1. A method of establishing a connection to a database node, the method comprising:
-
receiving a connection request at a cluster manager from a requesting process; querying a first hierarchical level of an index of a database system to receive a cluster and node configuration for the database system, wherein the query results in receipt of a first index response, and wherein querying the first hierarchical level of the index of the database system includes performing a query command on a first index node in a first index cluster; determining whether the first index response includes a relevant pointer to a second hierarchical level of the index; querying the second hierarchical level of the index to receive the cluster and node configuration for the database system when it is determined that the first index response includes the relevant pointer to the second hierarchical level, wherein querying the second hierarchical level of the index includes performing a query command on a second index node in a second index cluster, and wherein the first index cluster is different from the second index cluster; determining a cluster/node topography for the database system based on the received cluster and node configuration; assembling a connection list based on the cluster/node topography of the database system; and connecting the requesting process to one or more of a specified database node and a specified database cluster based on the connection list. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of adding a node to a distributed database system, the method comprising:
-
receiving, from a computing device in a distributed database system, a trigger to add a new node to a distributed database system, wherein the trigger is received based at least in part on a determination by the computing device that the new node is needed; in response to the received trigger, determining whether the distributed database system benefits from creating a new cluster for the new node; creating index entries for the new node and the new cluster when it is determined that the distributed database system benefits from the new cluster; establishing the new node and the new cluster as part of the distributed database system, the new node being established within the new cluster; repartitioning keys within an index; moving data from an existing node to the new node established within the new cluster, based on a key range of the new node; and updating the index with the created index entries and the repartitioned keys. - View Dependent Claims (8, 9, 10)
-
-
11. A database system, comprising:
-
one or more processors; a plurality of database nodes; a cluster index; a cluster manager, implemented on the one or more processors, configured to; receive a connection request from a requesting process; query a first hierarchical level of the cluster index of the database system to receive a cluster and node configuration for the database system, wherein the query results in receipt of a first index response, and wherein the querying of the first hierarchical level of the cluster index of the database system includes performing a query command on a first index node in a first index cluster; determine whether the first index response includes a relevant pointer to a second hierarchical level of the cluster index; query the second hierarchical level of the cluster index to receive the cluster and node configuration for the database system when it is determined that the first index response includes the relevant pointer to the second hierarchical level, wherein querying the second hierarchical level of the index includes performing a query command on a second index node in a second index cluster, and wherein the first index cluster is different from the second index cluster; determine a cluster/node topography for the database system based on the received cluster and node configuration; assemble a connection list based on the cluster/node topography of the database system; and connect the requesting process to one or more of a specified database node and a specified database cluster based on the connection list. - View Dependent Claims (12, 13)
-
Specification