Data flow diagram

A data flow diagram shows how information moves: app events and billing webhooks are ingested into a raw log, validated against a schema registry, and written to a warehouse only when they are valid. Invalid events go to quarantine and are replayed into validate after a fix. Serving marts then fan out to dashboards, a reverse-ETL path into a CRM, and analysts.

People draw this one to agree what is allowed into a warehouse, to show where invalid data is held rather than simply lost, or to explain why a dashboard and a CRM are two consumers of the same mart. The quarantine loop is usually left out when this flow is described naively: without it the drawing describes an unrealistic pipeline that never fails.

Data flow diagram App events Ingest Billingwebhooks Raw event log Validate andenrich Schemaregistry Valid? Quarantine Replay after fix Warehouse Build servingmarts Serving mart Dashboards Reverse ETL CRM Analysts checked No Yes
Open in editor

Mermaid source

---
title: Data flow diagram
---
flowchart LR
  srcApp[/App events/] --> ingest[Ingest]
  srcBill[/Billing webhooks/] --> ingest
  ingest --> raw[(Raw event log)]
  raw --> validate[Validate and enrich]
  schema[(Schema registry)] -. checked .-> validate
  validate --> ok{Valid?}
  ok -->|No| quarantine[(Quarantine)]
  quarantine --> replay[Replay after fix]
  replay --> validate
  ok -->|Yes| warehouse[(Warehouse)]
  warehouse --> transform[Build serving marts]
  transform --> mart[(Serving mart)]
  mart --> dash[/Dashboards/]
  mart --> etl[Reverse ETL]
  etl --> crm[/CRM/]
  mart --> analysts[/Analysts/]

Stock Mermaid vs Line9 on this data flow diagram

Run the same source through the stock Mermaid engine and it often will not look as good. In some cases, Mermaid is able to deliver a usable graph, but not always. On this one:

The same data flow diagram through stock Mermaid — schema registry floating above the chain, and the quarantine return drawn as a long arc over Validate and enrich
Stock Mermaid · same source View full size ↗

The stock Mermaid version is very similar in layout to the Line9 one in this case. The significant difference between them remains the neater edge routing and cleaner style defaults from Line9.

For a fuller product comparison — layout, export, CLI, and pricing — see Line9 vs mermaid.live.

Render your own

Paste any Mermaid flowchart into the free online editor — no account needed. Prefer the terminal? Install the line9 CLI (free for personal use).

More scenarios on the Mermaid examples hub.