Skip to content
METRIC OAK

New: the 3-week Data Platform Assessment: fixed fee, priced roadmap. See what's included →

Migration

Netezza to Snowflake migration: a practical guide

How to migrate IBM Netezza to Snowflake: inventory, converting NZSQL and NZPLSQL, replacing distribution keys and zone maps, loading with COPY INTO, parallel runs and switching off the appliance.

Hemant Walchale

Hemant Walchale
· 2 min read

IBM Netezza appliances ran a generation of fast, simple analytics. Many are now past end of support or due for an expensive refresh, which makes Snowflake (another fully managed, SQL-first platform) a natural successor. The SQL converts well; the effort is in procedures, load scripts and leaving the appliance’s physical design behind.

This is the approach we recommend.

1. Inventory what’s used

List databases, tables, views, NZPLSQL procedures, user-defined functions, nzsql and nzload scripts, scheduled jobs and consumers. Netezza’s query history shows which objects are actually read. Archive the rest instead of migrating it.

2. Convert, then handle the differences

Netezza Snowflake What to watch
DISTRIBUTE ON, ORGANIZE ON, zone maps Micro-partitions, optional clustering keys Drop physical design; add clustering only where measured.
GROOM, GENERATE STATISTICS Not needed Remove from maintenance scripts.
NZPLSQL procedures Snowflake Scripting (SQL) or JavaScript/Python procedures Rewrite cursor-heavy logic as set-based SQL.
nzload, external tables COPY INTO from cloud storage, Snowpipe Stage files in S3, ADLS or GCS first.
nzsql scripts SQL run by Tasks, dbt or your orchestrator Rebuild error handling explicitly.
BYTEINT, NUMERIC, NCHAR types NUMBER, VARCHAR Check precision on money columns.
Netezza-specific functions Snowflake equivalents Test date and string functions one by one.

Conversion tooling (Snowflake’s SnowConvert where it supports your source, or third-party converters) handles much of the DDL and SQL.

3. Design the target

Separate virtual warehouses for loading, transformation and BI so each can be sized and suspended on its own, set up role-based access with masking policies, and move transformation logic into version-controlled SQL (dbt or stored procedures).

4. Parallel run and cut over by domain

Load history once, keep Snowflake in sync, and compare every table (row counts, totals and row-level differences) before cutting a domain over. Domain owners sign off their own numbers.

5. Switch off the appliance

Plan waves back from the support or refresh date, and stop each Netezza job the day its domain moves.

The short version

Inventory from query history, archive what’s unused, convert SQL with tooling, rewrite NZPLSQL and load scripts, drop distribution and organizing keys, reconcile every table and switch off the appliance by domain.

Browse all migration guides, or estimate your effort with the migration estimator. For a fixed-price plan, see the Data Platform Assessment.

Not sure where your own platform stands? Take the free 3-minute data platform scorecard, or see how we work on Snowflake. Unfamiliar terms are explained in the data engineering glossary.

Frequently asked questions

How similar is Netezza SQL to Snowflake SQL?

Fairly similar. Netezza's SQL descends from PostgreSQL and most queries, joins and analytic functions convert with little change. The work is in NZPLSQL stored procedures, nzsql and nzload scripts, Netezza-specific functions and data types, and physical design features (distribution keys, organizing keys) that have no Snowflake equivalent.

What replaces DISTRIBUTE ON and ORGANIZE ON?

Nothing directly, and usually nothing is needed. Snowflake stores data in micro-partitions with automatic pruning. For very large tables filtered on the same columns, a clustering key gives a similar effect to ORGANIZE ON. Drop distribution logic rather than translating it.

How is data moved off the appliance?

Unload tables to files (for example with external tables or nzsql exports), copy them to cloud storage and load them with COPY INTO. During the parallel run, keep Snowflake current by running the converted loads against the same source files or with change data capture.

Have 30 minutes? Get a senior architect’s view of your data platform.

No sales deck. You talk to the engineer who would lead the work.

Book an architecture review