Skip to main content

ArpeNetezza

v0.3.6Linux · Windows (x64)IBM Cloud NPS

A native ADBC driver for IBM Netezza Performance Server (NPS), written in C, returning Apache Arrow RecordBatches end to end. It speaks the Netezza wire protocol directly over TCP/TLS (the HSV2 handshake, then Netezza's DBOS binary result stream), so you don't need ODBC, nzpy or libpq. The released binaries are self-contained: OpenSSL is linked in, and nothing beyond the operating system's C library is needed at runtime. It is validated on NPS 11 (IBM Cloud) and NPS 7.2.

note

Reading these docs. The badge above is the version this documentation describes. Options and features added recently are flagged inline with a Since vX.Y.Z note; the What's new page is the release-by-release view. See Versioning.

Highlights​

  • Native Netezza protocol over TCP/TLS, with no ODBC, no nzpy and no libpq. The handshake protocol version (2–6) is negotiated with the server, so one binary serves NPS 7 through NPS 11.
  • Binary result decoding. Netezza's DBOS tuple stream is decoded straight into Arrow column buffers. NUMERIC becomes decimal128(p,s) with no string detour.
  • Bulk ingest through the external-table load. adbc_ingest streams rows into a REMOTESOURCE external table, which the server parses in parallel on its data slices. It falls back to batched INSERT when needed.
  • TLS from prefer to verify-full, with a configurable minimum TLS version for NPS 7 servers that stop at TLS 1.1.
  • Load name arpenz. Options live under adbc.arpenz.*.

Connect in seconds​

Load the driver by name (arpenz) from any ADBC client:

import adbc_driver_manager.dbapi as dbapi
with dbapi.connect(driver="arpenz",
db_kwargs={"uri": "netezza://admin:<pw>@nzhost:5480/SYSTEM?sslmode=verify-full"}) as conn:
cur = conn.cursor()
cur.execute("SELECT * FROM lineitem LIMIT 10")
table = cur.fetch_arrow_table()

New here? Install ArpeNetezza first, then see the Connection guide.

All ArpeNetezza pages​