Background Image
조회 수 3943 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
CUBRID SELECT Query Load Balance


▶  CUBRID SELECT Query Load Balance 튜토리얼 환경 :
- VMware Work Station 11
- VM Version 10
- OS : Linux Centos 6.7 64bit
- CUBRID Version : 9.3.6.0002
- CUBRID JDBC Driver Version : 9.3.6.0002 

▶  CUBRID SELECT Query Load Balance 목적 : 
     - 조회 질의(SELECT) 분산을 통해 Broker Server와 Data Bases Server 리소스 부하를 줄일 수 있다.


jdbcload1.png
(그림 1-1. CUBRID Load Balance 미사용 다중화 구성)



jdbcload2.png
(그림 1-2. CUBRID Load Balance 사용 다중화 구성)


▶ 튜토리얼 구성 시나리오
- Broker Server_1
- Host Name : BRO_SV_1
- IP : 192.168.0.111
- Broker Port : 33000

- Broker Server_2
- Host Name : BRO_SV_1
- IP : 192.168.0.111
- Broker Port : 33000

- DataBase Server_1
- Host Name : DB_SV_1
- IP : 192.168.0.221

- DataBase Server_2
- Host Name : DB_SV_1
- IP : 192.168.0.222

- Data Bases Info
- DB Name : demodb
- DB User : demouser
- Query Type : SELECT



JDBC Setting

▶ JDBC Driver Configuration
- JDBC 사용 옵션
     - loadBalance

- Load Balance 사용을 위한 URL

"jdbc:cubrid:192.168.0.111:33000:demodb:demouser::?althosts=192.168.0.112:33000&loadBalance=true"

- 해당 URL은 앞의 192.168.0.111과 192.168.0.112을 랜덤한 순서로 연결한다.


BROKER Setting 


▶ Broker Server 1 Configuration

- Fail-Over 발생 후 Fail-Back이 되게 되면 기존의 연결 된 CAS들은 JDBC LoadBalance 와 무관하게 Active로만 연결 되게 된다. 
- 이 부분을 cubrid_broker.conf 값의 RECONNECT_TIME=10s를 통해 자신의 databases.txt의 우선 순위가 되는 DataBases로 다시 연결 하는 Broker 옵션을 사용한다.

$ cat $CUBRID/databases/databases.txt
#db-name        vol-path                db-host         log-path                lob-base-path
demodb          /home/cubrid/DB/demodb  DB_SV_1:DB_SV_2    /home/cubrid/DB/demodb  file:/home/cubrid/DB/demodb/lob

$ cat $CUBRID/conf/cubrid_broker.conf

[%BROKER1]
RECONNECT_TIME=10s

$ cat /etc/hosts
192.168.0.111     BRO_SV_1
192.168.0.112     BRO_SV_2

192.168.0.221     DB_SV_1
192.168.0.222     DB_SV_2

# cat /etc/sysconfig/iptables

-A INPUT -p tcp --dport 33000 -j ACCEPT


▶ Broker Server 2 Configuration

- Fail-Over 발생 후 Fail-Back이 되게 되면 기존의 연결 된 CAS들은 JDBC LoadBalance 와 무관하게 Active로만 연결 되게 된다. 
- 이 부분을 cubrid_broker.conf 값의 RECONNECT_TIME=1s를 통해 자신의 databases.txt의 우선 순위가 되는 DataBases로 다시 연결 하는 Broker 옵션을 사용한다.

$ cat $CUBRID/databases/databases.txt
#db-name        vol-path                db-host         log-path                lob-base-path
demodb          /home/cubrid/DB/demodb  DB_SV_2:DB_SV_1    /home/cubrid/DB/demodb  file:/home/cubrid/DB/demodb/lob

$ cat $CUBRID/conf/cubrid_broker.conf

[%BROKER1]
RECONNECT_TIME=10s

$ cat /etc/hosts
192.168.0.111     BRO_SV_1
192.168.0.112     BRO_SV_2

192.168.0.221     DB_SV_1
192.168.0.222     DB_SV_2

# cat /etc/sysconfig/iptables

-A INPUT -p tcp --dport 33000 -j ACCEPT



DB Setting

▶ Data Base Server 1 Configuration

DB_SV_1 Master 모드

$ cat /etc/hosts
192.168.0.111     BRO_SV_1
192.168.0.112     BRO_SV_2

192.168.0.221     DB_SV_1
192.168.0.222     DB_SV_2

