StreamSQL
This template must be substituted.
StreamSQL
Conceived by data management experts at StreamBase Systems [1], StreamSQL is a next generation query language, which extends the industry-standard Structured Query Language (SQL), to empower the processing of real-time data streams. Just as the inherent value of SQL is its ability to issue queries against stored data, this same querying capability must also exist for data streams. Thus, in order to go beyond finite stored dataset records, StreamSQL manages continuous event streams and time-based records. StreamSQL retains the capabilities of SQL while adding new capabilities such as a rich windowing system, the ability to mix stored data with streaming data, and the power to extend the primitives to include custom logic, such as analytic functions. StreamBase's software features several core components: an enterprise-class server and a graphical development environment for building StreamSQL applications.
StreamSQL provides ease of use, flexibility, and extensibility for developers in the following ways:
A familiar, standard paradigm -
The optimal approach for any stream processing engine is to leverage a high-level language, using familiar, well-proven relational operators adapted for use in stream processing. SQL’s combination of functionality, power, and relative ease-of-use has made it an enduring standard for complex data transformations. Data management experts extended the standard SQL querying model and operators to also perform processing on continuous data streams—and developed StreamSQL.
Querying over time windows -
StreamSQL extends the semantics of standard SQL (which assumes records in a finite stored dataset) by adding rich windowing constructs and stream-specific operators. With StreamSQL, the window construct defines the “scope” of a multi-message operator such as an aggregate or a join, letting it know when to finish an operation and output an answer. Windows are definable over time, number of messages, or breakpoints in other message attributes.
Powerful operators -
StreamSQL operators provide the capability to filter streams, merge, combine, and correlate multiple streams, and run time-window-based aggregations and computations on real-time streams or stored tables. The operators manage stream disorder and late or missing data, and also access and manipulate in-memory and external storage.
Customization & Extensibility -
Because the StreamSQL operator set is highly extensible, developers can easily achieve new processing functionality within the system, such as implementing a proprietary analysis algorithm, or creating user-defined aggregates, functions, and custom operators. And for developers that want to add other specialized capabilities, StreamBase also readily incorporates existing C++ or Java code and provides standard C++ and Java application programming interfaces.
To learn more about StreamSQL, visit StreamBase [2].