데이터소스
Datasource이 글은 주제를 잘 모르는 사람들에게 불충분한 맥락을 제공한다.더하여 할 수 . (2021년 4월)(이 및 |
DataSource는 서버에서 데이터베이스로 설정된 연결에 주어진 이름이다. 이름은 일반적으로 데이터베이스에 대한 쿼리를 작성할 때 사용된다. DSN(데이터 소스 이름)은 데이터베이스의 파일 이름과 같을 필요는 없다. 예를 들어 friends.mdb라는 데이터베이스 파일은 학교의 DSN으로 설정될 수 있다. 그러면 DSN 학교가 쿼리를 수행할 때 데이터베이스를 참조하는 데 사용될 것이다.
Sun의 DataSource 버전 [1]
이 DataSource 개체가 나타내는 물리적 데이터 소스에 연결하기 위한 공장. 드라이버매니저 설비의 대안인 DataSource 개체는 연결을 얻기 위한 선호 수단이다. DataSource 인터페이스를 구현하는 개체는 일반적으로 JNDI(Java Naming and Directory Interface) API에 기반한 명명 서비스에 등록된다.
DataSource 인터페이스는 드라이버 벤더에 의해 구현된다. 구현 유형에는 다음 세 가지가 있다.
- 기본 구현 - 표준 연결 개체 생성
- 연결 풀링 구현 - 연결 풀링에 자동으로 참여하는 연결 개체를 생성한다. 이 구현은 중간 계층 연결 풀링 매니저와 함께 작동한다.
- 분산 트랜잭션 구현 - 분산 트랜잭션에 사용할 수 있는 연결 개체를 생성하고 거의 항상 연결 풀링에 참여하십시오. 이 구현은 중간 계층 트랜잭션 관리자와 함께 작동하며 거의 항상 연결 풀링 관리자와 함께 작동한다.
DataSource 개체는 필요할 때 수정할 수 있는 속성을 가지고 있다. 예를 들어 데이터 소스를 다른 서버로 이동하면 서버의 속성을 변경할 수 있다. 이점은 데이터 소스의 속성을 변경할 수 있기 때문에 해당 데이터 소스에 액세스하는 모든 코드를 변경할 필요가 없다는 것이다.
DataSource 개체를 통해 액세스하는 드라이버는 DriverManager에 등록되지 않는다. 오히려 데이터 원본 개체는 조회 작업을 통해 검색된 다음 연결 개체를 만드는 데 사용된다. 기본 구현으로, 데이터 소스 객체를 통해 얻은 연결은 드라이버 관리자 시설을 통해 얻은 연결과 동일하다.
Sun의 데이터 소스 개요 [2]
DataSource 개체는 Java 프로그래밍 언어로 데이터 소스를 표현하는 것이다. 기본적으로 데이터 소스는 데이터를 저장하는 시설이다. 대기업의 복잡한 데이터베이스처럼 정교하거나 행과 열이 있는 파일처럼 단순할 수 있다. 데이터 원본은 원격 서버에 위치하거나 로컬 데스크톱 컴퓨터에 위치할 수 있다. 애플리케이션은 연결을 사용하여 데이터 소스에 액세스하며, 데이터 소스 개체는 데이터 소스 인스턴스가 나타내는 특정 데이터 소스에 대한 연결을 위한 공장이라고 생각할 수 있다. 데이터 소스 인터페이스는 데이터 소스와 연결을 설정하는 두 가지 방법을 제공한다.
데이터 소스 객체 사용은 데이터 소스에 대한 연결을 설정하기 위해 드라이버 관리자를 사용하는 것보다 선호되는 대안이다. 그것들은 DriverManager 클래스와 DataSource 인터페이스 둘 다 연결 생성 방법, 연결 만들기에 대한 시간 초과 제한을 얻고 설정하는 방법, 그리고 로깅을 위한 스트림을 얻고 설정하는 방법을 가지고 있는 정도와 유사하다.
그러나 이들의 차이점은 유사점보다 더 크다. DriverManager와는 달리, DataSource 개체는 그것이 나타내는 데이터 소스를 식별하고 설명하는 속성을 가지고 있다. 또한 DataSource 개체는 Java Naming and Directory Interface(JNDI) 명명 서비스와 함께 작동하며, 이를 사용하는 애플리케이션과 별도로 생성, 배포 및 관리할 수 있다. 드라이버 벤더는 Java Database Connectivity(JDBC) 2.0 또는 3.0 드라이버 제품의 일부로 DataSource 인터페이스의 기본 구현 클래스를 제공한다. 시스템 관리자가 JNDI 명명 서비스에 DataSource 개체를 등록하기 위해 하는 작업과 JNDI 명명 서비스에 등록된 DataSource 개체를 사용하여 데이터 소스에 연결하기 위해 애플리케이션이 하는 작업은 이 장의 뒷부분에 설명되어 있다.
JNDI 명명 서비스에 등록되면 DataSource 개체가 드라이버 관리자보다 두 가지 큰 이점을 얻을 수 있다. 첫째로, 응용 프로그램은 드라이버 관리자처럼 드라이버 정보를 하드코드할 필요가 없다. 프로그래머는 데이터 소스의 논리 이름을 선택하고 논리 이름을 JNDI 명명 서비스에 등록할 수 있다. 애플리케이션은 논리적 이름을 사용하며, JNDI 명명 서비스는 논리적 이름과 관련된 DataSource 개체를 제공한다. 그러면 DataSource 개체는 그것이 나타내는 데이터 소스에 대한 연결을 만드는 데 사용될 수 있다.
두 번째 주요 이점은 데이터 소스 시설이 개발자들이 데이터 소스 클래스를 구현하여 연결 풀링과 분산 트랜잭션과 같은 기능을 이용할 수 있도록 한다는 것이다. 연결 풀링은 연결이 요청될 때마다 새로운 물리적 연결을 생성하는 대신 연결을 재사용함으로써 성능을 획기적으로 높일 수 있다. 분산거래를 이용할 수 있는 능력은 애플리케이션이 대기업의 중과세 데이터베이스 업무를 할 수 있게 해준다.
응용 프로그램이 연결을 얻기 위해 드라이버 관리자 또는 DataSource 개체를 사용할 수 있지만, DataSource 개체를 사용하는 것은 상당한 이점을 제공하며 연결을 설정하는 권장 방법이다.
1.4 이후
Java EE 6 이후 JNDI 바인딩된 데이터 소스는 애플리케이션 내에서 직접 선언적인 방식으로 구성할 수 있다.[1][2] 이 대안은 특히 자급자족 애플리케이션이나 내장형 데이터베이스를 투명하게 사용하는 데 유용하다.[3][4]
Yahoo의 DataSource 버전 [3]
데이터 소스는 다른 개체와 상호 작용하기 위해 공통적으로 예측 가능한 API를 제공하는 라이브 데이터 세트를 추상적으로 표현한 것이다. 데이터의 특성, 수량, 복잡성 및 쿼리 결과 반환에 대한 논리는 모두 데이터 원본 유형을 결정하는 데 역할을 한다. 소량의 간단한 텍스트 데이터의 경우 JavaScript 어레이를 선택하는 것이 좋다. 데이터의 설치 공간이 작지만 표시하기 전에 간단한 계산 또는 변환 필터가 필요한 경우, JavaScript 기능이 올바른 접근 방식이 될 수 있다. 예를 들어, 강력한 관계형 데이터베이스와 같은 대규모 데이터셋의 경우 또는 타사 웹 서비스에 액세스하려면 스크립트 노드 또는 XHR DataSource의 기능을 활용하십시오.
참조
- ^ "Archived copy". Archived from the original on 2013-12-03. Retrieved 2013-11-30.CS1 maint: 제목으로 보관된 복사본(링크)
- ^ "DataSourceDefinition (Java EE 6 )".
- ^ "The state of @DataSourceDefinition in Java EE". 30 June 2012.
- ^ "April 2012".