Abstract:
One or more table partitions may communicate with an index partition that may be a master of a replication group. A communications channel may exist between table partitions and the index partition. Upon splitting the index partition, communications between the table partitions and the index partition may be suspended. Upon completion of the split, communications may be reestablished between the table partitions and a partition, of the replication group of index partitions, designated to be a master following the split. Messages accumulated by the table partitions during the split may be sent to the index partition upon reestablishing communications.
Abstract:
Methods and apparatus for equitable distribution of excess shared-resource throughput capacity are disclosed. A first and a second work target are configured to access a shared resource to implement accepted work requests. Admission control is managed at the work targets using respective token buckets. A first metric indicative of the work request arrival rates at the work targets during a time interval, and a second metric associated with the provisioned capacities of the work targets are determined. A number of tokens determined based on a throughput limit of the shared resource is distributed among the work targets to be used for admission control during a subsequent time interval. The number of tokens distributed to each work target is based on the first metric and/or the second metric.
Abstract:
A database service may maintain tables on behalf of clients and may provision throughput capacity for those tables. A table may be divided into multiple partitions, according to hash of the primary key values for each of the items in the table, and the items in the table may be accessed using the hash of their primary key values. Provisioned throughput capacity for the table may be divided between the partitions and used in servicing requests directed to items in the table. The service (or underlying system) may provide mechanisms for generating skew-related metrics or reports and presenting them to clients via a graphical user interface (GUI). The metrics and reports may indicate the amount of uniformity or skew in the distribution of requests across the key space for the table using histograms, heat maps, or other representations. Clients may initiate actions to correct any skewing via the GUI.
Abstract:
A distributed data storage system may implement determining indexing progress for a table stored in the distributed data storage system. A table may be stored in multiple table partitions. When a secondary index is created for the table, each partition may independently index the items stored within the table partition in order to identify those items in the partition that should be stored in the secondary index. During creation of the secondary index, creation progress points that indicate the progress of the indexing across the table partitions may be determined. The creation progress points may be provided via a programmatic, textual, or graphical interface to the distributed data storage system.
Abstract:
One or more table partitions may communicate with an index partition that may be a master of a replication group. A communications channel may exist between table partitions and the index partition. Upon splitting the index partition, communications between the table partitions and the index partition may be suspended. Upon completion of the split, communications may be reestablished between the table partitions and a partition, of the replication group of index partitions, designated to be a master following the split. Messages accumulated by the table partitions during the split may be sent to the index partition upon reestablishing communications.
Abstract:
Methods and apparatus for token-based admission control for replicated writes are disclosed. Data objects are divided into partitions, and corresponding to each partition, at least a master replica and a slave replica are stored. A determination as to whether to accept a write request directed to the partition is made based at least in part on one or more of (a) available throughput capacity at the master replica, and (b) an indication, obtained using a token-based protocol, of available throughput capacity at the slave replica. If the write request is accepted, one or more data modification operations are initiated.
Abstract:
Methods and apparatus for equitable distribution of excess shared-resource throughput capacity are disclosed. A first and a second work target are configured to access a shared resource to implement accepted work requests. Admission control is managed at the work targets using respective token buckets. A first metric indicative of the work request arrival rates at the work targets during a time interval, and a second metric associated with the provisioned capacities of the work targets are determined. A number of tokens determined based on a throughput limit of the shared resource is distributed among the work targets to be used for admission control during a subsequent time interval. The number of tokens distributed to each work target is based on the first metric and/or the second metric.
Abstract:
Methods and apparatus for compound token buckets usable for burst-mode admission control are disclosed. A peak burst rate and a sustained burst rate of work requests that are to be supported at a work target are determined. The maximum token populations of a peak-burst token bucket and a sustained-burst token bucket are configured, based on the peak burst rate and the sustained burst rate respectively. In response to receiving a work request directed at the work target, a determination to accept the work request for execution is made based at least in part on the token population of the peak-burst token bucket and/or the sustained-burst token bucket.
Abstract:
Partitions of a hosted computing service may be maintained on a computing node. Processing of requests to access the partition may be limited to constrain capacity utilization to a provisioned amount of capacity reserved for the partition. A second, additional amount of capacity may be associated with the partition and may reflect potential future changes to the provisioned amount of capacity. A sum of provisioned and additional capacities associated with partitions on a computing node may be calculated. The computing node may be ranked, relative to other computing nodes, for maintaining new or relocated partitions based on the sum.
Abstract:
Partitions of a hosted computing service may be maintained on a computing node. Processing of requests to access the partition may be limited to constrain capacity utilization to a provisioned amount of capacity reserved for the partition. A second, additional amount of capacity may be associated with the partition and may reflect potential future changes to the provisioned amount of capacity. A sum of provisioned and additional capacities associated with partitions on a computing node may be calculated. The computing node may be ranked, relative to other computing nodes, for maintaining new or relocated partitions based on the sum.