CDC(Change Data Capture)
CDC(Change Data Capture):
- 데이터베이스 내 데이터에 대한 변경을 식별해 필요한 후속처리(데이터 전송/공유 등)를 자동화하는 기술 또는 설계 기법이자 구조
- 실시간 또는 근접 실시간 데이터 통합을 기반으로 하는 데이터 웨어하우스 및 기타 데이터 저장소 구축에 폭 넓게 활용
- 스토리지 하드웨어 계층에서부터 애플리케이션 계층에 이르기까지 다양한 계층에서 다양한 기술을 통해 구현
- 단일 정보 시스템 내에 다수의 CDC 메커니즘이 구현돼 동작될 수 있음
CDC 구현 기법
- Time Stamp on Rows
- Version Numbers on Rows
: 레코드들이 최신 버전을 기록, 관리하는 참조 '참조 테이블'을 함께 운영하는 것이 일반적
- Status on Rows
: 타임스탬프 및 버전 넘버 기법에 대한 보완 용도, 데이터 변경의 여부를 True/False의 불린(Boolean) 값으로 저장하는 칼럼의 상태값을 기반으로 변경 여부를 판단하는 기법
- Time/Version/Status on Rows
- Triggers on Tables
: 데이터베이스 트리거를 활용해 사전에 등록(Subscribe)된 다수 대상 시스템(Target)에 변경 데이터를 배포(Publish)하는 형태로 CDC를 구현하는 기법
: 시스템 관리 복잡도 증가, 변경 관리의 어려움, 확장성의 감소를 유발하는 등 전반적인 시스템 유지보수성을 저하시키는 특성이 있어 사용에 주의를 요함
- Event Programming
- Log Scanner on DataBase
: 각 데이터베이스 관리 시스템에 따라 트랜잭션 로그 관리 메커니즘 상이
: 데이터베이스와 사용 애플리케이션에 대한 영향도 최소화, 변경 식별 지연시간 최소화, 트랜잭션 무결성에 대한 영향도 최소화, 데이터베이스 스키마 변경 불필요
CDC 구현 방식
- 푸시 방식 : 데이터 원천(Source)에서 변경을 식별하고 대상 시스템(Target)에 변경 데이터를 적재해주는 방식
- 풀 방식 : 대상 시스템(Target)에서 데이터 원천(Source)을 정기적으로 살펴보고, 필요 시 데이터를 다운로드 하는 방식