IP Library › Granted Patent US 11,762,853
Granted Patent B2
US 11,762,853 · App. 16/517,328 · Granted Sep 19, 2023

Querying a variably partitioned time series database

Inventor: Clement Pang (Sunnyvale, CA)
Assignee: VMware, Inc.
G06F16/24535G06F16/2455G06F16/2456G06F16/2474
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,762,853
App. No.
16/517,328
Granted
Sep 19, 2023
Kind
B2
Abstract

In a computer-implemented method for querying a variably partitioned time series database, a query of a time series database is received, the query including a time range and a predicate comprising at least one dimension, wherein the time series database comprises a plurality of time series database schemas. At least one time series database schema of the time series database corresponding to the time range is determined. The query is divided into a plurality of sub-queries, wherein each sub-query of the plurality of sub-queries corresponds to one time series database schema of the plurality of time series database schemas. The plurality of sub-queries is executed to return a plurality of results.

Claims (52)

1. A method for querying a variably partitioned time series database, the method comprising:

receiving a query of a time series database, the query comprising a query time range and a predicate comprising at least one dimension, wherein the time series database comprises a plurality of time series database schemas, wherein the plurality of time series database schemas are associated with data points ingested over adjacent and non-overlapping time ranges, and wherein at least one time series database schema of the plurality of time series database schemas is a variable schema such that the at least one time series database schema varies over time;

determining at least one time series database schema of the time series database corresponding to the query time range;

dividing the query into a plurality of sub-queries, wherein each sub-query of the plurality of sub-queries corresponds to a temporally adjacent portion of the query time range and to one time series database schema of the plurality of time series database schemas; and

executing the plurality of sub-queries to return a plurality of results.

2. The method of claim 1 , further comprising:

joining the plurality of results into a combined result.

3. The method of claim 1 , wherein the dividing the query into a plurality of queries comprises:

dividing the query into a first sub-query and a second sub-query, wherein the first sub-query corresponds to a first time series database schema of the plurality of time series database schemas and the predicate comprises a first dimension, and wherein the second sub-query corresponds to a second time series database schema of the plurality of time series database schemas and the predicate comprises a second dimension different than the first dimension.

4. The method of claim 1 , wherein the time series database comprises a single time series database schema for each time instance.

5. The method of claim 1 , wherein the time series database comprises multiple time series database schemas for at least one time instance.

6. The method of claim 5 , wherein the determining the at least one time series database schema of the time series database corresponding to the query time range comprises:

determining which of the multiple time series database schemas correspond to the query time range;

determining temporally adjacent portions of the query time range for which the multiple time series database schemas are constant; and

for each temporally adjacent portion of the query time range, selecting a time series database schema of the multiple time series database schemas on which to execute the query.

7. The method of claim 6 , wherein the selecting a time series database schema of the multiple time series database schemas on which to execute the query comprises:

selecting the time series database schema of the multiple time series database schemas for each temporally adjacent portion that provides a highest yield.

8. The method of claim 6 , wherein the selecting a time series database schema of the multiple time series database schemas on which to execute the query comprises:

selecting the time series database schema of the multiple time series database schemas according to the at least one dimension of the query.

9. The method of claim 6 , wherein the dividing the query into the plurality of sub-queries comprises:

dividing the query into the plurality of sub-queries, each sub-query of the plurality of sub-queries corresponding to one temporally adjacent portion of the query time range and one time series database schema.

10. A non-transitory computer readable storage medium having computer readable program code stored thereon for causing a computer system to perform a method for querying a variably partitioned time series database, the method comprising:

receiving a query of a time series database, the query comprising a query time range and a predicate comprising at least one dimension, wherein the time series database comprises a plurality of time series database schemas, wherein the plurality of time series database schemas are associated with data points ingested over adjacent and non-overlapping time ranges, and wherein at least one time series database schema of the plurality of time series database schemas is a variable schema such that the at least one time series database schema varies over time;

determining at least one time series database schema of the time series database corresponding to the query time range;

dividing the query into a plurality of sub-queries, wherein each sub-query of the plurality of sub-queries corresponds to a temporally adjacent portion of the query time range and to one time series database schema of the plurality of time series database schemas; and

executing the plurality of sub-queries to return a plurality of results.

11. The non-transitory computer readable storage medium of claim 10 , the method further comprising:

joining the plurality of results into a combined result.

12. The non-transitory computer readable storage medium of claim 10 , wherein the dividing the query into a plurality of queries comprises:

dividing the query into a first sub-query and a second sub-query, wherein the first sub-query corresponds to a first time series database schema of the plurality of time series database schemas and the predicate comprises a first dimension, and wherein the second sub-query corresponds to a second time series database schema of the plurality of time series database schemas and the predicate comprises a second dimension different than the first dimension.

13. The non-transitory computer readable storage medium of claim 10 , wherein the time series database comprises a single time series database schema for each time instance.

14. The non-transitory computer readable storage medium of claim 10 , wherein the time series database comprises multiple time series database schemas for at least one time instance.

15. The non-transitory computer readable storage medium of claim 14 , wherein the determining the at least one time series database schema of the time series database corresponding to the query time range comprises:

determining which of the multiple time series database schemas correspond to the query time range;

determining temporally adjacent portions of the query time range for which the multiple time series database schemas are constant; and

for each temporally adjacent portion of the query time range, selecting a time series database schema of the multiple time series database schemas on which to execute the query.

16. The non-transitory computer readable storage medium of claim 15 , wherein the selecting a time series database schema of the multiple time series database schemas on which to execute the query comprises:

selecting the time series database schema of the multiple time series database schemas for each temporally adjacent portion that provides a highest yield.

17. The non-transitory computer readable storage medium of claim 15 , wherein the selecting a time series database schema of the multiple time series database schemas on which to execute the query comprises:

selecting the time series database schema of the multiple time series database schemas according to the at least one dimension of the query.

18. The non-transitory computer readable storage medium of claim 15 , wherein the dividing the query into the plurality of sub-queries comprises:

dividing the query into the plurality of sub-queries, each sub-query of the plurality of sub-queries corresponding to one temporally adjacent portion of the query time range and one time series database schema.

19. A system for querying a variably partitioned time series database, the system comprising:

a plurality of query nodes, each query node of the plurality of query nodes comprising a data storage unit and a processor communicatively coupled with the data storage unit, wherein a query node of the plurality of query nodes is configured to:

receive a query of a time series database, the query comprising a query time range and a predicate comprising at least one dimension, wherein the time series database comprises a plurality of time series database schemas, wherein the plurality of time series database schemas are associated with data points ingested over adjacent and non-overlapping time ranges, and wherein at least one time series database schema of the plurality of time series database schemas is a variable schema such that the at least one time series database schema varies over time;

determine at least one time series database schema of the time series database corresponding to the query time range;

divide the query into a plurality of sub-queries, wherein each sub-query of the plurality of sub-queries corresponds to a temporally adjacent portion of the query time range and to one time series database schema of the plurality of time series database schemas;

execute the plurality of sub-queries to return a plurality of results; and

join the plurality of results into a combined result.

20. The system of claim 19 , wherein the time series database comprises multiple time series database schemas for at least one time instance, wherein the query node of the plurality of query nodes is further configured to:

determine temporally adjacent portions of the query time range for which the multiple time series database schemas are constant; and

for each temporally adjacent portion of the query time range, select a time series database schema of the multiple time series database schemas on which to execute the query.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2019
From: PANG, CLEMENT
To: VMWARE, INC.
Reel/Frame 049808/0262 →
Continuity (1)
Related Publication 20210019316A1 · Jan 21, 2021
Cited By (1)
US 12,724,794