# Streaming pipelines Streaming pipelines provide the ability to make immediate critical decisions based on real-time data. By processing data as a stream with dedicated compute, streaming pipelines are able to process records with [very low latency](../streaming-performance-considerations/index.md). On average, streaming data can be accessible in the Ontology and available for analysis in time series applications, such as [Quiver](../../quiver/overview/index.md) or [Foundry Rules](../../foundry-rules/overview/index.md), in under 15 seconds. To achieve this low-latency, streams are built on top of [compute that runs continuously](../streaming-compute-usage/index.md) and require different architecture and maintenance consideration compared to batch pipelines. Streaming transformations can be **stateless** or **stateful**. Stateless transformations process each row independently, while stateful transformations retain information from previously processed rows. Stateful transformations support use cases such as windows, aggregations, and joins. Learn more about [stateful streaming transformations](../streaming-stateful-transforms/index.md). ## Best practices When building out streaming pipelines, consider these factors: * Streams often power highly operational workflows and require careful planning around downtime, maintenance, and logic changes to ensure high uptime and availability. * Compute for streaming runs continuously. This can result in higher compute costs than a periodic batch job. Similarly to batch pipelines, consider starting with the smallest profile available and adjust that if the scale of your data requires it. * Streams operate on a per-row basis and have constraints on the maximum row size to ensure low latency data transfers. The constraint is set to 1mb per individual row. * Changes to stateful streaming logic require careful design to avoid making existing state incompatible. ## Get started To start using streaming pipelines in Foundry, review how to [create a simple streaming pipeline](../create-stream-pipeline-pb/index.md), and learn about streaming transforms in [Pipeline Builder](../../pipeline-builder/overview/index.md). If you want to learn about connecting your data sources to Foundry, review [how to push data into a stream](../../data-connection/push-based-ingestion/index.md), or [how to set up a streaming sync](../../data-connection/set-up-streaming-sync/index.md).