US 11,995,084 B1
Database system for querying time-series data stored in a tiered storage using a cloud platform
Gayathri Priyalakshmi Ayyappan, Pittsburgh, PA (US); Michael J. Freedman, Princeton, NJ (US); Samuel Gichohi, New York, NY (US); and Ildar Musan, Berlin (DE)
Assigned to Timescale, Inc., New York, NY (US)
Filed by Timescale, Inc., New York, NY (US)
Filed on Oct. 5, 2023, as Appl. No. 18/481,840.
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/2453 (2019.01); G06F 16/22 (2019.01)
CPC G06F 16/24542 (2019.01) [G06F 16/2264 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
storing, by a database system, a hypertable comprising a set of records having a plurality of attributes including a set of one or more dimension attributes, the hypertable representing a database table partitioned into a plurality of chunks along the set of dimension attributes, wherein the plurality of chunks include a first subset of chunks stored in a primary database storage and a second subset of chunks stored in a cloud storage, wherein chunks stored in the primary storage use a first database storage format and chunks stored in the cloud storage use a second database storage format;
moving chunks from the primary database storage to the cloud storage by repeatedly performing:
selecting one or more chunks from the first subset of chunks stored in the primary database storage,
transmitting the selected one or more chunks from the primary database storage to the cloud storage for adding to the second subset of chunks, and
deleting the selected one or more chunks from the primary database storage;
receiving a database query for accessing data stored in the hypertable;
executing the database query comprising:
determining a third subset of chunks from among the first subset of chunks based on the database query,
generating a first subset of results from the third subset of chunks stored in the primary database storage based on the database query,
determining a fourth subset of chunks from among the second subset of chunks based on the database query, and
generating a second subset of results from the fourth subset of chunks stored in the cloud storage based on the database query; and
sending a final result of the database query obtained by processing a combination of the first subset of results and the second subset of results.