Generation of archiver queries for continuous queries over archived relations
First Claim
1. A computer-implemented method, comprising:
- receiving, by a computer system configured to execute computer-executable instructions, a continuous query to be executed on an event stream, the continuous query being identified based at least in part on an archived relation associated with an application, the archived relation indicating availability of historical data related to the event stream, the historical data stored in a database;
generating a physical query plan for the continuous query;
determining that an operator identified in the physical query plan is capable of being used to construct a corresponding archiver query based at least in part on a function being performed by the operator and a type of the operator;
when it is determined that the operator is capable of being used to construct a corresponding archiver query, determining that the operator is capable of maintaining state information related to the application such that the operator can be used on the event stream after being pre-populated with a state of the operator, the state of the operator providing historical context associated with querying the historical data in the database;
based at least in part on determining that the operator is capable of being used to construct the corresponding archiver query and that the operator is capable of maintaining state information related to the application, constructing the archiver query for the operator, constructing the archiver query comprising;
constructing a structured query language (SQL) equivalent expression corresponding to an attribute utilized by the operator;
constructing an output SQL expression for the operator based at least in part on the SQL equivalent expression; and
constructing the archiver query for the operator based at least in part on the output SQL expression;
executing the archiver query on the historical data in the database to obtain a result set of data records related to the application;
initializing the state of the operator based at least in part on the result set of data records; and
executing the continuous query on the event stream in order to generate a snapshot output of one or more data values related to the application based at least in part on pre-populating the operator with the state of the operator.
1 Assignment
0 Petitions
Accused Products
Abstract
A method may include receiving a continuous query identified by an archived relation associated with an application. The method may also include generating a physical query plan. Additionally, the method may include constructing a structured query language (SQL) equivalent expression corresponding to an attribute utilized by the operator and/or constructing an output SQL expression for the identified operator based at least in part on the SQL equivalent expression. Additionally, the method may include constructing the archiver query for the identified operator based at least in part on the output SQL expression. Further, the method may include executing the archiver query to obtain a result set of data records related to the application and/or generating a snapshot output of one or more data values related to the application based at least in part on the result set of data records.
-
Citations
15 Claims
-
1. A computer-implemented method, comprising:
-
receiving, by a computer system configured to execute computer-executable instructions, a continuous query to be executed on an event stream, the continuous query being identified based at least in part on an archived relation associated with an application, the archived relation indicating availability of historical data related to the event stream, the historical data stored in a database; generating a physical query plan for the continuous query; determining that an operator identified in the physical query plan is capable of being used to construct a corresponding archiver query based at least in part on a function being performed by the operator and a type of the operator; when it is determined that the operator is capable of being used to construct a corresponding archiver query, determining that the operator is capable of maintaining state information related to the application such that the operator can be used on the event stream after being pre-populated with a state of the operator, the state of the operator providing historical context associated with querying the historical data in the database; based at least in part on determining that the operator is capable of being used to construct the corresponding archiver query and that the operator is capable of maintaining state information related to the application, constructing the archiver query for the operator, constructing the archiver query comprising; constructing a structured query language (SQL) equivalent expression corresponding to an attribute utilized by the operator; constructing an output SQL expression for the operator based at least in part on the SQL equivalent expression; and constructing the archiver query for the operator based at least in part on the output SQL expression; executing the archiver query on the historical data in the database to obtain a result set of data records related to the application; initializing the state of the operator based at least in part on the result set of data records; and executing the continuous query on the event stream in order to generate a snapshot output of one or more data values related to the application based at least in part on pre-populating the operator with the state of the operator. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable storage medium storing computer-executable instructions that, when executed by one or more computer systems, configure the one or more computer systems to perform at least:
-
instructions that cause the one or more computer systems to receive a continuous query to be executed on an event stream, the continuous query being identified based at least in part on an archived relation associated with an application, the archived relation indicating availability of historical data related to the event stream, the historical data stored in a database; instructions that cause the one or more computer systems to generate a physical query plan for the continuous query; instructions that cause the one or more computer systems to determine that an operator identified in the physical query plan is capable of being used to construct a corresponding archiver query based at least in part on a function being performed by the operator and a type of the operator; when it is determined that the operator is capable of being used to construct a corresponding archiver query, instructions that cause the one or more computer systems to determine that the operator is capable of maintaining state information related to the application such that the operator can be used on the event stream after being pre-populated with a state of the operator, the state of the operator providing historical context associated with querying the historical data stored in the database; based at least in part on the instructions that cause the one or more computer systems to determine that the operator is capable of being used to construct the corresponding archiver query and the instructions that cause the one or more computer systems to determine that the operator is capable of maintaining state information, instructions that cause the one or more computer systems to construct the archiver query for the operator; instructions that cause the one or more computer systems to execute the archiver query on the historical data in the database to obtain a result set of data records related to the application; instructions that cause the one or more computer systems to initialize the state of the operator based at least in part on the result set of data records; and instructions that cause the one or more computer systems to execute the continuous query on the event stream in order to generate a snapshot output of one or more data values related to the application based at least in part on pre-populating the operator with the state of the operator. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
a memory storing a plurality of instructions; and a central processing unit configured to access the memory, wherein the central processing unit is further configured to execute the plurality of instructions to at least; receive a continuous query to be executed on an event stream, the continuous query being identified based at least in part on an archived relation associated with an application, the archived relation indicating availability of historical data related to the event stream, the historical data stored in a database; generate a physical query plan for the continuous query; determine that an operator identified in the physical query plan is capable of being used to construct a corresponding archiver query based at least in part on a function being performed by the operator and a type of the operator; when it is determined that the operator is capable of being used to construct a corresponding archiver query, determining that the operator is capable of maintaining state information related to the application such that the operator can be used on the event stream after being pre-populated with a state of the operator, the state of the operator providing historical context associated with querying the historical data in the database; based at least in part on the instructions to determine that the operator is capable of being used to construct the corresponding archiver query and the instructions to determine that the operator is capable of maintaining state information related to the application, instructions to construct the archiver query for the operator, the instructions to construct the archiver query comprising instructions to; construct a structured query language (SQL) equivalent expression corresponding to an attribute utilized by the operator; construct an output SQL expression for the operator based at least in part on the SQL equivalent expression; construct the archiver query for the operator based at least in part on the output SQL expression; execute the archiver query on the historical data in the database to obtain a result set of data records related to the application; initialize the state of the operator based at least in part on the result set of data records; and execute the continuous query on the event stream in order to generate a snapshot output of one or more data values related to the application based at least in part on pre-populating the operator with the state of the operator. - View Dependent Claims (14, 15)
-
Specification