Streaming analytics, in contrast, is performed on data in motion. As soon as a source system generates an event, that event is “streamed” into one or more downstream systems. The analysis, in this case, is done programmatically on the fly as the events stream by. The streaming analytics program evaluates individual events or collections of events, looking for noteworthy anomalies, patterns, or correlations. When it finds something of interest, it triggers an alert or updates a dashboard, or takes some other prescribed action. With streaming analytics, insights and actions happen in real time—within minutes, seconds, or even milliseconds. Figure 2 provides a diagram of streaming analytics. Streaming analytics often assesses and compares collections of events called “windows.” Analysts and data scientists configure event windows by various methods. Tumbling windows, for example, collect fixed numbers or time periods of events sequentially in a stream. Sliding windows do the same, except that they overlap, while session windows collect events that are divided by pauses in the data stream. Figure 3 provides examples of event windows. Streaming analysis might include Artificial Intelligence (AI), which refers to logical tasks such as natural language processing that normally require human cognition. A common component of AI is machine learning (ML) software, which teaches itself data patterns after being “trained” to do so on historical data. Data teams can apply ML models to streaming data, then adjust them based on results, either periodically or automatically on an ongoing basis.