Teradata to Snowflake Migration

Snowflake Advantage

  • Modern cloud data warehouse with intuitive and automotive features like Compressing Data, Statistic Collection, Workload Management, and Disaster Recovery instead of DBA-driven data warehouse like Teradata
  • Multi-cluster cloud infrastructure that separates compute from storage
  • Enables enterprises to automatically and instantly scale their infrastructure
  • No software or hardware to install, configure or manage

Teradata Migration Considerations

  • ETL pipelines to push data to Teradata
  • Teradata Data Model
  • Visualization tools to pull data out of Teradata
  • Client applications dependent on data from Teradata
  • DevOps and tooling around Teradata.

Migration Steps


Step 1 - Document
  • Databases and Tables to be migrated
  • Users, Roles, and applications access to the tables and databases
  • Scripts and Applications responsible for data load
  • Scripts and Applications responsible for data pull

Step 2 - Phased Migration Plan
  • Migrate low-impact tables to the business first
  • End-to-end ingestion, transformation, and consumption of the tables
  • Incorporate automated scripts and tools for migration

Step 3 - Migrate DDL
  • Export DDL scripts for Teradata tables, views and sequences
  • Create Snowflake equivalent DDL
  • Skip Teradata system tables like DBC, TD_SYSGPL, TD_SYSXML
  • Directly code the data type conversions into the script instead of doing any manual search and replace process

Step 4 - One-time Data Load to Snowflake
  • Extract data from Teradata tables using Teradata Parallel Transporter (TPT)
  • Move files to S3 or Blob storage or Cloud storage
  • Load data to Snowflake

Step 5 - Ongoing Data Load to Snowflake
  • Connect each source of data to Snowflake while it is still writing to Teradata.
  • Test applications in parallel and ensure a seamless transition.

Step 6 - Update applications to consume data from Snowflake
  • Run two parallel versions of each application during the migration – one which continues consuming data from Teradata and another consuming data from Snowflake.

Step 7 - Validation
  • Run parallel validation with Teradata and Snowflake

Step 8 - Decommission
  • Decommission Teradtata