ODBC architecture
The ODBC implementation is a client-server architecture.
The major
components are as follows:
- Application
- The application is responsible for interacting with the user and for invoking ODBC API functions that submit SQL statements for processing by a file system or a database management system.
- Driver manager
- The driver manager accepts ODBC API function calls from the application and passes them to an ODBC driver for processing. The driver manager also accepts results from the ODBC driver and passes them to the application.
- ODBC driver
- The ODBC driver processes the ODBC API function calls that it receives from the driver manager,
interacts with the file system or database management system to access the required data, and
returns results to the driver manager.Note: The ODBC driver is not thread-safe. Using the ODBC driver in a multi-threaded environment may lead to unknown behavior.
- Data source
- A data source contains the sets of data that the ODBC 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 ODBC to access a Netezza system, 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 system, which handles all database access processing. The ODBC driver, driver manager, and application are located on the client system and use a network connection to a Postgres process on the Netezza Performance Server system host, which coordinates SQL statement processing functions.