Glossary
Component
A component is a reusable building block of a scenario. Each component performs a specific type of processing, for example: filtering, transforming, aggregating, or communicating with an external system.
Some components interact with data sources or services defined by integrations; these include sources, sinks, and enrichers.
When a component is placed on the scenario graph, it becomes a node.
Data record
A data record represents a single piece of information processed by Nussknacker.
It can be a message received from a stream, a row read from a batch file, or a request sent to a decision service.
Each scenario reads, transforms, and produces data records according to its logic, regardless of the processing mode - streaming, batch, or request-response.
Some components create or emit data records - for example sources and sinks - while others, such as enrichers, only modify or extend existing ones.
Data records typically contain multiple 'data structures' (variables), such as identifiers, timestamps and any other domain-specific attributes, which can be accessed and modified by the scenario.
In this documentation, data record is the neutral term used across all processing modes.
In purely streaming contexts, we typically use event - that simply means a data record with a timestamp, which lets Nussknacker apply time-based processing logic.
Designer
Part of Nussknacker where authoring of scenarios is performed.
Enricher
An enricher is a component that adds information to data records already being processed in a scenario.
It queries an external system - for example, a database, web service, or ML models inference server - and attaches the obtained data to the current data record.
Enrichers are provided by integrations and typically require parameters such as endpoint location, authentication, or query details. See also processor
Event
Term used in streaming processing mode only. It is the same as data record and additionally has a creation time timestamp which lets Nussknacker apply time-based processing logic.
Integration
An integration connects Nussknacker with an external system that provides or receives data - such as a message broker, database, API service, machine learning platform, or data catalog.
Each integration defines how Nussknacker communicates with that system and automatically creates the corresponding components (for example, source, sink, or enricher) that can be used in scenarios.
In Cloud, integrations are configured centrally in the Admin panel, so shared settings - such as connection details, authentication, or serialization format - need to be entered only once and can be reused by multiple components.
Node
A node is an instance of a component used in a scenario.
Almost all nodes take parameters. For example, a filter node takes a boolean expression as a parameter. This expression is evaluated at runtime to decide whether a given event should pass the filter node.
Processing mode
A processing mode defines how a scenario handles data records - how they are received, processed, and produced.
Each mode represents a different way of interacting with external systems and controlling the flow of data:
- Streaming - processes data records continuously as they arrive from sources such as message queues or event streams.
- Request-response - processes one data record on demand, returning an immediate result to the caller.
- Batch - (planned) processes a finite collection of data records, typically loaded from files or databases.
Read here for more information about processing modes.
Processor
Component that causes or can cause side effects (for example writes a message to a log).
Scenario
A Scenario defines how data records are processed in Nussknacker. It is built as a graph of nodes, each node being an instance of a component such as a source, enricher, filter, or sink. When you deploy a scenario, Nussknacker runs this graph in the chosen processing mode inside its managed runtime.
Scenarios are authored by means of Nussknacker Designer.
Sink
A sink is a component that sends processed data records from a scenario to an external system - such as a message broker, database, API, or analytics platform. Unlike processor, sink can only terminate a scenario branch.
Source
A source is a component that reads data records from an external system and passes them into a scenario for processing.
Typical external systems include message brokers, databases, or API services.
Each source is defined by an integration that specifies how data records are fetched into scenarios.