The diagram below shows the key elements in SQLstream s-Server's system architecture, providing an overview of a SQLstream s-Server-based system in the context of external applications, data sources and sinks, databases, and other systems.
The SQLstream runtime component that manages and executes SQLstream s-Server applications. s-Server lets you read and write structured and unstructured data; create, update, query, merge, and delete streams; and apply analytics built in SQL and Java. s-Server is a Relational Data Stream Management System. This means that s-Server acts like a relational database, and uses SQL as an interface, but manages data streams alongside tables. Like database tables, streams store data in columns, but streams are effectively infinite. You work with these by declaring windows and running analytics on these.
StreamLab is a web application development environment that automatically generates streaming SQL, which are known as "StreamApps." Using StreamLab's graphical interface, you can set up input streams for data, apply built-in analytics to this data, and create sinks for data for output to external locations.
s-Dashboard is a browser based solution to enable business users and analysts to build, edit, and deploy real-time dashboards over streams, views, or tables. These streams, views, and tables may have been created in StreamLab, or otherwise generated in s-Server. Once deployed, these dashboards will update continuously with s-Server data.
The s-Server WebAgent functions as a simple, miniature Web server. It accepts certain HTTP requests which represent SQL queries, and send these queries to s-Server. The agent replies with the query results as JSON objects.
Adapters let you connect to foreign data sources and sinks. These fall into two categories:
•The SQL/MED adapter, which lets you access structured data in RDBMS systems. With this adapter, you can select, insert, update, merge, and delete data in systems such as MySQL, PostgreSQL, Teradata, Oracle, and Microsoft RDBMS systems.
•The Extensible Common Data Adapter, which lets you read and write semi-structured data formatted as CSV, XML, JSON, or BSON, over the file system, HTTP, WebSockets, network sockets, AMQP, Kafka, Amazon Kinesis, MongoDB, Teradata listener, IBM MQ, and other systems.
Agents perform the same functions as adapters, but operate remotely. These are well-suited to pull in data from sensors, Internet of Things gateways, and other location-specific objects.