일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 사양
- 스펙정보
- 韓国ヒップホップ
- 일본유학
- 韓国
- 스마트시티
- 리눅스
- 다음메일
- 성능측정
- certification
- 환경정보
- 사용자100명
- move앱
- 4차산업
- 동시접속
- QA
- ads.txt
- 5G
- 사양정보
- gbd-200
- 한국판뉴딜
- 명령어
- 정보처리기사
- 일본대학원
- ios
- 부자아빠가난한아빠
- JMeter
- 200-301
- DevNet
- 코로나바이러스
- Today
- Total
IT 컴퓨터공학 자료실
JDBC에 대해 본문
JDBCは、Java とリレーショナルデータベースの接続のためのAPI。JDBCは正式名称であって略称ではないが、Java database connectivity(ジャバ・データベース・コネクティビティ)に由来する名前だと考えられている[1]。ODBCをベースにサン・マイクロシステムズおよび DataDirect が共同で開発していると言われている。そのためドライバのデフォルトの自動コミットの有効化など似ている点も多々ある。
Java においてSQLを使用して、リレーショナルデータベース管理システム (RDBMS) などと接続する機能を標準化(抽象化)している。
JDBC는 Java 와 관계형 데이터베이스의 연결을 위한 API이다. JDBC는 정식 명칭이며 약칭은 아니지만, Java database connectivity(자바 데이터베이스 연결)에서 유래 된 이름이라고 생각되고 있다. ODBC를 기반으로 썬 마이크로 시스템즈와 DataDirect가 공동으로 개발하고 있는 것으로 알려져 있다. 따라서 드라이버의 기본 자동 커밋 활성화 등 비슷한 점도 많이 있다.
Java에서 SQL을 사용하여 관계형 데이터베이스 관리 시스템 (RDBMS) 등과 연결하는 기능을 표준화 (추상화)하고 있다.
元はJDK 1.0の拡張APIという位置付けであったが、JDK 1.1で正式にJavaの基本SDKに同梱されるようになった。標準的な機能 (API) は Java SE に含まれている。JDBCの規格は Java SDK とは独立して行われており、APIのアップデートは随時行われている。
원래는 JDK 1.0의 확장 API라는 자리 매김했지만, JDK 1.1에서 공식적으로 Java의 기본 SDK에 포함되게 되었다. 표준 기능 (API)는 Java SE에 포함되어있다. JDBC 표준은 Java SDK 는 독립적으로 이루어지고 있으며, API 업데이트는 수시로 진행되고 있다.
ドライバ
드라이버
JDBCを利用する為には、100% Pure Java 製の Apache Derby が同梱されている Java SE 6 以降のSDK[2]を除き、各DBMS用のJDBCドライバを用意する必要がある。現在開発が行われているほとんどのデータベースではJDBCドライバが用意されている。 これらのドライバを管理するのが JDBC ドライバ・マネージャーである。JDBC ドライバ・マネージャーを用いると、複数のJDBCドライバを同時に利用することができる。JDBCを使うユーザーは、JDBCドライバをロードし(多くはClass.forName("ドライバクラス名")メソッドを利用して呼び出される。また、JDBC4.0以降であればドライバの自動解決が機能するため、DriverManager.getConnnection("jdbc:subprotocol:subname形式のデータベースURL")メソッドを使うことができる。これらのメソッドを利用した場合コンパイラによるそのドライバの依存チェックが行われない為、コンパイル時にドライバをあらかじめ参照できる様に設定しなくて良いなどの利点がある)、JDBC ドライバ・マネージャーを使ってデータベースドライバを取得し、データベースと接続を行って、データベースアプリケーションを記述する事になる。 また、Java のオブジェクト指向言語の特性を生かして、各ドライバはJDBCの基本APIに無い機能を同梱する事もできる。この場合、JDBC APIのスーパーセットのクラスを呼び出すことでこれらの機能を利用可能にすることができる。
たとえば、初期のオラクル社の Oracle Database (Oracle 8) 用JDBCドライバは、当時の JDBC API が BLOB[3]、CLOB[4]に対応していなかったため、独自に機能拡張をしてBLOBとCLOBに対応していた。
JDBC를 이용하기 위해서는 100% Pure Java로 만들어진 Apache Derby가 포함되어있는 Java SE 6 이상 SDK를 제외한 모든 DBMS에 대한 JDBC 드라이버를 준비할 필요가 있다. 현재 개발되고 있는 대부분의 데이터베이스 JDBC 드라이버가 준비되어있다. 이러한 드라이버를 관리하는 것이 JDBC 드라이버 매니저이다. JDBC 드라이버 관리자를 사용하면 여러 JDBC 드라이버를 동시에 이용할 수 있다. JDBC를 사용하는 유저는 JDBC 드라이버를 로드 (많은 Class.forName ( "드라이버 클래스 이름") 메소드를 이용하여 호출된다. 또한 JDBC4.0 이상이면 드라이버 자동 해결이 작동하므로 DriverManager.getConnnection ( "jdbc : subprotocol : subname 형식의 데이터베이스 URL") 메소드를 사용할 수 있다. 이러한 방법을 이용하면 컴파일러에 의한 드라이버의 의존성 확인은 되지 않으므로 컴파일 시에 드라이버를 미리 볼 수 같이 설정하지 않아도 된다. 등의 이점이 있다), JDBC 드라이버 관리자를 사용하여 데이터베이스 드라이버를 검색하여 데이터베이스 연결을 수행하여 데이터베이스 응용 프로그램을 작성하게 된다. 또한 Java 의 객체지향언어의 특성을 살려 각 드라이버는 JDBC 기본 API에 없는 기능을 함께 할 수도 있다. 이 경우, JDBC API의 슈퍼 세트 클래스를 호출하는 것으로 이러한 기능을 이용 가능하게 할 수 있다.
예를 들어, 초기 오라클의 Oracle Database ( Oracle 8 ) 용 JDBC 드라이버는 당시의 JDBC API가 BLOB, CLOB에 대응하고 있지 않았기 때문에 독자적으로 기능 확장을 하여 BLOB과 CLOB에 대응하고 있었다.
JDBC ドライバのタイプ
JDBC의 드라이버 유형
JDBCドライバは4つのタイプに分類されている。
JDBC 드라이버는 4 가지 유형으로 분류되어있다.
タイプ1
유형 1
JDBC-ODBC ブリッジ JDBCからのクエリー要求を、ODBCを経由して受け渡し、データベースとアクセスするもの。ODBCドライバが必須であり、ハードウェアとOSに依存する。Java SE7 までに標準で添付されているドライバでもある。Java7では非推奨となり、Java8では標準から削除された。
JDBC-ODBC 브리지 JDBC에서 쿼리 요청을 ODBC 를 통해 전달 데이터베이스와 액세스하는 것. ODBC 드라이버가 필수이며, 하드웨어 와 OS 에 의존한다. Java SE7 까지 표준으로 첨부되어있는 드라이버이기도하다. Java7에서는 사용되지 않으며, Java8는 표준에서 삭제되었다.
タイプ2
유형 2
ネイティブ API ドライバ JDBCからのクエリー要求を、オペーレーティングシステム上のDLLや専用ライブラリに受け渡し、そこからデータベースにアクセスするもの。Type1に比べて階層が薄く済むため高速化が期待できる点とTCP/IPに依存しない利点があるが、やはりハードウェアとオペレーティングシステムに依存する。オラクルでいうとOCIドライバがこれに該当する。
네이티브 API 드라이버 JDBC에서 쿼리 요청을 운영 우퍼 체제에서 DLL 이나 전용 라이브러리에 전달 거기에서 데이터베이스에 액세스하는 것. Type1에 비해 계층이 얇게 되기 때문에 속도가 기대할 수있는 점과 TCP / IP 에 의존하지 않는 장점이 있지만, 역시 하드웨어 및 운영 체제에 의존한다. 오라클로 말하면 OCI 드라이버가 이에 해당한다.
タイプ3
유형 3
通信プロトコルドライバ JDBCからのクエリー要求を Java で記述されたのドライバ内で独自のプロトコルに変換し、それをアプリケーションサーバを通じてデータベースにアクセスするもの。機種依存・データベース依存をせずに軽量なドライバが作成可能だが、中間サーバを挟むためにパフォーマンスに問題が起きる。
통신 프로토콜 드라이버 JDBC에서 쿼리 요구를 Java 로 작성된 드라이버에서 자체 프로토콜로 변환하고 그것을 응용 프로그램 서버를 통해 데이터베이스에 액세스하는 것. 기종 의존 데이터베이스 의존하지 않고 가벼운 드라이버가 생성 가능하지만, 중간 서버를 끼우는 데 성능에 문제가 있습니다.
タイプ4
유형 4
ネイティブプロトコルドライバJDBCからのクエリー要求をすべて Java 上で処理してしまうもの。Java 上にデータベースにアクセスするためのすべての機能を乗せる為、ドライバのサイズが大きくなる、パフォーマンスが若干低下する。基本的にTCP/IPでしか利用できないなどの欠点があるがハードウェアとオペレーティングシステムに依存しないため移植性に優れている。オラクルでいうと thin ドライバがこれ該当する。기본 프로토콜 드라이버 JDBC에서 쿼리 요청을 Java 에서 처리되어 버린다. Java 에서 데이터베이스에 액세스하기위한 모든 기능을 올려 놓기위한 드라이버의 크기가 커지는 성능이 약간 저하된다. 기본적으로 TCP / IP에서 밖에 사용할 수없는 등의 단점이 있으나 하드웨어와 운영 체제에 의존하지 않기 때문에 이식성이 뛰어나다. 오라클로 말하면 thin 드라이버 이것은 해당한다.
タイプ1、タイプ2はDBMSのDLLファイルやライブラリファイルを呼び出す形となるため、JVMのメモリー管理外となる。タイプ3、タイプ4についてはJVM上で Java のクラスとして実装されているためJVM上のガベージコレクションの対象となり管理が行いやすく、流れとしてはTYPE4が主流となっている。
유형 1, 유형 2는 DBMS의 DLL 파일이나 라이브러리 파일을 호출하는 형태가 되기 때문에, JVM의 메모리 관리에서 제외된다. 유형 3, 유형 4에 대해서는 JVM에서 Java 클래스로 구현되어 있기 때문에 JVM의 가비지 컬렉션 의 대상이 관리하고 쉽고 흐름은 TYPE4이 주류를 이루고 있다.
출처 : https://ja.wikipedia.org/wiki/JDBC
'etc.. 기타 카테고리 2 > 영어 번역 & 일본어 번역' 카테고리의 다른 글
Hardware Abstraction Layer(HAL)에 대해 (0) | 2015.07.19 |
---|---|
동적 링크(動的リンク)에 대해 (0) | 2015.07.19 |
관계 대수(Relational Algebra)에 대해 (0) | 2015.07.19 |
테이블(Table)에 대해 (0) | 2015.07.19 |
관계형 모델 (関係モデル)에 대해 (0) | 2015.07.19 |