Go Driver architecture

The Netezza Performance Server Go Driver implementation is a client-server architecture. It adheres to Go language SQL driver specification. The driver provides Netezza Performance Server specific implementation for interfaces provided in database/sql package.
Major components in using Go language to work with Netezza Performance Server are as follows:
Application
The application is the Go language code responsible for interacting with the user or other programs, and invoking database/sql interfaces that interact with the database.
Go Driver
The Go driver processes the database/sql interface calls that it receives from the application, interacts with the database to access the required data, and returns results to the application.
Data source
A data source contains the sets of data that the Go driver accesses, along with all the environments that are associated with the data. These environments might include file access or database access software, an operating system, and a networking platform.

To use Go Driver to access Netezza Performance Server, you need at least a two-tier client-server configuration. In a two-tier client-server system, the data source is stored on the Netezza Performance Server cluster, which handles all database access processing. The Go driver and application are located on the client system and use a network connection to the Netezza Performance Server host, which coordinates SQL statement processing functions.