SYSTEM AND METHOD FOR IMPLEMENTING A SCALABLE DATA STORAGE SERVICE
0 Assignments
0 Petitions
Accused Products
Abstract
A system that implements a scalable data storage service may maintain tables in a non-relational data store on behalf of clients. The system may provide a Web services interface through which service requests are received, and an API usable to request that a table be created, deleted, or described; that an item be stored, retrieved, deleted, or its attributes modified; or that a table be queried (or scanned) with filtered items and/or their attributes returned. An asynchronous workflow may be invoked to create or delete a table. Items stored in tables may be partitioned and indexed using a simple or composite primary key. The system may not impose pre-defined limits on table size, and may employ a flexible schema. The service may provide a best-effort or committed throughput model. The system may automatically scale and/or re-partition tables in response to detecting workload changes, node failures, or other conditions or anomalies.
-
Citations
55 Claims
-
1-35. -35. (canceled)
-
36. A system, comprising:
-
a plurality of computing nodes, each comprising at least one processor and memory, that collectively implement a data storage service that provides a network-based interface through which service requests are received, wherein the data storage service comprises a plurality of storage nodes that collectively implement a non-relational data store; the data storage service is configured to, in response to receipt of a service request to create a table on behalf of a storage service client, and wherein the service request specifies a committed throughput level for servicing requests directed to the table, allocate resources for the table at one or more of the plurality of storage nodes in the non-relational data store in order to create the table, wherein the allocated resources are sufficient for the table to meet the specified committed throughput level; and the data storage service is configured to, subsequent to the allocation of resources for the table, modify the resources allocated to the table in response to receiving a request to modify the committed throughput level for the table. - View Dependent Claims (37, 38, 39, 40, 41, 42)
-
-
43. A method, comprising:
performing, by one or more computing devices; receiving a request to create a table in a non-relational data store, wherein the request specifies a committed throughput level for servicing requests directed to the table, wherein the request is formatted according to a programmatic interface for the non-relational data store; and in response to said receiving; allocating resources for the table at one or more of a plurality of storage nodes implemented as part of the non-relational data store in order to create the table, wherein the allocated resources are sufficient for the table to meet the specified committed throughput level; and subsequent to the allocation of resources for the table, modifying the resources allocated to the table in response to receiving a request to modify the committed throughput level for the table. - View Dependent Claims (44, 45, 46, 47, 48, 49)
-
50. A non-transitory, computer-readable storage medium, comprising program instructions that when executed by one or more computing devices causing the one or more computing devices to implement:
-
receiving a request to create a table in a non-relational data store, wherein the request specifies a committed throughput level for servicing requests directed to the table, wherein the request is formatted according to a programmatic interface for the non-relational data store; and in response to said receiving; allocating resources for the table at one or more of a plurality of storage nodes implemented as part of the non-relational data store in order to create the table, wherein the allocated resources are sufficient for the table to meet the specified committed throughput level; and subsequent to the allocation of resources for the table, modifying the resources allocated to the table in response to receiving a request to modify the committed throughput level for the table. - View Dependent Claims (51, 52, 53, 54, 55)
-
Specification