The Pipeline Pattern

archetype Fluid DynamicsData Processing

Categories: software-engineeringsystems-thinking

What It Brings

An oil pipeline carries crude from wellhead to refinery through connected segments. Water pipelines carry supply from reservoir to tap. The Pipeline pattern maps this onto data processing: data flows through a sequence of stages, each stage transforming the input and passing the result to the next. Unix pipes (cmd1 | cmd2 | cmd3) are the canonical software instantiation, but the metaphor reaches far beyond shell scripting — ETL pipelines, CI/CD pipelines, machine learning pipelines, and data engineering pipelines all inherit the same fluid image.

Key structural parallels:

Where It Breaks

Expressions

Origin Story

The pipeline metaphor in computing dates to Doug McIlroy’s Unix pipes, implemented by Ken Thompson in 1973. McIlroy’s memo proposing pipes used explicitly plumbing language: programs should be connected “like garden hoses — screw in another segment when it becomes necessary.” The metaphor was so productive that it shaped Unix’s fundamental design philosophy: small programs that do one thing, connected by pipes.

The fluid metaphor then migrated upward. ETL (Extract, Transform, Load) pipelines in data warehousing borrowed the image in the 1990s. CI/CD pipelines adopted it in the 2010s. Machine learning pipelines (scikit-learn’s Pipeline class) extended it to model training. Each adoption stretched the metaphor further from its fluid-dynamics origin, but the core image — data flowing through connected stages — proved remarkably durable.

References

Related Mappings