one of a kind scene

4-1 데이터 처리 프로세스_CDC(Change Data Capture) 본문

ADP/이론

4-1 데이터 처리 프로세스_CDC(Change Data Capture)

specialscene 2019. 11. 17. 23:10

CDC(Change Data Capture)

 

1. CDC란?

     - CDC(Change Data Capture)는 데이터베이스 내 데이터에 대한 변경을 식별해 필요한 후속처리(데이터 전송/공유 등)를 자동화하는 기술 또는 설계 기법이자 구조

     - 실시간 또는 근접 실시간 데이터 통합을 기반으로 하는 데이터 웨어하우스 및 기타 데이터 저장소 구축에 폭 넓게 활용

 

2. CDC 구현 기법

     ① Time Stamp on Rows

          • 테이블 내 마지막 변경 시점을 기록하는 타임스탬프 칼럼 존재

          • 더 최근의 타임스탬프 값을 갖는 레코드가 발견되면 변경된 것으로 식별

     ② Version Numbers on Rows

          • 테이블 내 버전을 기록하는 칼럼 존재

          • 더 최근의(=더 높은) 버전을 보유한 레코드가 발견되면 변경된 것으로 식별

     ③ Status on Rows

          • 타임 스탬프 및 버전 넘버 기법에 대한 보완 용도로 활용

          • 타임 스탬프 및 버전에 따라 데이터 변경의 여부를 True/False의 불린(boolean)값으로 저장하는 칼럼 존재

          • 불린(boolean)값을 기반으로 변경 여부 판단

     ④ Time/Version/Status on Rows

          • 타임스탬프, 버전 넘버, 상태 값의 세가지 특성을 모두 활용하는 기법

     ⑤ Triggers on Tables

          • 데이터베이스 트리거를 활용 사전에 등록(Subscribe)된 다수 대상 시스템(Target)에 변경 데이터를 배포(Publish)하는 형태로 CDC를 구현

          • 데이터베이스 트리거는 시스템 복잡도 증가, 변경 관리의 어려움, 확장성의 감소를 유발하는 등 시스템 유지보수성을 저하시키는 특성이 있음

     ⑥ Event Programming

          • 데이터 변경 식별 기능을 애플리케이션에 구현

          • 이로인해 애플리케이션 개발 부담과 복잡도를 증가시키나, 다양한 조건에 의해 CDC 매커니즘을 구현

     ⑦ Log Scanner on Database

          • 트랜잭션 로그에 대한 스캐닝 및 변경 내역에 대한 해석을 통해 CDC 매커니즘을 구현

          • 다수의 서로 다른 데이터베이스를 사용하는 환경에서 적용 시 작업 규모가 증가될 수 있으므로 주의가 필요

          • 장점 : 데이터베이스와 사용 애플리케이션에 대한 영향도 최소화, 변경 식별 지연시간 최소화, 트랜잭션 무결성에 대한 영향도 최소화, 데이터베이스 스키마 변경 불필요

 

2. CDC 구현 방식

      푸시(Push) 방식 : 데이터 원천(Source)에서 변경을 식별하고 대상 시스템(Target)에 변경 데이터를 적재해 주는 방식

     ② 풀(Pool) 방식 : 대상 시스템(Target0에서 데이터 원천(Source)을 정기적으로 살펴보고, 필요 시 데이터를 다운로드 하는 방식