Skip to content

Diagram Proposal: Data Pipeline Diagram for ETL and Data Flow Visualization #7679

Description

@BARBOUCHEEMNA

Proposal

Mermaid.js should add a Data Pipeline diagram type because current diagram types (e.g., flowcharts) are not expressive enough to clearly represent ETL processes and data workflows.

Data engineering and system architecture diagrams often require domain-specific elements such as data sources, transformations, and storage systems. Using generic flowcharts for these purposes leads to ambiguity and reduced readability.

This new diagram type would introduce dedicated components for:

  • Data sources (APIs, databases, streams)
  • Transformations (filtering, aggregation, processing steps)
  • Data sinks (data warehouses, storage systems)
  • Directed data flow between stages

By providing a specialized syntax, Mermaid would better support modern data workflows and improve clarity in technical documentation.

Use Cases

The Diagram could be used for:

  • Visualizing ETL pipelines (Extract, Transform, Load)
  • Documenting data engineering architectures
  • Representing real-time data streaming systems
  • Teaching data flow concepts in education
  • Explaining backend data processing in system design

Screenshots

Conceptual layout:

  • Sources (cylinders or labeled nodes) on the left
  • Transformations (rectangular processing blocks) in the middle
  • Storage systems (warehouse/lake) on the right
  • Arrows indicating clear directional data flow

Example structure:

[API] ---> [Clean Data] ---> [Aggregate] ---> [Data Warehouse]

Syntax

Proposed syntax example:

pipeline
source API
source Database

transform CleanData
transform Aggregate

sink DataWarehouse

API --> CleanData
Database --> CleanData
CleanData --> Aggregate
Aggregate --> DataWarehouse

Extended example with labels:

pipeline
source API
source Logs

transform ParseLogs
transform FilterErrors

sink Storage

API --> ParseLogs : JSON data
Logs --> ParseLogs
ParseLogs --> FilterErrors
FilterErrors --> Storage : cleaned data

Implementation

None

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions