Range query capacity allocation
First Claim
Patent Images
1. A system for storing and retrieving data, the system comprising:
- a first computing node comprising a first one or more storage devices, the first one or more storage devices having stored thereon a first plurality of items corresponding to a first range of a table;
a second computing node comprising a second one or more storage devices, the second one or more storage devices having stored thereon a second plurality of items corresponding to a second range the table; and
one or more memories having stored thereon computer-readable instructions that, upon execution, cause the system at least to;
receive information indicative of a first amount of work performed by the first computing node, the first amount of work based at least in part on retrieving one or more items of the first plurality of items corresponding to the first range;
receive information indicative of a second amount of work performed by the second computing node, the second amount of work based at least in part on retrieving one or more items of the second plurality of items corresponding to the second range;
configure the system, based at least in part on determining that the first amount of work is greater than the second amount of work, to replicate at least one item in the first plurality of items by storing a version of the at least one item on a third computing node; and
process at least one request to retrieve the at least one item by accessing the version of the at least one item on the third computing node.
1 Assignment
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.
38 Citations
20 Claims
-
1. A system for storing and retrieving data, the system comprising:
-
a first computing node comprising a first one or more storage devices, the first one or more storage devices having stored thereon a first plurality of items corresponding to a first range of a table; a second computing node comprising a second one or more storage devices, the second one or more storage devices having stored thereon a second plurality of items corresponding to a second range the table; and one or more memories having stored thereon computer-readable instructions that, upon execution, cause the system at least to; receive information indicative of a first amount of work performed by the first computing node, the first amount of work based at least in part on retrieving one or more items of the first plurality of items corresponding to the first range; receive information indicative of a second amount of work performed by the second computing node, the second amount of work based at least in part on retrieving one or more items of the second plurality of items corresponding to the second range; configure the system, based at least in part on determining that the first amount of work is greater than the second amount of work, to replicate at least one item in the first plurality of items by storing a version of the at least one item on a third computing node; and process at least one request to retrieve the at least one item by accessing the version of the at least one item on the third computing node. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method for storing and retrieving data, the method comprising:
-
receiving, by a computer, information indicative of a first amount of work performed by a first computing node while processing requests to retrieve a first plurality of items corresponding to a first range of a table; receiving, by the computer, information indicative of a second amount of work performed by a second computing node while processing requests to retrieve a second plurality of items corresponding to a second range of the table; determining, based at least in part on the first amount of work being greater than the second amount of work, to replicate a first item of the first plurality of items by storing a version of the first item on a third computing node; and processing at least one request of a plurality of requests to retrieve the item by accessing the item on the third computing node. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium having stored thereon instructions that, upon execution by a computing device, cause the computing device at least to:
-
receive information indicative of a first amount of work performed by a first computing node while processing requests to retrieve a first plurality of items corresponding to a first range of a table; receive information indicative of a second amount of work performed by a second computing node while processing requests to retrieve a second plurality of items corresponding to a second range of the table; determine based at least in part on the first amount of work being greater than the second amount of work, to replicate a first item of the first plurality of items by storing a version of the first item on a third computing node; and determine to process at least one request to retrieve the item by accessing the item on the third computing node. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification