Smart Data Streaming: Glossary of Terms
Here are some of the commonly used terms in streaming.
Active-active: A high availability mode where two instances of the same project are running in the cluster, usually on separate machines. One version of the project is designated the primary instance, and the other is designated the secondary instance. Also see hot standby.
Adapter: Input and output adapters enable SAP HANA smart data streaming to send and receive messages from dynamic and static external sources and destinations.
Adapter, external: An adapter that runs as a separate process from the smart data streaming server. External adapters have more flexibility than internal adapters and can run on a different machine than the server. They can be either managed or unmanaged.
Adapter, input: An adapter that connects to an external data source and translates incoming messages from external sources into a format accepted by the smart data streaming server.
Adapter, internal: An adapter that runs as part of the smart data streaming server. The server starts these adapters when it starts the corresponding streaming project.
Adapter, managed: A type of external adapter that uses an adapter configuration file (.cnxml) that can be configured using studio, is referenced in a CCL ATTACH ADAPTER statement, and can be started and stopped by the smart data streaming server. Managed external adapters behave very similarly to internal adapters.
Adapter, output: An adapter that translates rows published by smart data streaming into message formats that are compatible with external destinations, and sends those messages downstream.
Adapter, toolkit: A preconfigured and ready-to-use adapter that has been created using the adapter toolkit. Adapters built using the toolkit consist of various component modules configured together to deliver data to and publish data from smart data streaming: transporters, formatters, and connectors.
Adapter, unmanaged: A type of external adapter that is not referenced in a CCL ATTACH ADAPTER statement, and is not managed by the server. You start, stop, and configure unmanaged external adapters independently.
Aggregate: An aggregate query groups events that have common values, and computes summary statistics for the group. So, an aggregation window collects input records and groups them based on the values in the columns specified with the GROUP BY clause, producing one row of output per group. The output record for each group can contain summary statistics about the records in the group, such as average, sum, count, min, max, etc.
CCL: Continuous Computation Language (CCL) is the primary event processing language of smart data streaming. CCL is based on SQL, and adapted for stream processing.
CCLScript: A scripting language that brings extensibility to CCL, allowing you to create custom operators and functions that go beyond standard SQL.
CCL query: CCL queries use CCL to continuously process data in smart data streaming. Unlike SQL queries, CCL queries are applied continuously by the server. Once you define a CCL query in the project, it’s registered for continuous execution and stays active indefinitely. A registered query executes each time an event arrives from one of its data sources.
Data service: The smart data streaming server accesses external databases through data service definitions, which are managed and stored in separate databases for each cluster. Adapters use these data services to connect to databases.
Event: A message containing information about an actual business transaction or occurrence. Although an event can contain a lot of information, you can break any event down into two basic parts: a set of value fields and an operation code.
Filter: A filter query allows you to filter a stream down to specific events, based on a filter expression. This query uses the CCL WHERE clause to filter data for processing by any derived elements (streams, windows, or keyed streams).
Flex: Flex operators provide extensibility to CCL, allowing custom event handlers, written in CCLScript, to produce derived streams or windows. A flex operator allows you to implement event processing logic that would be difficult to implement in a declarative SELECT statement.
Guaranteed delivery (GD): A delivery mechanism that supports high availability. It ensures that data continues to be processed from a stream or window even if the streaming server fails, the destination (third party server) fails, or the destination does not respond for a period of time.
Hot standby: Two instances of a streaming project, deployed as a primary and secondary pair. All connections go to the primary instance, but are redirected to the secondary instance should the primary fail. The secondary instance remains in sync and will immediately take over, if necessary.
High availability: Various features in smart data streaming that promote failure recovery and data redundancy.
Index server: With multiple SAP HANA index servers configured in your SAP HANA landscape, you can configure smart data streaming to support index server failover.
Join: A join combines multiple sources into a single query, forming a new record with information from each source. Streams, windows, and keyed streams can participate in a join. A join can contain any number of windows, but only one stream.
Multinode cluster: A cluster with multiple nodes, which can help protect against node failure. When a server in a node fails, the projects running on the failed node restart on another node if their affinities are configured.
Project, streaming: Applies business logic to incoming event data to produce results. A streaming project is written in CCL, and at its most basic level, it consists of input streams, adapters, and derived streams.
Schema: A schema defines the structure of data rows in a stream or window.
Stream: A stateless element that processes events in a streaming project. A stream can only operate on the current event.
Streaming Web Service (SWS): A scalable gateway providing HTTP-based access to smart data streaming. It supports REST requests and WebSocket connections that grant client applications access to smart data streaming and its projects. SWS provides higher performance and greater scalability than the Web Services Provider (WSP).
Warm standby: A single project instance with failover enabled. The project will restart on a different host in a multi-host cluster if the host fails. The exception is if a strong affinity is set for the project, requiring it to always run on a specific host.
Window: A stateful element that processes events in a streaming project. Since windows have state, they can retain events, and apply operations across the set of events in the window.
Union: A union operator combines the results of two or more queries into a single result.
Web Services Provider (WSP): A gateway providing client applications with HTTP-based access to smart data streaming. The provider supports REST, SOAP, and WebSocket connections. Generally, you should use the Streaming Web Service (SWS) instead of WSP whenever possible, except when necessary for compatibility or project lifecycle management: WSP has a REST API to start, stop and deploy project – commands that are not currently available through the SWS.