Range query capacity allocation
First Claim
Patent Images
1. A computer-implemented method, comprising:
- hosting a database on a plurality of groups of computing nodes, wherein;
individual data items in a table in the database are assigned to respective ones of a plurality of portions of the database according to respective primary key values of the individual data items, andindividual ones of the portions of the database are hosted by respective ones of the groups;
determining whether a first rate of read accesses to a first portion of the database exceeds a threshold value, the first portion hosted by a group in the plurality of groups;
in response to a determination that the first rate of read accesses exceeds the threshold value;
adding another computing node to the group as a read-only member of the group that does not accept requests to store new data items to the first portion; and
replicating the first portion of the database from one computing node in the group to the other computing node in the group;
subsequent to the replication, maintaining consistency of a committed state of the first portion of the database between the one computing node and the other computing node, including propagating data in the first portion from the one computing node to the other computing node; and
servicing at least one read request of a plurality of read requests to the group by using the replicated first portion of the database stored by the other computing node so that read workload targeted to the group is shared by the one computing node and the other computing node.
0 Assignments
0 Petitions
Accused Products
Abstract
Distributed database management systems may perform range queries over the leading portion of a primary key. Non-random distribution of data may improve performance related to the processing of range queries, but may tend to cause workload to be concentrated on particular partitions. Groups of partitions may be expanded and collapsed based on detection of disproportionate workload. Disproportionate write workload may be distributed among a group of partitions that can subsequently be queried using a federated approach. Disproportionate read workload may be distributed among a group of read-only replicated partitions.
41 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
hosting a database on a plurality of groups of computing nodes, wherein; individual data items in a table in the database are assigned to respective ones of a plurality of portions of the database according to respective primary key values of the individual data items, and individual ones of the portions of the database are hosted by respective ones of the groups; determining whether a first rate of read accesses to a first portion of the database exceeds a threshold value, the first portion hosted by a group in the plurality of groups; in response to a determination that the first rate of read accesses exceeds the threshold value; adding another computing node to the group as a read-only member of the group that does not accept requests to store new data items to the first portion; and replicating the first portion of the database from one computing node in the group to the other computing node in the group; subsequent to the replication, maintaining consistency of a committed state of the first portion of the database between the one computing node and the other computing node, including propagating data in the first portion from the one computing node to the other computing node; and servicing at least one read request of a plurality of read requests to the group by using the replicated first portion of the database stored by the other computing node so that read workload targeted to the group is shared by the one computing node and the other computing node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system, comprising:
one or more computing devices with respective processors and memories storing program instructions to; host a database on a plurality of groups of computing nodes, wherein; individual data items in a table in the database are assigned to respective ones of a plurality of portions of the database according to respective primary key values of the individual data items, and individual ones of the portions of the database are hosted by respective ones of the groups; determine whether a first rate of read accesses to a first portion of the database exceeds a threshold value, the first portion hosted by a group in the plurality of groups; in response to a determination that the first rate of read accesses exceeds the threshold value; add another computing node to the group as a read-only member of the group that does not accept requests to store new data items to the first portion; and replicate the first portion of the database from one computing node in the group to the other computing node in the group; subsequent to the replication, propagate data in the first portion from the one computing node to the other computing node to maintain consistency of a committed state of the first portion of the database between the one computing node and the other computing node; and service at least one read request of a plurality of read requests to the group by using the replicated first portion of the database stored by the other computing node so that read workload targeted to the group is shared by the one computing node and the other computing node. - View Dependent Claims (15, 16, 17)
-
18. One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors causes the one or more processors to:
-
determine whether a first rate of read accesses to a first portion of a database exceeds a threshold value, wherein; individual data items in a table in the database are assigned to respective ones of a plurality of portions of the database according to respective primary key values of the individual data items, and the first portion is hosted by one of a plurality of groups of computing nodes hosting respective ones of the portions of the database; in response to a determination that the first rate of read accesses exceeds the threshold value; add another computing node to the group as a read-only member of the group that does not accept requests to store new data items to the first portion; and replicate the first portion of the database from one computing node in the group to the other computing node in the group; subsequent to the replication, propagate data in the first portion from the one computing node to the other computing node to maintain consistency of a committed state of the first portion of the database between the one computing node and the other computing node; and service at least one read request of a plurality of read requests to the group by using the replicated first portion of the database stored by the other computing node so that read workload targeted to the group is shared by the one computing node and the other computing node. - View Dependent Claims (19, 20)
-
Specification