Friday, 25 December 2015

JDBC Driver

  1. JDBC Driver:

    JDBC Driver is a software component that enables java application to interact with the database.JDBC drivers implement the defined interfaces in the JDBC API, for interacting with your database server.
    There are 4 types of JDBC drivers: 
    •  JDBC-ODBC Bridge Driver

    •  JDBC-Native API(partial java driver)

    •  Network protocol Driver(pure java driver)

    • Thin driver  ( Pure Java driver)

       1.1 JDBC-ODBC Bridge Driver:

      In a Type 1 driver, a JDBC bridge is used to access ODBC drivers installed on each client machine. Using ODBC, requires configuring on your system a Data Source Name (DSN) that represents the target database.
    bridge driver
    When Java first came out, this was a useful driver because most databases only supported ODBC access but now this type of driver is recommended only for experimental use or when no other alternative is available.

    Advantages:
  • Easy to use.
  • can be easily connected to any database.

          Disadvantages:
  • Performance degraded because JDBC method call is converted into the ODBC function calls.
  • The ODBC driver needs to be installed on the client machine.

1.2 Native-API driver:

  • In a Type 2 driver, JDBC API calls are converted into native C/C++ API calls, which are         unique to the database. 
  • These drivers are typically provided by the database vendors and used in the same manner as the JDBC-ODBC Bridge.
  •  The vendor-specific driver must be installed on each client machine.
  • If we change the Database, we have to change the native API, as it is specific to a database and they are mostly obsolete now, but you may realize some speed increase with a Type 2 driver, because it eliminates ODBC's overhead. 
  • The Oracle Call Interface (OCI) driver is an example of a Type 2 driver

 Native-API driver 
Advantage:
  • performance upgraded than JDBC-ODBC bridge driver.
Disadvantage:
  • The Native driver needs to be installed on the each client machine.
  • The Vendor client library needs to be installed on client machine.

1.3 Network Protocol driver:

  • In a Type 3 driver, a three-tier approach is used to access databases. The JDBC clients use standard network sockets to communicate with a middleware application server. 
  • The socket information is then translated by the middleware application server into the call format required by the DBMS, and forwarded to the database server.
  • This kind of driver is extremely flexible, since it requires no code installed on the client and a single driver can actually provide access to multiple databases.
Network Protocol driver 
You can think of the application server as a JDBC "proxy," meaning that it makes calls for the client application. As a result, you need some knowledge of the application server's configuration in order to effectively use this driver type.
Your application server might use a Type 1, 2, or 4 driver to communicate with the database, understanding the nuances will prove helpful.
Advantage:

  • No client side library is required because of application server that can perform many tasks like auditing, load balancing, logging etc.

Disadvantages:

  • Network support is required on client machine.
  • Requires database-specific coding to be done in the middle tier.
  • Maintenance of Network Protocol driver becomes costly because it requires database-specific coding to be done in the middle tier.

 1.4 Thin driver:

  • In a Type 4 driver, a pure Java-based driver communicates directly with the vendor's database through socket connection. 
  • This is the highest performance driver available for the database and is usually provided by the vendor itself.
  • This kind of driver is extremely flexible, you don't need to install special software on the client or server. Further, these drivers can be downloaded dynamically.
Thin driver 
MySQL's Connector/J driver is a Type 4 driver. Because of the proprietary nature of their network protocols, database vendors usually supply type 4 drivers.
Advantage:

  • Better performance than all other drivers.
  • No software is required at client side or server side.

Disadvantage:

  • Drivers depends on the Database.
BEST DRIVER:
  • If you are accessing one type of database, such as Oracle, Sybase, or IBM, the preferred driver type is 4.
  • If your Java application is accessing multiple types of databases at the same time, type 3 is the preferred driver.
  • Type 2 drivers are useful in situations, where a type 3 or type 4 driver is not available yet for your database.
  • The type 1 driver is not considered a deployment-level driver, and is typically used for development and testing purposes only.


No comments:

Post a Comment

HOW TO STOP WINDOWS 10 AUTO UPDATE