1. CDC의 개념 및 특징
- CDC(Change Data Capture): 데이터베이스 내 데이터에 대한 변경을 식별해 필요한 후속 처리(데이터 전송/공유 등)를 자동화 하는 기술 또는 설계 기법
- 데이터 베이스 A에서 B로 데이터를 옮길때는 ETL과정이 필요하나 여러가지 문제 (대용량으로 인한 속도, 기존 데이터 훼손 등)로 CDC작업을 수행
2. CDC 구현 기법
가. Time Stamp on Rows
- 변경이 반드시 인지되어야 하는 테이블 내 마지막 변경 시점을 기록하는 타임스탬프 칼럼을 두고, 마지막 변경 타임스탬프 값보다 더 최근의 타임스탬프 값을 갖는 레코드를 변경된 것으로 식별하는 기법이다.
나. Version Numbers on Rows
- 변경이 반드시 인지되어야 하는 테이블 해당 레코드의 버전을 기록하는 칼럼을 두고, 기 식별된 레코드 버전보다 더 높은 버전을 보유한 레코드를 변경된 것으로 식별하는 기법이다.
- 레코드들의 최신 버전을 기록, 관리하는 '참조 테이블'을 함께 운영하는 것이 일반적이다.
다. Status on Rows
- 타임 스탬프 및 버전 넘버 기법에 대한 보완 용도로 활용되어, 데이터 변경의 여부를 True/ False의 불린(boolean)값으로 저장하는 칼럼의 상태 값을 기반으로 변경 여부를 판단하는 기법이다.
- 더 높은 버전 넘버 또는 더 최근의 갱신 타임스탬프를 보유한 레코드에 대한 변경 여부 판단을 사람이 직접 결정할 수 있도록 유보하는 등의 업무 규칙을 적용할 수 있다.
라. Time/Version/Status on Rows
- 타임스탬프, 버전 넘버, 상태 값의 세 가지 특성을 모두 활용하는 기법이다.
- '특정 시간대의 버전 넘버 a.aa를 보유했으며 변경 상태 값이 True인 모든 레코드를 추출'과 같은 정교한 쿼리 생성에 활용해 개발에 유연성을 제공할 수 있다.
마. Triggers on Tables
- 데이터베이스 트리거를 활용해 사전에 등록(Subscribe0된 다수 대상 시스템(Target)에 변경 데이터를 배포(Publish)하는 형태로 CDC를 구현하는 기법이다.
- 데이터베이스 트리거는 시스템 관리 복잡도 증가, 변경 관리의 어려움, 확장성의 감소를 유바랗는 등 전반적인 시스템 유지보수성을 저하시키는 특성이 있어 사용에 주의를 요한다.
바. Event Programming
- 데이터 변경 식별 기능을 애플리케이션에 구현하며, 애플리케이션 개발 부담과 복잡도를 증가시키나, 다양한 조건에 의한 CDC 메커니즘을 구현할 수 있는 기법이다.
사. Los Scanner on Database
- 대부분의 데이터베이스 관리 시스템(DBMS)에서 제공하는 트랜잭션 로그에 대한 스캐닝 및 변경내역에 대한 해석을 통해 CDC 메커니즘을 구현하는 기법이다.
- 각 데이터베이스 관리 시스템에 따라 트랜잭션 로그 관리 메커니즘이 상이해 다수의 이기종 데이터베이스를 사용하는 환경에서 적용 시 작업 규모가 증가될 수 있으니 주의가 필요하다.
- 장점 : 데이터베이스와 사용 애플리케이션에 대한 영향도 최소화, 변경 식별 지연시간 최소화, 트랜잭션 무결성에 대한 영향도 최소화, 데이터베이스 스키마 변경 불필요
3. CDC 구현 방식
- 푸시 방식: Souce DB에서 변경을 식별하고 Target DB에 변경 데이터를 적재해 주는 방식
- 풀 방식: Target DB에서 Source DB를 정기적으로 살펴보고 필요시 데이터를 다운로드 하는 방식
'ADP(데이터분석 전문가) > 스터디노트' 카테고리의 다른 글
[2과목] 대용량의 비정형 데이터 처리 방법 (0) | 2021.02.02 |
---|---|
[2과목] EAI(Enterprise Application Integration) (0) | 2021.02.02 |
[2과목] 데이터 처리 프로세스 (0) | 2021.02.02 |
[2과목] ETL 개요 (0) | 2021.02.01 |
[1과목] 빅데이터의 위기요인 (0) | 2021.02.01 |