1. CDC(Chage Data Capture)의 개요
가. CDC의 개념
- 데이터베이스(Database) 내 데이터에 대한 변경을 식별해 필요한 후속 처리(데이터 전송/공유 등)를 자동화하는 기술 또는 설계 기법이자 구조 (데이터 분석 전문가 가이드) [1]
- 변경된 데이터를 사용하여 동작을 취할 수 있도록 데이터를 결정하고 추적하기 위해 사용되는 여러 소프트웨어 디자인 패턴들의 모임 (위키피디아) [2]
나. CDC의 방식
- 푸시 방식 : 데이터 원천(Source)에서 변경을 식별하고 대상 시스템 변경 데이터를 적재
- 풀 방식 : 대상 시스템(Target)에서 데이터 원천을 정기적으로 살펴서 필요시 데이터를 다운로드
2. CDC 구현 기법
- 시스템 개발자들은 수많은 방식으로 또 애플리케이션 로직의 시스템 레이어들 중 하나 이상에서부터 물리적 저장소에 이르기까지 CDC를 구축할 수 있음 [2]
로우의 타임스탬프(Time Stamp on Rows)
- 마지막 변경 타임스탬프 값보다 더 최근의 타임스탬프 값을 갖는 레코드를 변경된 것으로 식별
로우의 버전 번호(Version Numbers on Rows)
- 레코드의 버전을 기록하는 컬럼을 두고, 기 식별된 레코드 버전보다 높은 버전을 보유한 레코드를 변경 한 것으로 식별
- 레코드들의 최신 버전을 기록 및 관리하는 참조 테이블을 함께 운용
로우의 상태 표시기(Status on Rows)
- 변경 여부를 True/False 불린(Boolean) 값으로 저장하는 컬럼의 상태 값을 기반으로 변경 여부 판단
- 타임스탬프와 버저닝을 보충
로우의 시간/버전/상태(Time/Version/Status on Rows)
- 타임스탬프, 버전 넘버, 상태 값의 세 가지 특성을 모두 활용
- 정교한 쿼리 생성으로 개발 유연성 제공
테이블에 트리거(Triggers on Tables)
- 테이터베이스의 트리거(Trigger)를 활용하여 대상 시스템에 변경 데이터를 배포 하는 형태(Publish/Subcribe) 패턴
- 트리거는 시스템 관리 복잡도를 증가시키며 변경 관리를 어렵게 할 수 있기에 사용에 주의
이벤트 프로그래밍(Event Programming)
- 데이터 변경 식별 기능을 어플리케이션 구현
- 어플리케이션의 개발 부담과 복잡도가 증가하지만 정확하고 다양한 매커니즘 구현 가능
로그 스캐너(Log Scanner on Database)
- 대부분의 데이터베이스 관리 시스템은 DB 고나리 내용과 메타데이터의 변경을 기록하는 트랜잭션 로그를 관리
- 트랜잭션 로그에 대한 스캐닝 및 변경 내역에 대한 해석을 통해 CDC 매커니즘 구현
- 이기종 데이터베이스를 활용 시 작업 규모 증가할 수 있음
참고자료
[1] 데이터 분석 전문가 가이드
'IT 자격증 > 데이터 분석 전문가(ADP)' 카테고리의 다른 글
데이터 연계 및 통합 기법 - ADP #6 (0) | 2022.04.30 |
---|---|
EAI(Enterprise Application Integration) - ADP #5 (0) | 2022.04.01 |
데이터 웨어하우스(Data Warehouse, DW) - ADP #3 (0) | 2022.03.28 |
ODS(Operation Data Store) 구성 - ADP #2 (0) | 2022.03.13 |
ETL(Extraction, Transformation and Load) - ADP #1 (0) | 2022.02.27 |