JDBCドライバのタイプ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/11 16:35 UTC 版)
「Java Database Connectivity」の記事における「JDBCドライバのタイプ」の解説
JDBCドライバは4つのタイプに分類されている。 タイプ1 JDBC-ODBC ブリッジ JDBCからのクエリー要求を、ODBCを経由して受け渡し、データベースとアクセスするもの。ODBCドライバが必須であり、ハードウェアとOSに依存する。Java SE7 までに標準で添付されているドライバでもある。Java7では非推奨となり、Java8では標準から削除された。 タイプ2 ネイティブ API ドライバ JDBCからのクエリー要求を、オペーレーティングシステム上のDLLや専用ライブラリに受け渡し、そこからデータベースにアクセスするもの。Type1に比べて階層が薄く済むため高速化が期待できる点とTCP/IPに依存しない利点があるが、やはりハードウェアとオペレーティングシステムに依存する。オラクルでいうとOCIドライバがこれに該当する。 タイプ3 通信プロトコルドライバ JDBCからのクエリー要求を Java で記述されたのドライバ内で独自のプロトコルに変換し、それをアプリケーションサーバを通じてデータベースにアクセスするもの。機種依存・データベース依存をせずに軽量なドライバが作成可能だが、中間サーバを挟むためにパフォーマンスに問題が起きる。 タイプ4 ネイティブプロトコルドライバJDBCからのクエリー要求をすべて Java 上で処理してしまうもの。Java 上にデータベースにアクセスするためのすべての機能を乗せる為、ドライバのサイズが大きくなる、パフォーマンスが若干低下する。基本的にTCP/IPでしか利用できないなどの欠点があるがハードウェアとオペレーティングシステムに依存しないため移植性に優れている。オラクルでいうと thin ドライバがこれ該当する。 タイプ1、タイプ2はDBMSのDLLファイルやライブラリファイルを呼び出す形となるため、JVMのメモリー管理外となる。タイプ3、タイプ4についてはJVM上で Java のクラスとして実装されているためJVM上のガベージコレクションの対象となり管理が行いやすく、流れとしてはTYPE4が主流となっている。
※この「JDBCドライバのタイプ」の解説は、「Java Database Connectivity」の解説の一部です。
「JDBCドライバのタイプ」を含む「Java Database Connectivity」の記事については、「Java Database Connectivity」の概要を参照ください。
- JDBCドライバのタイプのページへのリンク