IBM Streams 4.3.0

Streams and windows

Streams are sequences of data that flow between operators in a stream processing application.

In logical terms, the data in a stream is a sequence of tuples. Tuples are collections of attributes. Typically, data in a tuple represents the state of something at a point in time, for example, a quote from a stock ticker, or a reading from a temperature sensor.

A stream can be an infinite sequence of tuples, such as a stream for a traffic flow sensor. Alternatively, a stream can be finite, such as a stream that is created from the contents of a file. When a streams processing application contains infinite streams, the application runs continuously without ending.

Operators process an input stream in one of the following logical modes.
  • As each tuple is received
  • As a window
A window is a sequence of tuples that is a subset of a possibly infinite stream. Examples of windows are the last five seconds of tuples, or a subset of a stream that is defined by boundaries that are called punctuation markers. A windowed operator typically performs some calculations on the sequence of tuples contained in the window to produce a result which it submits to the downstream operators.