Datasource란?
=> WebLogic에서 제공하는 DB 연결 시스템. Datasource는 서버 시작 시 DB와 연결한 connection pool이 포함된다. Application은 JNDI tree를 look up 함으로써 Data Source를 찾고, 이를 통해 DB와 연결할 수 있다(getConnection()).
Datasource 종류
=> Generic data source
=> Multi data source (MDS)
=> Active GridLink data source (AGL)
1. Generic data source
- 일반적인 datasource 형태로, connection pool을 제공하여 DB와 연결. Connection management process를 통해 시스템이 효율적으로 돌아가게 해줌.
# JDBC driver
- WebLogic Administration Console에서 datasource를 생성 시, JDBC를 선택하게 되어 있다. 그 중, weblogic.jar에 포함되어 있어서 따로 classpath를 잡아주지 않아도 되는 (즉 Oracle WebLogic에서 제공하는) JDBC driver의 경우, 별다른 설치나 classpath 작업 없이 driver를 사용할 수 있다.
- 종류
- Oracle Thin Driver (XA / non-XA)
- Instance Connections : tnsnames.ora를 이용한 특정 instance에 대한 TNS 접속
- Service Connections : host의 listener가 인식하고 있는 특정 service에 대한 drive
- RAC Service-Instance Connections : RAC 구성에서 사용됨.
- MySQL (non-XA)
- Third parthy JDBC drivers
- DB2
- Informix
- Microsoft SQL Server
- Sybase
2. Multi data source
- 복수의 generic data source를 grouping하여 load balancing이나 fail-over 기능을 제공하는 data source. Multi data source를 연결하는 DB의 형태는 RAC 구성이나 redundant databases(HA) 등의 구성이다. 그러나 Multi data source는 DB 간 동기화를 제공하지는 않는다.
- Failover/ Load balancing
- Multi data source는 위 2개의 옵션 중 하나를 선택해서 생성을 하게 된다.
- Failover : generic data source의 정렬된 목록을 제공하는 알고리즘. 보통 multi data source에 대한 모든 연결 요청은 목록의 첫번째 generic data source에서 제공한다. DB 연결이 실패했을 경우, 목록에서 순차적으로 연결을 찾는다.
- Load balancing : 라운드 로빈 방식을 이용하여 연결 요청을 충족하는데 사용할 generic data source를 선택함.
### fail over를 선택할 시, connection 요청은 multi data source의 목록 첫번째부터 순서대로 불러오며, load balancing은 가용한 generic data source에게 connection 요청이 모두 분배된다.
3. Active GridLink data source
- Oracle DB에서만 사용이 가능한 data source. RAC 사용 시에 ONS(Oracle Notification Service)에 의해 oracle DB 상태 변경을 즉시 수신할 수 있는 이벤트 기반의 data source이다.
============================================================================
### Oracle RAC에 대한 guide line
=> Multi data source나 Active GridLink data source는 Oracle RAC cluster와 함께 작동되도록 설계되었다. 그렇기 때문에 Oracle은 Oracle RAC cluster에 general data source를 사용하는 것을 권장하지 않는다. 즉, non XA인 Oracle RAC 연결 시 driver를 RAC Service-Instance Connections를 이용하여 하는 것을 권장하지 않음.
'DB' 카테고리의 다른 글
Oracle DB 메모리 구조 (0) | 2023.10.25 |
---|---|
Vector DB (0) | 2023.06.13 |
WebLogic ~ MSSQL 연동 (0) | 2022.05.11 |
InsertBatch vs Insert (0) | 2022.05.10 |
SQuirreL SQL Client 연동 (0) | 2022.05.03 |