IBM InfoSphere Streams Version 4.1.1

Streams and windows

Streams are sequences of data that flow between operators in a streams 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 can be optimized to calculate the logical result incrementally, as each tuple in the window is received.