data-infra

Data Pipeline

A data pipeline is a set of automated, usually sequential, processing steps that move data from one or more source systems (databases, APIs, event streams, file uploads) to a destination (a data warehouse, a vector store, an analytics dashboard, another application) while applying transformations along the way — cleaning malformed records, reshaping formats, enriching rows with additional data, or deduplicating entries. Why it matters for AI/SaaS builders: almost every AI feature depends on a pipeline behind the scenes, even when the product surface looks simple. A "chat with your data" feature needs a pipeline that pulls documents from wherever they live, chunks and embeds them, and keeps the vector store in sync as source documents change. A usage-based billing feature needs a pipeline aggregating raw event data into daily/monthly rollups. Building these as one-off scripts works for a demo; building them as observable, retryable, idempotent pipelines is what separates a fragile side project from a product customers trust with their data. How it works: pipelines are commonly described as either batch (processing accumulated data on a schedule — nightly, hourly) or streaming (processing events continuously as they arrive, often via a message queue like Kafka or Redis Streams). Most production pipelines are orchestrated by a scheduler/DAG tool (Airflow, Dagster, Prefect, or simpler cron-based job runners for smaller teams) that tracks dependencies between steps, retries failures, and alerts on errors rather than failing silently. A well-designed pipeline is idempotent — re-running it on the same input produces the same output rather than duplicating data — which matters enormously when a step fails partway through and needs to be safely retried. Observability (logging row counts in and out of each stage, tracking pipeline run duration, alerting on anomalies) is what turns a pipeline from a black box into something a team can actually debug at 2am. Worked example: a B2B SaaS syncs customer CRM data nightly to power an AI-generated account-health summary. The pipeline: (1) extract — pull new/updated records from Salesforce's API since the last successful run, using a stored `last_synced_at` watermark; (2) transform — normalize field names, drop PII fields not needed downstream, flag records missing required fields for a dead-letter queue instead of silently dropping them; (3) load — upsert into the internal Postgres warehouse table and re-embed any changed account-note fields into the vector store. Each stage logs its row counts to a monitoring dashboard, and a Slack alert fires if extracted-row-count drops more than 50% versus the 7-day average — catching a broken Salesforce API token before it silently stops syncing data for a week.

Related terms

More Data & Infra terms