Airbyte has become the default way teams move data between systems: hundreds of pre-built connectors, a standard protocol, and a UI where wiring Salesforce into your warehouse is a few clicks rather than a sprint. Unless the warehouse is IBM Netezza, in which case there was no connector at all, and the “few clicks” became a custom integration project. We have closed that gap with a connector that makes Netezza both an Airbyte source and an Airbyte destination.

One connector, both directions

The connector implements the Airbyte protocol directly: the spec, check, discover, read and write commands Airbyte drives its connectors with, all as the JSON message stream Airbyte expects, on our pure-stdlib aionetezza driver with no ODBC anywhere. As a destination it lets a team pipe any of Airbyte’s hundreds of sources straight into Netezza; as a source it extracts Netezza into any Airbyte destination. The same small image serves both roles, and Airbyte picks the command.

Because the Airbyte protocol is close kin to Singer, this connector reuses the type mapping and the injection-safe batched loading we built for our Singer tap and target the same day. That is the compounding return of a foundation-first programme: the fifth ELT integration is mostly assembly, not invention.

Tested against the appliance, not a mock

Airbyte connectors are notoriously easy to write against a spec and never actually run. We drove all five protocol commands against a live classic NPS 7.2 rack and a live current NPS 11.2 system: spec returns the config form, check reports a real connection status, discover returns a typed catalogue read from the appliance, read streams typed records including a null in a numeric column, and a full read into write round-trip reproduces the table through the destination path. No Airbyte platform was needed to prove it, because the protocol is just stdio JSON and we tested it directly.

Honest scope

The destination loads with batched, injection-safe INSERTs, portable to older NPS 7 appliances; external-table bulk loading is the natural high-volume upgrade and is on the roadmap. As with any JSON-based protocol, a Netezza NUMERIC lands at the destination’s default scale because the wire format’s number type is scale-less; the value is exact, the declared width changes, and we document it. Publication to Airbyte’s connector registry and Docker Hub is coming soon, and a Dockerfile is ready to register it as a custom connector in the meantime.

The warehouse that isn’t an Airbyte destination is the one your SaaS data never reaches. Netezza is one now.

Where you get it

We built this for the Netezza community rather than as a product of our own. If your team runs Airbyte and has been hand-coding every Netezza pipe, you can stop. Talk to us if you want it in your own estate.

Built from the published open source Netezza drivers (IBM/nzpy and IBM/nzalchemy under Apache-2.0, IBM/nzgo under MIT), verified live against both NPS 7.2 and NPS 11.2, and produced without decompiling, disassembling or inspecting any IBM proprietary binary.

Running Netezza? Let’s talk. Smart Associates has been engineering on IBM Netezza for two decades: disaster recovery, migrations, performance and the deep platform work in between. If any of the above sounds familiar, why not get in touch.

Adam Matusewicz
Adam Matusewicz
I am an experienced technical IT specialist, and an expert in the support of IBM Netezza/PureData systems]– Massive Parallel Processing (MPP) Database with inbuilt analytical functions – powered by a combination of highly modified Postgres and FPGA or CUDA (by NVIDIA). I am the principal Smart Management Frameworks developer, which is a utility to maintain Netezza appliances. I have worked for Smart Associates for the past 8 years, and prior to that worked 7 years with Netezza as a Platform Support Engineer (IBM and Netezza)