Managing continuous queries in the presence of subqueries
First Claim
Patent Images
1. A system, comprising:
- a memory storing a plurality of instructions; and
one or more processors configured to access the memory, wherein the one or more processors are further configured to execute the plurality of instructions to at least;
identify a continuous query;
determine whether the continuous query includes one or more continuous subqueries; and
when it is determined that the continuous query includes a continuous subquery of the one or more continuous subqueries;
process the continuous subquery to obtain first results from a time-varying relation associated with a data stream, the time-varying relation comprising a bounded window on the data stream and a same schema for each event of the data stream;
store only a subset of the first results from the continuous subquery in a dimension table when the subset of the first results is associated with a low probability of change;
issue the continuous query based at least in part on the dimension table corresponding to the continuous subquery;
receive a runtime exception;
determine whether the runtime exception is a known runtime exception that is understood by a service based at least in part on a format of the runtime exception;
when the format of the runtime exception is the known runtime exception;
identify that a change to the dimension table has occurred;
refresh the dimension table by reprocessing the continuous subquery based at least in part on the runtime exception; and
reissue the continuous query to obtain second results after the dimension table is refreshed;
store the second results of the reissued continuous query in a data object;
implement a pattern match query on the second results stored in the data object;
perform trend analysis on the pattern match query results;
provide, for display by a user interface, a mapping of the trend analysis to a visualization;
identify a pattern corresponding to a performance indicator from the trend analysis; and
provide an alert in the user interface based at least in part on the pattern identified from the trend analysis.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for managing continuous queries that include subqueries are provided. In some examples, a continuous query that includes at least a subquery may be identified. Additionally, the subquery may be processed to obtain a first result or generate a logical subquery plan. Further, in some instances, the continuous query may then be processed based at least in part on the first result from the subquery or by merging a logical continuous query plan with the logical subquery plan. This may result in obtaining a second result via querying a data source with the continuous query that is based at least in part on the first result from the subquery and/or the merged plans.
558 Citations
14 Claims
-
1. A system, comprising:
-
a memory storing a plurality of instructions; and one or more processors configured to access the memory, wherein the one or more processors are further configured to execute the plurality of instructions to at least; identify a continuous query; determine whether the continuous query includes one or more continuous subqueries; and when it is determined that the continuous query includes a continuous subquery of the one or more continuous subqueries; process the continuous subquery to obtain first results from a time-varying relation associated with a data stream, the time-varying relation comprising a bounded window on the data stream and a same schema for each event of the data stream; store only a subset of the first results from the continuous subquery in a dimension table when the subset of the first results is associated with a low probability of change; issue the continuous query based at least in part on the dimension table corresponding to the continuous subquery; receive a runtime exception; determine whether the runtime exception is a known runtime exception that is understood by a service based at least in part on a format of the runtime exception; when the format of the runtime exception is the known runtime exception; identify that a change to the dimension table has occurred; refresh the dimension table by reprocessing the continuous subquery based at least in part on the runtime exception; and reissue the continuous query to obtain second results after the dimension table is refreshed; store the second results of the reissued continuous query in a data object; implement a pattern match query on the second results stored in the data object; perform trend analysis on the pattern match query results; provide, for display by a user interface, a mapping of the trend analysis to a visualization; identify a pattern corresponding to a performance indicator from the trend analysis; and provide an alert in the user interface based at least in part on the pattern identified from the trend analysis. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable memory storing a plurality of instructions executable by one or more processors, the plurality of instructions comprising:
-
instructions that cause the one or more processors to receive a continuous query statement from a user associated with business event data; instructions that cause the one or more processors to determine whether the continuous query statement includes one or more nested subquery statements; and instructions that cause the one or more processors to, when it is determined that the continuous query statement includes a nested subquery statement of the one or more nested sub query statements; process the nested subquery statement to obtain first results corresponding to a time-varying relation associated with the business event data, the time-varying relation comprising a bounded window on the a data stream of the business event data and a same schema for each event of the data stream of business event data; store only a subset of the first results from the nested subquery statement in a dimension table when the subset of the first results is associated with a low probability of change; issue the continuous query based at least in part on the dimension table corresponding to the nested subquery statement; receive a runtime exception; determine whether the runtime exception is a known runtime exception that is understood by a service based at least in part on a format of the runtime exception; when the format of the runtime extension is the known runtime exception; identify that a change to the dimension table has occurred; refresh the dimension table by reprocessing the nested subquery statement based at least in part on the runtime exception; and reissue the continuous query statement to obtain second results after the dimension table is refreshed; store the second results of the reissued continuous query in a data object; implement a pattern match query on the second results stored in the data object; perform trend analysis on the pattern match query results; provide, for display by a user interface, a mapping of the trend analysis to a visualization; identify a pattern corresponding to a performance indicator from the trend analysis; and provide an alert in the user interface based at least in part on the pattern identified from the trend analysis. - View Dependent Claims (10)
-
-
11. A computer-implemented method, comprising:
-
receiving a continuous query statement from a user associated with business event data; determining whether the continuous query includes one or more continuous subqueries; and when the continuous query includes a continuous subquery of the one or more continuous subqueries; processing the continuous subquery to obtain a set of first results based at least in part on implementing a clause of the continuous subquery on a time-varying relation associated with a stream associated with the business event data of the user, the time-varying relation comprising a bounded window on the stream and a same schema for each event of the data stream; storing only a subset of the set of first results from the continuous subquery in a dimension table when the subset of the first results is associated with a low probability of change; issue the continuous query by utilizing at least a subset of the dimension table based at least in part on implementing a clause of the continuous query on the stream associated with the business event data of the user; receiving a runtime exception; determining whether the runtime exception is a known runtime exception that is understood by a service based at least in part on a format of the runtime exception; when the format of the runtime exception is the known runtime exception; identifying that a change to the dimension table has occurred; refreshing the dimension table by reprocessing the continuous subquery based at least in part on the runtime exception; and reissuing the continuous query to obtain second results after the dimension table is refreshed; storing the second results of the reissued continuous query in a data object; implement a pattern match query on the second results stored in the data object; perform trend analysis on the pattern match query results; provide, for display by a user interface, a mapping of the trend analysis to a visualization; identify a pattern corresponding to a performance indicator from the trend analysis; and provide an alert in the user interface based at least in part on the pattern identified from the trend analysis. - View Dependent Claims (14)
-
-
12. The computer-implemented method of 11, further comprising not instantiating an operator of the continuous query until a time after the data in the dimension table has changed.
-
13. The computer-implemented method of 11, further comprising loading less than all of the set of first results in the dimension table.
Specification