CDC (Change Data Capture)는 데이터 실시간 동기화로 비즈니스 문제 해결의 도움을 주지만
모든 경우에 사용할 수 있는 것은 아니다.
* 참고 : CDC를 쓰는 이유 :
https://subbak2.tistory.com/93
CDC 대상 테이블을 선별하는 기준은
크게 1. 비즈니스 요건과 2. 테이블 물리구조로 나눠서 생각해볼 수 있다.
요약하면
소스DB의 변경이 성능에 영향을 줄 정도로 많지 않아야 하고, 타겟DB의 복제가 느려도 비즈니스 영향이 없어야 한다.
항목 | 세부항목 | CDC 적용 기준 |
비즈니스 요건 | 비즈니스 중요성 | 비즈니스의 실시간 요건 중요도가 높은가? - CDC 복제 중단시 타겟서버 실시간 업무 영향도 고려 - CDC 지연시 몇시간 지연 가능 |
Batch 발생량 | 사용자가 많은 시간대에 대량변경 Batch 작업 존재하는가? - 추출, 복제 지연 발생 - 소스/타겟 DBMS 리소스 과다 사용 가능 |
|
복제 성능 | 타겟 DB 적재가 10초 이상 걸려도 업무 영향 없는가? - CDC 대상 외 테이블 대량 변경 발생시 Redo Log 증가로 CDC 처리지연 발생 가능 |
|
RI 유지 (Referential Integrity) |
트랜잭션 순서 보장이 필요한가? - 필요시 CDC 적용 불가 |
|
Long / LOB 컬럼 변경 | Long / LOB 컬럼 변경 많지 않은 테이블인가? | |
테이블 물리 구조 | 테이블 레이아웃 | 소스 / 타겟 테이블 구조가 동일한가? - Partition Key 등 |
압축 여부 | Compress 옵션 적용되어있는가? - 온라인 데이터 추출 지연 발생 |
|
Nologging | Nologging mode 속성 존재하는가? - Nologging mode에서 CDC 변경 데이터 추출 불가 |
|
소스 DB 데이터 삭제 방식 | 소스 DB 데이터 삭제 방식이 Truncate 혹은 Partition exchange 방식인가? - Truncate / Partition Exchange된 데이터는 타겟 데이터 반영 안 됨 → 타겟 DB에서 별도 처리 필요 |
반응형
'데이터 사이언스 DataScience > Data Base 데이터베이스' 카테고리의 다른 글
[Oracle] Temp 테이블스페이스 사용량, 세션 확인 (2) | 2022.05.26 |
---|---|
[Oracle] 파티션 이름 변경 (subpartition 포함) (0) | 2022.05.15 |
[Oracle] 여유 공간이 있는데 df 에서는 없다고 나올 때 (ORA-19502) (0) | 2022.03.16 |
[Oracle] DBMS_JOB 실행 중 row lock contention 발생 (0) | 2022.03.02 |
[Oracle] LOB보다 TABLE 용량이 더 큰 이유 (0) | 2022.02.03 |