Scalable metadata index for a time-series database
AssigneeAmazon Technologies, Inc.
InventorsJames Christopher Sorenson, Dumanshu Goyal
Life of this patent
Estimating the term…
Loading patent…
AssigneeAmazon Technologies, Inc.
InventorsJames Christopher Sorenson, Dumanshu Goyal
Estimating the term…
Methods, systems, and computer-readable media for a scalable metadata index for a time-series database are disclosed. A time-series database receives a query comprising spatial and temporal boundaries of requested time-series data in a table. Using traversal of a metadata index, the time-series database determines one or more storage locations in the one or more data sources corresponding to the spatial and temporal boundaries. The metadata index includes a root node representing spatial and temporal boundaries of the table. The metadata index includes one or more leaf nodes representing the spatial and temporal boundaries of the requested time-series data. The one or more leaf nodes indicate the one or more storage locations in the one or more data sources. The time-series database obtains one or more elements of the requested time-series data from the one or more storage locations in the one or more data sources.
A system, comprising:
A method, comprising:
One or more non-transitory computer-readable storage media storing program instructions that, when executed on or across one or more processors, perform:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
No related US applications are recorded in the indexed filing history.
Indexing; Data structures therefor; Storage structures: tablespace storage structures; Management thereof
Of structured data, e.g. relational data: indexing; Data structures therefor; Storage structures
Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries: temporal data queries
Of structured data, e.g. relational data: replication, distribution or synchronisation of data between databases or within a distributed database…
About 13 years 11 months of term left · ends 22 Sep 2040 (estimated)
Many companies and other organizations operate computer networks that interconnect numerous computing systems to support their operations, such as with the computing systems being co-located (e.g., as part of a local network) or instead located in multiple distinct geographical locations (e.g., connected via one or more private or public intermediate networks). For example, distributed systems housing significant numbers of interconnected computing systems have become commonplace. Such distributed systems may provide back-end services or systems that interact with clients. For example, such distributed systems may provide database systems to clients. As the scale and scope of database systems have increased, the tasks of provisioning, administering, and managing system resources have become increasingly complicated. For example, the costs to search, analyze, and otherwise manage data sets can increase with the size and scale of the data sets.
FIG. 1 illustrates an example system environment for a distributed time-series database including a scalable metadata index, according to some embodiments.
FIG. 2 illustrates an example of hierarchical clustering of ingested time-series data in a distributed time-series database including a scalable metadata index, according to some embodiments.
FIG. 3 illustrates an example of storage of time-series data using two-dimensional tiles in a hot tier in a distributed time-series database including a scalable metadata index, according to some embodiments.
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning “having the potential to”), rather than the mandatory sense (i.e., meaning “must”). Similarly, the words “include,” “including,” and “includes” mean “including, but not limited to.”
Embodiments of methods, systems, and computer-readable media for a scalable metadata index for a time-series database are described. A distributed time-series database hosted in the cloud may offer high availability and high throughput for both ingestion and queries of time-series data on behalf of multiple clients. The time-series database may include a set of ingestion routers that receive and spatially partition time-series data into a set of non-overlapping partitions. A particular time series may be defined by a schema that includes components such as one or more dimension names and a measure name. The time-series database may further include a set of storage nodes that process the partitioned time-series data. For example, the storage nodes may write elements of time-series data to one or more storage tiers, such as a “hot” tier that offers low-latency and high-availability write and read access to a set of distributed storage resources (e.g., as implemented using database clusters). In the hot tier, time-series data may be stored in two-dimensional tiles which are defined by spatial and temporal boundaries. The time-series database may further include a set of query processors that perform queries of the time-series data in the one or more storage tiers.
To maintain high availability and high throughput for ingestion of time-series data, the time-series database may use a metadata index to identify the locations to which incoming time-series data points within particular time and space ranges are routed. Similarly, to maintain high availability and high throughput for queries of time-series data, the time-series database may use a metadata index to identify the locations to which queries for particular time and space ranges are routed. The metadata index may be maintained by a centralized service that authoritatively, consistently, and durably stores the locations and metadata of time-series data. The metadata index may be highly scalable and highly available. In some embodiments, the metadata index may support fast lookups (e.g., millisecond lookups) for billions of two-dimensional tiles and trillions of ingested data points per day. The metadata index may be built on a data store (e.g., a NoSQL data store) that provides scalability and durability, and the metadata index may distribute workload heat evenly across a caching fleet associated with the underlying data store.