[데이터 처리 기술의 이해] 데이터 처리 프로세스 #2 CDC
CDC, Change Data Capture
1. CDC의 개념 및 특징
- CDC는 데이터베이스 내 데이터에 대한 변경을 식별해 필요한 후속처리(데이터 전송/공유)를 자동화하는 기술 또는 설계 기법이자 구조이다.
- 실시간 또는 근접 실시간 데이터 통합을 기반으로 하는 데이터 웨어하우스 및 기타 데이터 저장소 구축에 넓게 활용된다.
- 스토리지 하드웨어 계층에서붑터 애플리케이션 계층에 이르기까지 다양한 계층에서 다양한 기술을 통해 구현될 수 있다.
- 단일 정보 시스템 내 다수의 CDC 메커니즘이 구현돼 동작될 수 있다.
2. CDC 구현 기법
1) Time Stamp on Rows : 변경이 반드시 인지되어야 하는 테이블 내 마지막 변경 시점을 기록하는 타임스탬프 컬럼을 두고, 마지막 변경 타임스탬프 값보다 더 최근의 타임스탬프 값을 갖는 레코드를 변경된 것으로 식별하는 기법
2) Version Numbers on Rows : 변경이 반드시 인지되어야 하는 테이블 해당 레코드의 버전을 기록하는 컬럼을 두고, 기 식별된 레코드 버전보다 더 높은 버전을 보유한 레코드를 변경된 것으로 식별하는 기법
3) Status on Rows : 1), 2) 기법에 대한 보완 용도로 활용. 데이터 변경 여부를 True/False의 불린 값으로 저장하는 컬럼의 상태 값을 기반으로 변경 여부를 판단
4) Time Version/Status on Rows : 1), 2), 3) 세가지 특성 모두 활용
5) Triggers on Tables :
- 데이터베이스 트리거를 활용해 사전에 등록된 다수 대상 시스템에 변경된 데이터를 배포하는 형태로 CDC를 구현하는 기법.
- 시스템 관리 복잡도 증가, 변경 관리의 어려움, 확장성 감소를 유발하는 등 전반적인 시스템 유지보수성을 저하시키는 특성이 있어 사용에 주의를 요한다.
6) Event Programming : 데이터 변경 식별 기능을 애플리케이션에 구현하며, 애플리케이션 개발 부담과 복잡도를 증가시키나, 다양한 조건에 의한 CDC 메커니즘을 구현할 수 있는 기법이다.
7) Log Scanner on Database :
- 대부분의 데이터 베이스 관리 시스템에 제공하는 트랜잭션 로그에 대한 스케닝 및 변경 내역에 대한 해석을 통해 CDC 메커니즘을 구현.
- 데이터베이스 관리 시스템에 따라 트랜잭션 로그 관리 메커니즘이 상이해 다수의 기기종 데이터베이스를 사용하는 환경에서 적용 시 작업 규모가 증가될 수 있으니 주의가 필요하다
- 장점 : 데이터 베이스와 사용 애플리케이션에 대한 영향도 최소화, 변경 식별 지연시간 최소화, 트랜잭션 무결성에 대한 영향도 최소화, 데이터베이스 스키마 변경 불필요.
3. CDC 구현 방식
1) PUSH : 데이터 원천에서 변경을 식별하고 대상 시스템에 변경 데이터를 적재해 주는 방식
2) PULL : 대상 시스템에서 데이터 원천을 정기적으로 살펴보고, 필요 시 데이터를 다운로드 하는 방식