# cat /etc/sysconfig/iptables

-A INPUT -p tcp --dport 1523 -j ACCEPT
-A INPUT -p udp --dport 59901 -j ACCEPT


▶ Data Base Server 2 Configuration

DB_SV_2 Slave 모드

$ cat /etc/hosts
192.168.0.111     BRO_SV_1
192.168.0.112     BRO_SV_2

192.168.0.221     DB_SV_1
192.168.0.222     DB_SV_2

# cat /etc/sysconfig/iptables

-A INPUT -p tcp --dport 1523 -j ACCEPT
-A INPUT -p udp --dport 59901 -j ACCEPT




마치며

▶ CUBRID 다중화 구성

- CUBRID는 Broker와 Database Server 같은 시스템(OS)에 둘 수도 있으며, 별도의 시스템(OS)으로 분리도 가능하다.
- 이러한 점에서 CUBRID로 연결되는 Driver와  CUBRID의 Broker, Database의 연결 관계를 이해하면 다양한 다중화 구성이 가능하다.

▶ CUBRID 참고 문헌
     - CUBRID 시스템 구조
  (http://www.cubrid.org/manual/ko/9.3.0/intro.html#id1)

     -JDBC 연결 설정
          (http://www.cubrid.org/manual/ko/9.3.0/api/jdbc.html#jdbc-connection-conf)

     - Broker 접속 관련 파라미터
  (http://www.cubrid.org/manual/ko/9.3.0/admin/config.html#cubrid-broker-conf)



감사합니다.

  1. 트랜잭션과 LOCK 초급과정

    Date2010.07.01 Category기타 By정만영 Views20760
    Read More
  2. 큐브리드10.1 에서 윤초 지원 옵션 사용하기

    Date2017.09.13 Category기타 By최광일 Views1416
    Read More
  3. 콘솔에서 마이그레이션 하기.

    Date2015.06.19 Category기타 By권호일 Views13431
    Read More
  4. 조인 방법(Join Method) 설명

    Date2009.12.31 Category기타 By웁쓰 Views27994
    Read More
  5. 제로보드 XE 사용하기

    Date2008.11.21 Category기타 Byadmin Views33068
    Read More
  6. 자주 발생하는 큐브리드(cubrid) 에러 메시지 정리

    Date2011.07.14 Category기타 Byadmin Views81417
    Read More
  7. 자동증가 속성 사용 방법 및 주의 사항

    Date2010.02.26 Category기타 By남재우 Views35684
    Read More
  8. 윈도우즈 환경에서 배치화일을 이용하여 백업 또는 데이터베이스 정리 수행하기

    Date2010.03.03 CategoryWindows By남재우 Views27485
    Read More
  9. 오래 걸리는 질의 및 동일 시간에 수행 중인 질의 추출하기

    Date2009.05.26 Category기타 By손승일 Views20067
    Read More
  10. 오라클 개발자를 위한 CUBRID 개발 안내

    Date2009.04.01 Category기타 Byadmin Views49822
    Read More
  11. 예제로 배우는 CUBRID 스터디

    Date2009.12.29 Category기타 By문학청년 Views18552
    Read More
  12. 에러 메시지(error) 설명 및 조치 가이드

    Date2009.07.11 Category기타 ByCUBRID_DEV Views24443
    Read More
  13. 알고 보면 쉬운 cubrid lockdb 유틸리티

    Date2015.12.08 Category기타 By김승훈 Views12062
    Read More
  14. 시스템 카다로그

    Date2008.11.21 Category기타 Byadmin Views22333
    Read More
  15. 스칼라 서브쿼리 사용 가이드

    Date2009.12.31 Category기타 By웁쓰 Views28274
    Read More
  16. 서비스 오픈을 위한 CUBRID 구성 가이드

    Date2009.11.28 Category기타 By손승일 Views23204
    Read More
  17. 복제 따라하기

    Date2008.11.21 CategoryLinux Byadmin Views29095
    Read More
  18. 보안 설정

    Date2008.11.21 Category기타 Byadmin Views22838
    Read More
  19. 멀티미디어 데이터 관리를 위한 CUBRID GLO Method 활용

    Date2009.12.11 Category기타 Byjanus Views16191
    Read More
  20. 리소스를 제한(limits.conf) 하여 DB서버를 관리하자

    Date2015.12.31 CategoryLinux By주현 Views26609
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

Contact Cubrid

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