Move tables, schema, and data from Snowflake to Amazon Redshift with minimal downtime.
Teams switch when they consolidate on AWS, need cheaper storage tiers, or want closer integration with existing Redshift workloads.
1) Export Snowflake data to external storage (S3). 2) Create matching schemas in Redshift. 3) COPY data from S3 into Redshift. 4) Validate row counts and constraints. 5) Swap production endpoints.
Use the Snowflake UNLOAD
command with AWS credentials.Partition large tables to parallelize exports and minimize wall-clock time.
UNLOAD INTO 's3://my-bucket/ecomm/customers/'
CREDENTIALS = (AWS_KEY_ID='…' AWS_SECRET_KEY='…')
FILE_FORMAT = (TYPE=CSV FIELD_OPTIONALLY_ENCLOSED_BY='"')
OVERWRITE=TRUE
AS SELECT * FROM Customers;
Define tables with matching column names, data types, and primary keys.Add sort and distribution keys for query performance.
CREATE TABLE customers (
id INT NOT NULL,
name VARCHAR(100),
email VARCHAR(255),
created_at TIMESTAMP
)
DISTSTYLE KEY DISTKEY(id)
SORTKEY(id);
Run COPY
from S3 paths generated by Snowflake’s UNLOAD.Compress files with GZIP or Snappy for faster transfer.
COPY customers
FROM 's3://my-bucket/ecomm/customers/'
IAM_ROLE 'arn:aws:iam::123456789:role/redshift-s3-access'
CSV IGNOREHEADER 1;
After initial full load, schedule CDC exports using Snowflake streams or updated_at filters, then COPY into staging tables and MERGE into targets.
Compare counts and checksums between Snowflake and Redshift for each table.Run application smoke tests on Redshift replicas before cut-over.
Export and load tables in parallel batches, compress files, pick DISTKEYs that match common join columns like customer_id
, and use automatic table vacuuming after loads.
Keep Snowflake in read-only mode during cut-over. If issues arise, point applications back to the Snowflake connection string until fixed.
.
No. Redshift COPY reads only from S3, DynamoDB, or Kinesis. S3 is the standard bridge for Snowflake exports.
With parallel UNLOAD/COPY and GZIP, expect 30-60 minutes depending on network bandwidth and cluster size.
No. Redshift requires physical copies. Use snapshots for fast environment duplication.