Database / Snowflake Interview Questions
What is the difference between bulk loading with COPY INTO and micro-batch loading with Snowpipe?
COPY INTO and Snowpipe both load files from stages into Snowflake tables, but they differ fundamentally in trigger mechanism, compute model, transaction semantics, and cost structure.
| Dimension | COPY INTO (Bulk) | Snowpipe (Micro-batch) |
|---|---|---|
| Trigger | Explicit SQL command (manual, Task, or orchestrator) | Auto-ingest event notification or REST API |
| Compute | Runs on user Virtual Warehouse | Snowflake serverless compute |
| Billing | Credits per second of warehouse time | Compute-seconds for loading |
| Latency | Minutes to hours (batch cadence) | ~1 minute after file arrives |
| Transactions | Full ACID; can be rolled back | At-least-once; no explicit rollback |
| Error handling | ON_ERROR options; full rollback available | Failed files retried automatically |
| Optimal file size | 100–250 MB compressed | Works with smaller files; batches them |
| Best for | Nightly ETL, large batch loads | Near-real-time streaming ingestion |
More Related questions...