Under the Hood: Process More Data for less Money

SQLstream uses Relational Asynchronous Messaging (RAM) to couple the power of traditional messaging middleware with the relational data model for data storage and processing. RAM technology enables efficient, continuous and real-time processing of dynamic data, while concurrently generating operational business intelligence from the flowing data streams.

How does it work?

Relational Asynchronous Messaging presents dynamic, real-time data as a stream of relational messages, each representing one row in a logically infinite stream of rows. For example:

SELECT STREAM * FROM Orders WHERE city = 'New York'

is a RAM query that operates upon a continuous stream of Orders, processing each Order in real-time as it arrives, and selecting ‘New York’ orders only for further analysis.

How is it different?

In a traditional RDBMS, all data must be stored first, and then queried. RDBMS queries are reactive and finite - in the example query above, a traditional database would return all of the New York orders currently stored and then terminate. A RAM query is a standing query - it executes continuously, processing data before it is stored in an RDBMS, publishing analysis and results immediately.

Relational Asynchronous Messaging is analogous to a relational Publish/Subscribe technology. When a message is published to a stream, it is delivered to and processed by all queries that are subscribing to that stream. Queries can even be used to define further streams, which in turn have their own subscribers. An application or user can use SQL to create a relational view over various message streams, transforming the data by applying relational operations such as aggregation, correlation, and filtering.

Benefits of Relational Asynchronous Messaging

Relational Asynchronous Messaging ensures you can extract the maximum value from your dynamic data assets, providing:

  • Real-time analytics - continuously process streams of dynamic data "on the wire".
  • Real-time scalability - execute sophisticated data analysis in parallel over multiple time-windows.
  • Eliminate latency - remove the bottlenecks associated with traditional data storage and analysis architectures.
SQLstream's Relational Asynchronous Messaging Management System (RAMMS) is to Stream Computing what the RDBMS is to the relational database world. However, RDBMS such as Oracle and DB2 allow for management and reuse of historical business data through static, stored data with single-shot queries. By contrast, SQLstream uses standing queries that provide easy management and reuse of the dynamic, flowing data assets throughout an enterprise.

Using pure, declarative SQL to describe all relational stream processing, SQLstream's Relational Asynchronous Messaging Management System provides a low cost of ownership and facilitates reuse. Furthermore, SQLstream runs on commodity servers:

  • Supports High Availability configurations.
  • SQLstream requires little to no training for SQL-literate users (supports ANSI standard SQL:1999, SQL:2003 and SQL:2008).
  • Enables the complex integration of systems in real-time using declarative SQL - turns complex integration programming into high-level data management.

Have questions about your current project? Click here to ask a SQLstream expert.