Background Image
응용개발
2015.12.29 19:28

CUBRID HA 제약 사항 및 확인 방법

조회 수 5305 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

CUBRID HA는 다음의 제약 사항이 있다.

- Linux 계열에서만 사용할 수 있다. CUBRID HA 그룹의 모든 노드들은 반드시 동일한 플랫폼으로 구성해야 한다.

- 테이블은 반드시 기본 키(Primary key)가 포함되어야 한다.

- Java 저장 프로시저 환경 구축은 복제되지 않으므로, Java 저장 프로시저를 사용하려면 모든 노드에 각각 Java 저장 프로시저 환경을 설정해야 한다.

- CALL 문으로 호출되는 메서드(: login(), add_user(), drop_user(), change_owner())는 복제 되지 않으므로 사용하지 않아야 한다.

- 통계 정보를 갱신하는 UPDATE STATISTICS 문은 슬레이브 노드에 복제되지 않는다.

- 시리얼 캐시를 사용하는 경우 CUBRID HA 그룹 내 노드 간 시리얼의 현재 값이 일치하지 않는다.

- 백업 시 -r 옵션을 사용하면 복제에 필요한 보관 로그까지 삭제될 수 있으므로 사용하지 않아야 한다.

- 클릭카운드 함수(INCR/DECR)는 쓰기 작업이므로 슬레이브 노드에서 사용하면 오류를 반환한다.

- LOB(BLOB/CLOB) 타입은 데이터베이스 볼륨이 아닌 별도의 파일로 저장되고 메타 데이터만 볼륨에 저장되는 구조이므로 LOB 데이터가 복제되지 않기 때문에 사용하지 않아야 한다.

 

응용 개발 시 HA 구성을 고려한다면 위와 같은 제약 사항이 포함되지 않도록 주의해야 하고, 오픈 전 꼭 점검을 수행하여야 한다.

위 제약 사항 중 DB 내에 포함되어 있어 확인하기 쉽지 않은

- Primary Key 누락 테이블

- Java 저장 프로시저 사용 여부

- LOB 타입 사용 테이블 및 컬럼

- 시리얼 캐시 사용 여부

를 아래 SQL을 사용하면 쉽게 확인 할 수 있다.

dba 계정으로 로그인한 후 수행하여야 한다.

 select 'NON_PK' "case", class_name "value" from db_class

where class_type='CLASS' and is_system_class='NO'

and class_name not in (select distinct class_name from db_index where is_primary_key='YES')

union all select 'SP', sp_name from db_stored_procedure

union all select data_type, class_name||' '||attr_name as table_column from db_attribute

where data_type in ('CLOB','BLOB')

union all select 'Serial Cache', name from db_serial where cached_num >0;

실행 결과는 아래와 같다.

case                  value

============================================

  'NON PK'              'code'

  'NON PK'              'lob_tb'

  'SP'                  'hello'

  'CLOB'                'lob_tb c'

  'BLOB'                'lob_tb b'

  'Serial Cache'        'cache_seq' 


참고로 HA 환경에서 LOB 타입을 사용하여야 하는 경우 BLOB은 Bit varying, CLOB varchar 로 대체하여 사용할 수 있다.


  1. MySQL 테이블 크기 조사하기-공유

  2. CUBRID BACKUP (linux, window)

  3. Cubrid는 어떤 쿼리를 동일한 쿼리로 판단할까?

  4. 브로커와 DB 간 연결 테스트

  5. CUBRID HA 제약 사항 및 확인 방법

  6. cubrid plandump ( plan cache정보확인)

  7. CUBRID와 Oracle의 NULL과 '' (empty string)의 처리 차이점

  8. CM(CUBRID Manager)을 이용하여 행정표준코드시스템의 기관코드 가져오기

  9. 테이블 명세서 한 시트로 합치기

  10. 일정 범위 임의의 정수 생성 방법(random 함수 응용)

  11. 시스템 부하가 많지 않음에도 불구하고 질의 수행이 느린 경우 THP 기능 설정 확인 및 해제

  12. 큐브리드 서비스 재구동 시 cubrid manager server start: fail 오류 해결 방법

  13. maven에서 CUBRID JDBC Driver 추가하기

  14. 오라클의 DBMS_RANDOM.STRING() 함수를 CUBRID 식으로 구현하는 방법

  15. 테이블 용량 산정 쿼리

  16. WHERE 조건에서 다중 컬럼 IN절 처리 최적화 방법 (cubrid + ibatis)

  17. 브로커 동적 파라미터 변경 방법

  18. 전체 테이블 UPDATE시 SELECT, UPDATE를 통한 INDEX SCAN방식으로 테이블 X_LOCK을 방지하자!

  19. CUBRID HA 구성 후 구동중인 slave/replica node에서 write 하기

  20. INSERT수행 시, 현재날짜,현재시각으로 자동 입력하는 방법

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14

Contact Cubrid

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