Patent ID: 11934370
Assignee: AMAZON TECHNOLOGIES, INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 0:
1. A system, comprising:
one or more processors; and
one or more memories having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to implement:
a data store that stores a storage object containing keys and corresponding data values of data items and outputs a stream of updates made to the storage object;
a configuration system separate from the data store that receives a definition of an index for the storage object, wherein the definition includes (a) one or more indexing rules that specify a filtering or sorting criteria for the index and (b) a refresh configuration for the index;
an index store that hosts the index for the storage object, wherein the index includes at least a subset of the keys in the storage object, filtered or sorted based at least in part on the one or more indexing rules;
an indexing engine external to the data store that performs the following operations:
receive the stream of updates to the storage object;
determine, based at least in part on the filtering or sorting criteria for the index specified by the one or more indexing rules, that an update in the stream applies to the index; and
apply the update to the index based at least in part on the one or more indexing rules;

an index refresher that performs the following operations:
detect a refresh condition for the index based at least in part on the refresh configuration for the index, wherein the refresh configuration specifies (a) one or more refresh conditions for triggering executions of refresh operations on the index and (b) one or more timing parameters that impact a speed of triggered refresh operations; and
responsive to the detection of the refresh condition for the index, execute a refresh operation according to the one or more timing parameters, wherein the refresh operation causes the data store to place update records of at least a subset of data items in the storage object into the stream of updates; and
a query engine that performs queries on the storage object using the index.