In
computer science, stream processing (also known as event stream processing, data stream processing, or distributed stream processing) is a
programming paradigm which views
data streams, or sequences of events in time, as the central input and output objects of
computation
Computation is any type of arithmetic or non-arithmetic calculation that follows a well-defined model (e.g., an algorithm).
Mechanical or electronic devices (or, historically, people) that perform computations are known as ''computers''. An es ...
. Stream processing encompasses
dataflow programming,
reactive programming, and
distributed data processing
Data processing is the collection and manipulation of digital data to produce meaningful information.
Data processing is a form of ''information processing'', which is the modification (processing) of information in any manner detectable by an ...
. Stream processing systems aim to expose
parallel processing for data streams and rely on
streaming algorithms for efficient implementation. The
software stack for these systems includes components such as
programming models and
query languages, for expressing computation;
stream management systems, for distribution and
scheduling; and hardware components for
acceleration including
floating-point unit
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can b ...
s,
graphics processing units, and