System and Method for Querying a Data Stream
First Claim
Patent Images
1. A method (200) for querying a data stream, comprising:
- receiving a query plan based on a query (528) specifying the data stream and a window;
receiving one or more stream elements from the data stream during the window;
applying the query (528) to the one or more stream elements by passing the one or more stream elements from a scan operator at a leaf of the query plan to an upper layer of the query plan on a tuple-by-tuple basis; and
committing a result of the query (528) based on the one or more stream elements.
2 Assignments
0 Petitions
Accused Products
Abstract
There is provided a method (200) for querying a data stream. The method includes receiving a query plan based on a query specifying the data stream and a window. The method (200) further includes receiving one or more stream elements from the data stream during the window. Additionally, the method (200) includes applying the query to the one or more stream elements by passing the one or more stream elements from a scan operator at a leaf of the query plan to an upper layer of the query plan on a tuple-by-tuple basis. The method (200) also includes committing a result of the query based on the one or more stream elements.
132 Citations
15 Claims
-
1. A method (200) for querying a data stream, comprising:
-
receiving a query plan based on a query (528) specifying the data stream and a window; receiving one or more stream elements from the data stream during the window; applying the query (528) to the one or more stream elements by passing the one or more stream elements from a scan operator at a leaf of the query plan to an upper layer of the query plan on a tuple-by-tuple basis; and committing a result of the query (528) based on the one or more stream elements. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system (500) for querying a data stream, the computer system comprising a processor (512) configured to:
-
receive a query plan based on a query (528) specifying the data stream, a window, and a user defined function; receive one or more stream elements from the data stream during the window; apply the query (528) to the one or more stream elements by passing the one or more stream elements from a scan operator at a leaf of the query plan to an upper layer of the query plan on a tuple-by-tuple basis; and commit a result of the query (528) based on the one or more stream elements. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory, computer-readable medium (622) comprising machine-readable instructions executable by a processor (612) to query a data stream, the non-transitory, computer-readable medium (622) comprising:
-
computer-readable instructions (624) that, when executed by the processor (612), receive a query plan based on a query specifying an update operation, the data stream, a window, and a user defined function; computer-readable instructions (626) that, when executed by the processor (612), receive one or more stream elements from the data stream during the window; computer-readable instructions (628) that, when executed by the processor (612), initiate a transaction based on the user defined function; computer-readable instructions (628) that, when executed by the processor (612), perform, during the transaction, a plurality of cycles corresponding to a plurality of windows, wherein the plurality of windows comprise the window, and wherein, during each of the cycles, the processor (612) is configured to; receive the one or more stream elements; apply the update operation to the one or more stream elements by passing the one or more stream elements from a scan operator at a leaf of the query plan to an upper layer of the query plan on a tuple-by-tuple basis; and commit the result; computer-readable instructions (630) that, when executed by the processor (612), provide the result to a client application; and computer-readable instructions (630) that, when executed by the processor (612), persist the result to a database table.
-
Specification