Copy and export data¶
After data is in Tinybird, you often need to reshape it, store query results, or send processed data to another system. Use this section when you want to move data after ingestion.
Move data internally¶
Use Copy Pipes to capture the result of a Pipe at a specific point in time and write it to a target Data Source. Copy Pipes can run on a schedule or on demand.
Copy Pipes are useful when you need to:
- Build scheduled snapshots of source data.
- Backfill or rebuild a derived Data Source.
- Deduplicate data with a replace strategy.
- Run heavy transformations outside request-time query paths.
- Test a new shape before replacing an existing Data Source.
For continuously updated derived Data Sources, use Materialized Views. Materialized Views process new rows as they arrive. Copy Pipes rerun a query and write the result when the copy job executes.
Sinks¶
Use Sinks to export query results from Tinybird to external systems. A Sink is a Pipe with TYPE SINK and destination-specific export settings.
Tinybird supports these Sink destinations:
- Kafka Sink: Export events to a Kafka topic.
- S3 Sink: Export files to an S3 bucket.
- GCS Sink: Export files to a Google Cloud Storage bucket.
Use Sinks when another system needs processed Tinybird data, for example to feed a data lake, publish events to a streaming platform, or deliver scheduled extracts to customers or partners.
Choose the right option¶
| Need | Use |
|---|---|
| Store query results in another Tinybird Data Source | Copy Pipes |
| Export query results to Kafka, S3, or GCS | Sinks |
| Keep a derived Data Source updated as rows are ingested | Materialized Views |
| Query data without storing the result | API Endpoints or Query API |