Implicit prioritization to rate-limit secondary index creation for an online table
First Claim
1. A system, comprising:
- at least one processor;
a memory, storing program instructions that when executed by the at least one processor cause the at least one processor to implement a storage host for a data store;
the storage host, configured to;
receive a request to create a secondary index for a table stored in the data store, wherein the table is available for servicing access requests using a primary key, and wherein the secondary index provides an alternative access schema for the table in addition to the primary key;
in response to receipt of the request, incrementally perform a plurality of indexing operations to create the secondary index while the table remains available for servicing access requests using the primary key, wherein to incrementally perform the indexing operations, the storage engine is configured to;
prior to performance of individual ones of the indexing operations;
verify that utilization of available capacity to perform the indexing operation is within a capacity limitation for performance of the indexing operations, wherein the capacity limitation is a portion of a total capacity of a storage device that stores at least a portion of the table to process access requests directed to the storage device;
in response to a determination that the utilization of the available capacity to perform the indexing operation exceeds the capacity limitation, throttle performance of the indexing operation; and
wherein at least one of the indexing operations is throttled.
1 Assignment
0 Petitions
Accused Products
Abstract
A data storage system may implement implicit prioritization to rate-limit secondary index creation for an online table. A secondary index may be generated for a table stored in a data store. The table may be incrementally indexed, performing multiple indexing operations to populate the secondary index. Prior to performing an indexing operation, an evaluation of a capacity limitation for performing indexing operations may be made with respect to capacity to process access requests at the data store. If a determination is made that performance of the indexing operation exceeds the capacity limitation, then the indexing operation may be throttled. If a determination is made that performance of the indexing operation does not exceed the capacity limitation, then the indexing operation may be performed.
-
Citations
20 Claims
-
1. A system, comprising:
-
at least one processor; a memory, storing program instructions that when executed by the at least one processor cause the at least one processor to implement a storage host for a data store; the storage host, configured to; receive a request to create a secondary index for a table stored in the data store, wherein the table is available for servicing access requests using a primary key, and wherein the secondary index provides an alternative access schema for the table in addition to the primary key; in response to receipt of the request, incrementally perform a plurality of indexing operations to create the secondary index while the table remains available for servicing access requests using the primary key, wherein to incrementally perform the indexing operations, the storage engine is configured to; prior to performance of individual ones of the indexing operations; verify that utilization of available capacity to perform the indexing operation is within a capacity limitation for performance of the indexing operations, wherein the capacity limitation is a portion of a total capacity of a storage device that stores at least a portion of the table to process access requests directed to the storage device; in response to a determination that the utilization of the available capacity to perform the indexing operation exceeds the capacity limitation, throttle performance of the indexing operation; and wherein at least one of the indexing operations is throttled. - View Dependent Claims (2, 3, 4)
-
-
5. A method, comprising:
performing, by one or more computing devices; performing a plurality of indexing operations to generate a secondary index for a table stored in a data store, wherein the table is available for servicing access requests using a primary key, and wherein the secondary index provides an alternative access schema for the table in addition to the primary key, performing the plurality of indexing operations comprising; prior to performing at least one indexing operation; evaluating a capacity limitation for performing the indexing operations with respect to a capacity of the data store to process access requests; determining, according to the evaluation, that performing the at least one indexing operation exceeds the capacity limitation; and in response to determining that performing the at least one indexing operation exceeds the capacity limitation, throttling performance of the at least one indexing operation. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13)
-
14. A non-transitory, computer-readable storage medium, storing program instructions that when executed by one or more computing devices cause the one or more computing devices to implement:
performing a plurality of indexing operations to generate a secondary index for a table stored in a data store, wherein the table is available for servicing access requests using a primary key, and wherein the secondary index provides an alternative access schema for the table in addition to the primary key, performing the plurality of indexing operations comprising; prior to performing at least one indexing operation; verifying that utilization of available capacity to perform the at least one indexing operation is within a capacity limitation for performance of the indexing operations, wherein the capacity limitation is a portion of a total capacity of the data store to process access requests; determining, according to the verification, that the utilization of the available capacity to perform the at least one indexing operation exceeds the capacity limitation; and in response to determining that the utilization of the available capacity to perform the indexing operation exceeds the capacity limitation, throttling performance of the at least one indexing operation. - View Dependent Claims (15, 16, 17, 18, 19, 20)
Specification