Background Image
제품 여행
2022.06.07 15:46

CUBRID DBLink

조회 수 1358 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

CUBRID DBLink

데이터베이스에서 정보를 주고받다 보면 종종 다른 타 데이터베이스의 정보 조회가 필요한 경우가 있다.

이렇게 타 데이터베이스의 정보를 조회할 수 있는 방법이 필요 하게 되었으며, CUBRID DBLink를 이용하면 타 데이터베이스의 정보를 사용할 수 있다.

CUBRID DBLink는 CUBRID, Oracle, MySQL의 데이터베이스의 정보를 조회할 수 있도록 기능을 제공하며,

타 데이터베이스의 정보를 마치 하나의 데이터베이스에서 조회하는 것과 같은 효과를 발휘한다.

단 타 데이터베이스를 여러 게 설정이 가능 하나, 정보를 조회할 때는 한개의 타 데이터베이스의 정보만 조회가 가능하다.

 

1. CUBRID DBLink 구성도

CUBRID DBLink는 동일기종 간에 DBLink 와 이기종 간의 DBLink를 지원한다.

 

- 동일기종 간의 DBLink 구성도

동일기종의 타 데이터베이스의 정보를 조회하기 위한 구성도를 보면 Database Server에서 CCI를 이용하여

동일기종의 Brokers에 접속하여 타 데이터베이스의 정보를 조회할 수 있다.

 구성도1.png

 

- 이기종 간의 DBLink 구성도

이기종의 타 데이터베이스의 정보를 조회하기 위한 구성도를 보면 GATEWAY를 통해서 이기종 타 데이터베이스의 정보를 조회할 수 있다.

GATWAY는 ODBC(Open DataBase Connectivity)를 이용하고 있다.

 구성도2.png

 

 

 

2. CUBRID DBLink 설정

- 동일기종 설정

위의 동일기종 구성도를 보면 타 데이터베이스의 Broker에 연결을 해야 하므로 타 데이터베이스에 대해 Broker 설정이 필요 하다.

이 설정은 일반적인 Broker 설정과 동일하다.

 

- 이기종 설정

이기종(Oracle/MySQL)에 접속하기 위한 정보 설정이 필요 하며, 이기종 설정 값은 GATEWAY에 작성해야 한다.

GATEWAY이 설정은 cubrid_gateway.conf의 파라메터를 통해 설정할 수 있다.

(참고로, GATEWAY는 ODBC를 이용하기 때문에 Linux의 경우, unixODBC Driver Manager가 설치되어야 한다.)

 

cubrid_gateway.conf의 DBLink 설정 예이다.

 broker.png

 

3. CUBRID DBLink 사용 방법

동일기종의 Brokers와 이기종의 GATEWAY 설정을 했다면,

DBLink Query문을 작성하여 데이터베이스의 정보를 조회하는 방법에 대해서 알아본다.

 

데이터 조회를 위한 DBLINK Query문 작성 방법 두가지 방법에 대해서 알아보자

 

첫째, FROM절에 DBLINK 구문을 작성하여 타 데이터베이스의 정보를 조회하는 방법

아래의 Query문은 IP 192.168.0.1의 타 데이터베이스의 remote_t 테이블 정보를 조회하는 Query문이다.

dblink_sql.png

위 구문을 보면 Connection정보, 타 데이터베이스 정보 조회를 위한 SELECT문,

SELECT문에 대응하는 가상의 테이블과 컬럼명 이렇게 세 부분으로 나누어져 있다.

 

두번째, DBLINK Query문에는 타 데이터베이스에 접속하기 위해 Connection 정보가 필요 하다.

Connection 정보는 동일하고 SELECT문만 변경이 필요한 경우, Query문을 작성할 때 마다 매번 Connection 정보를

작성해야 하는 번거로움이 있고, 사용자 정보(id, password) 가 외부로 노출될 우려가 있다.

이런 번거로움과 정보 보호를 위해 CREATE SERVER문을 이용하면, Query문을 보다 간단하고, 사용자 정보 보호에도 도움이 된다.

dblink_sql1.png

위의 구문을 보면 remote_srv1으로 Connection 정보를 대체할 수 있다.

 

4. CUBRID DBLink를 이용한 타 데이터베이스 조회

이제 CUBRID DBLink를 이용하기 위한 모든 절차가 완료되었으므로. Cubrid 데이터베이스 정보와,

타 데이터베이스 정보를 조회할 수 있다.

아래의 예는 CUBRID에서 MySQL의 정보를 조회하여, CUBRID의 정보와 MySQL의 보여 주고 있다.

 

- Cubrid의 테이블 정보

 query2.png

 

- MySQL의 테이블 정보

 query3.png

 

- DBLink Query문

 query4.png

 

- DBLink Query 수행 결과

CUBRID의 정보와 MySQL의 정보를 동시에 조회한 결과이다.

 result.png

 

  • ?
    리들러 2022.10.20 08:35
    cubrid db가 이중화 되어 있는 경우 CREATE SERVER 구문을 어떻게 작성해야 하는지요?
  • ?
    bwkim 2022.10.21 09:25
    CREATE SERVER server-name (
    HOST=host-name-or-ip
    ...
    PROPERTIES='?altHosts=host-name:port-num,host-name:port-num,...'
    );
    이런식으로 PROPERTIES에 이중화 되어 있는 호스트들을 기준으로 altHosts를 추가하면됩니다.
  • ?
    우수빈 2022.10.21 12:57
    추가적으로 답변 드립니다.
    gateway 와 broker 가 HA 관련 서버가 아닌 , 즉 master 또는 slave가 아닌 곳에 위치하고 있으면 HOST에 그곳의 주소 또는 hostname을 입력하면 됩니다.
    만약 동일 서버 즉, master 또는 slave에 위치한다면 localhost로 등록하면 됩니다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
144 나머지... DBeaver 환경을 새로운PC에 간편하게 복원하기 file HiCLASS 2022.12.26 4634 0
143 제품 여행 CUBRID Flashback file 김주호 2022.10.25 384 0
142 제품 여행 CUBRID to MySQL DBLink smnam 2022.10.25 848 0
141 제품 여행 CUBRID to Oracle DBLink 우수빈 2022.10.25 697 0
140 시장 살펴보기 공공부문 DBMS 정보자원 현황 file 정병주 2022.10.21 554 0
139 제품 여행 [CUBRID INSIDE] External Sort file 박세훈 2022.08.05 699 3
» 제품 여행 CUBRID DBLink 3 file airnet 2022.06.07 1358 0
137 제품 여행 DBeaver Database Tool 큐브리드 사용하기 2 file 정강부 2022.05.02 3582 0
136 제품 여행 [CUBRID INSIDE] 부질의와 QUERY REWRITER (view merging, subquery unnest) 1 file 박세훈 2022.04.22 674 1
135 제품 여행 CUBRID Internal: 큐브리드 데이터의 디스크 저장 (Double Write Buffer) file 김명규 2022.02.23 403 0
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 16 Next
/ 16

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales