IBM PureData System for Analytics, Version 7.1

Architecture of ODBC and JDBC

This section describes the architectural components of the various implementations.

ODBC architecture

The ODBC implementation is a client-server architecture, with the following major components:
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 functions from the application and passes them to an ODBC driver for processing. It also accepts results from the ODBC driver and passes them to the Application.
ODBC driver
The ODBC driver processes the ODBC API functions 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 ODBC Driver Manager.
Data source
A data source contains the sets of data the ODBC driver accesses, along with all the environments 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 an IBM® Netezza® appliance, 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 appliance, which handles all database access processing. The ODBC driver, driver manager, and application reside on the client system and use a network connection to a Postgres process on the Netezza appliance host, which coordinates SQL statement processing functions.

JDBC architecture

The JDBC architecture consists of four major components:
Java™ Application
The application, written in the Java programming language, is responsible for interacting with the user and for invoking JDBC API functions. These API functions submit SQL statements for processing by a file system or a database management system. The Java application uses interfaces, classes, and methods defined by the Java API to connect to and access a data source.
Java virtual machine
When a Java application is compiled, the Java object program consists of byte codes. The Java virtual machine is responsible for converting the Java byte codes into instructions that can run on the machine on which the application is running. The Java virtual machine functions as an intermediary between the Java object program and the machine on which the application is running. There is a different Java virtual machine implementation for each platform. The Java virtual machine makes it possible for the same Java program to be run, without changing or recompiling, on any machine for which a Java virtual machine is implemented.
JDBC driver
The JDBC driver processes the JDBC API interfaces, classes, and methods in the Java application. The Java application uses the JDBC driver to interact with the file system or database management system to access the required data. It also returns results to the Java virtual machine, which, in turn, returns those results to the Java Application. There is a different JDBC driver for each type of DBMS or data source type. Netezza provides a JDBC driver for Version 3.0 of the Oracle JDBC API specification. The driver is a Type 4, pure Java driver that Netezza tested for conformance with the Oracle JDBC specifications on Windows, Linux, and UNIX platforms. The Netezza JDBC driver supports all NZSQL data types, includes password encryption, and provides for connection options for host, port, and database. Starting with Netezza appliance Release 4.6, the JDBC driver requires Java Runtime Environment (JRE) release 1.5 and later. If your Netezza host runs release 7.1.0.0 or later and is configured to use SP 800-131a cryptography support, your JDBC clients require Java Runtime Environment (JRE) release 1.7 and later.
Data source
A data source contains the sets of data the JDBC driver accesses, along with all the environments associated with the data. These environments might include file access or database access software, an operating system, and a networking platform.

To use JDBC to access an IBM Netezza appliance, 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 appliance, which handles all database access processing. The JDBC driver, virtual machine, and JDBC application reside on the client system and use a network connection to a Postgres process on the Netezza appliance host, which coordinates SQL statement processing functions.



Feedback | Copyright IBM Corporation 2014 | Last updated: 2014-02-28