2 Oracle DatabaseでのJavaの使用
Javaアプリケーションでは、リレーショナル・データベースのデータのアクセスおよび操作に、Java Database Connectivity(JDBC)標準が使用されます。
業界標準のアプリケーション・プログラミング・インタフェース(API)であるJDBCを使用すると、JavaからSQLを使用してRDBMSにアクセスできます。JDBCは、JDBCエスケープ標準のエントリ・レベルに準拠しています。ベンダー各社はそれぞれ独自の拡張を含めたJDBC仕様を実装しています。
ユニバーサル接続プール(UCP)は、接続を再利用するためにデータベース接続オブジェクトをキャッシュするために使用する接続プールです。これにより、パフォーマンスが向上します。
データベースにおけるJava(OJVM)により、Javaデータ・ロジックを使用してSQL操作をグループ化し、インプレース処理用にデータベースにロードできます。
この章では、Oracle Database 12cリリース2(12.2)とともにJDBCドライバ、ユニバーサル接続プール(UCP)およびデータベースにおけるJava(OJVM)について説明します
- Java Database Connectivityドライバ(JDBC)
-
ユニバーサル接続プール(UCP)
-
データベースにおけるJava(OJVM)
2.1 Java Database Connectivityドライバ(JDBC)
JDBCは、ユーザーがデータベースに接続してSQL文を実行し、データベースに問合せできるようにするデータベース・アクセス・プロトコルです。JDBCドライバは、最新のJDBC仕様に準拠して実装されています。Javaアプリケーションは、クラスパスにJDK8と互換性のあるojdbc8.jar
が必要です。
コアJavaクラス・ライブラリには、JDBC APIのjava.sql
とjavax.sql
が用意されています
次の項では、JDBC標準に対するOracleサポートについて説明します。
-
Oracle JDBC Thinドライバ
-
Oracle JDBCパッケージ
Oracle JDBC Thinドライバ
ほとんどの場合、JDBC Thinドライバを使用することをお薦めします。JDBC Thinドライバは、適切なJava仮想マシンを搭載したシステムであれば、どのシステム上でも機能します。(JVM)Oracleが提供する他のクライアント・ドライバとして、JDBC Thinドライバ、Oracle Call Interface (OCI)ドライバ、サーバー側Thinドライバ、サーバー側内部ドライバなどがあります。
JDBC Thinドライバは、Pure JavaのType IVドライバです。JDBCドライバ・バージョン(ojdbc8.jar)には、JDK 8のサポートが含まれています。
JDBC Thinドライバは、データベースにアクセスするためにSQL*Netを使用してサーバーと通信します。
関連項目:
『Oracle Database JDBC開発者ガイド』2.2 ユニバーサル接続プール
接続プールは、接続オブジェクトを再利用して、接続オブジェクトが作成される回数を減らすことで、パフォーマンスを向上させます。
Oracle Universal Connection Pool (UCP)は、Oracle Database構成との密接な統合を利用して、高可用性、スケーラビリティ、ロード・バランシングとともに接続プール機能を提供する、機能豊富なJava接続プールです。
UCPを使用するには、Javaアプリケーションまたはコンテナのクラスパスにucp.jar
とojdbc8.jar
(JDK8)が必要です。
関連項目:
Oracle Universal Connection Pool開発者ガイド2.3 データベースにおけるJava(OJVM)
Oracle Databaseには、サーバーに常駐するJava仮想マシン(JVM)があります。それによって、サーバー上のOracle JVM内で実行中のJavaアプリケーションから、同じシステムおよび同じプロセスに存在するデータにアクセスできます。
データ処理が大きいアプリケーションには、データベースにおけるJavaをお薦めします。JVMは、基礎となるOracle RDBMSライブラリを直接使用する機能があり、JavaコードとSQLデータの間にネットワーク接続が必要ありません。そのため、パフォーマンスと実行が向上します。データ・アクセスのために、サーバー上でJavaコードを実行するとき、Oracle Databaseはサーバー側内部ドライバを使用します。