HA 구성 주의사항 문의

by 크리스탈양 posted Jun 28, 2014

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Linux 64bit
CUBRID Ver.
CUBRID 9.2(9.2.1.0020) 
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

이전에 교육 받은 자료중 HA 주의사항에 있던 내용 실제 9.2 버전에서도 동일한지 문의드립니다.


[ CUBRID HA 주의사항 ]  -- 이전 교육시 전달받은 PT 내용 입니다.
•기본 키(primary key)가 설정된 테이블에 대해서만 복제 가능
•다음의 경우 HA 구성에서 마스터 노드 데이터베이스와 슬레이브 노드 데이터베이스간 데이터 불일치 발생 가능
–테이블에 trigger 가 설정된 경우 : 슬레이브 노드에서 중복 수행 (CUBRID 9.2 이상 설정 가능)
–테이블에 method가 사용된 경우 : 메소드 사용 시 복제 로그가 생성되지 않아 복제되지 않음. 예) add_user()
–독립 실행 모드(standalone)에서 작업이 수행된 경우 : 작업 관련 로그가 슬레이브 노드로 반영되지 않음
–cubrid backupdb -r 사용 금지 : -r 옵션을 사용하여 로그를 삭제하는 경우 동기화가 완료되지 않은 로그가 삭제되어 불일치 발생할 수 있음.
•INCR/DECR 함수 : 슬레이브 노드에서 사용하지 않도록 주의.
•LOB(BLOB/CLOB) 타입의 경우 데이터는 복제되지 않고 메타 데이터만 복제됨.
•분할하여 작업할 수 없는 대량의 데이터 작업은 HA 정지 후 각 노드별로 따로 진행하는 것을 권장. 특히 UPDATE로 특정 컬럼을 모두 변경하는 작업이 있을 경우 HA 정지하고 각 노드에서 데이터 작업을 완료이후 HA를 구동.
•스키마 변경(기본키 변경 제외), 인덱스 변경, 권한 변경 작업의 경우 해당 테이블의 레코드 수가 많은 경우 마스터 노드에서 완료 후 슬레이브 노드로 복제로그가 복사되어 슬레이브 노드에 반영됨에 따라 운영 작업이 완료되는데 2배의 시간이 소요됨. 따라서 HA 정지 후 각 노드별로 변경 작업을 진행하는 것을



1) 현재 MSSQL  TABLE 중에는 PK가 없는 테이블이 있는데,  9.2 최신버전에서도 복제가 안되는지요?

그부분에 현재 MSSQL  TABLE 중에는 PK가 없습니다. 마이그레이션시 큐브리드 HA 사용하기 위해선 PK 가 없는 부분은

추가해줘야할지 고민입니다.

 

2) CLOB 컬럼 사용시 메타데이터만 복제된다고 했는대 이부분 파일을 별도로 slave 에 복사를 해줘야하나요?

mssql table 컬럼중에 clob 을 사용하는 컬럼이 있는데,  복제에 이슈가 있으면 컬럼 데이터타입을 변경할까합니다..


보통 이렇게 마이그레이션 이슈시 CLOB 인경우 varchar 형으로 변경해서 사용하는지요?