CDC: 두 판 사이의 차이

IT위키
편집 요약 없음
편집 요약 없음
1번째 줄: 1번째 줄:
[[분류:데이터베이스]][[분류:데이터 분석]]
[[분류:데이터베이스]]
[[분류:데이터 분석]]
 
;Change Data Capture
;Change Data Capture


* 데이터베이스에서 변경된 부분만 캡쳐하여 백업하거나 전송하는 등의 처리 기법
*데이터베이스에서 변경된 부분만 캡쳐하여 백업하거나 전송하는 등의 처리 기법
* 기존 ETL에서 배치를 통해 대량의 데이터를 처리하여 DW로 보내던 무거운 작업을 간소화
*기존 ETL에서 배치를 통해 대량의 데이터를 처리하여 DW로 보내던 무거운 작업을 간소화
* Oracle9i Database에서 처음 소개
*Oracle9i Database에서 처음 소개
 
==캡처 대상==
 
*마지막 추출 이후 원본 테이블에 삽입된 데이터(INSERT)
*마지막 추출 이후 원본 테이블에서 수정된 데이터(UPDATE)
*마지막 추출 이후 원본 테이블에서 삭제된 데이터(DELETE)
 
== 구현 기법 ==
{| class="wikitable"
|+
!기법
!내용
|-
|Time Stamp on Rows
|
* 레코드의 마지막 변경 시점을 기록하는 타임스탬프 칼럼 사용
* 마지막 변경 타임스탬프 값보다 더 최근 값의 레코드 식별
|-
|Version Numbers on Rows
|
* 레코드의 버전을 기록하는 칼럼 이용
* 기 식별된 레코드 버전보다 더 높은 레코드를 식별
* 레코드의 최종 변경을 기록하는 참조 테이블을 함께 운용
|-
|Status On Rows
|
* 타임스탬프 및 버전 기법을 보완
* 변경 여부를 True/False로 저장하는 상태 값으로 변경 식별
* 더 최근 값에 대한 변경 여부를 유보할 수 있음
|-
|Time/Version/Status on Rows
|
* 타임스탬프/버전/상태 값 3가지를 모두 활용
* 시간대, 최신 여부, 상태를 다각도로 판단하는 규칙 사용 가능
|-
|Triggers on Tables
|
* 데이터베이스 트리거 이용
* Subscribe한 다수의 대상 시스템에 변경 데이터를 배포
* 시스템 관리 복잡도 감소 및 확장성 제한 문제
|-
|Event Programming
|
* 데이터 변경 식별 기능을 애플리케이션에 구현
* 다양한 조건에 의한 CDC 매커니즘 구현 가능
|-
|Log Scanner on Database
|
* [[데이터베이스 로그|트랜잭션 로그]]에 대한 스캐닝 및 분석을 통해 CDC 구현
* DBMS마다 로그가 상이해 이기종 환경에서 사용 어려움
|}


== 캡처 대상 ==
==같이 보기==
* 마지막 추출 이후 원본 테이블에 삽입된 데이터(INSERT)
* 마지막 추출 이후 원본 테이블에서 수정된 데이터(UPDATE)
* 마지막 추출 이후 원본 테이블에서 삭제된 데이터(DELETE)


== 같이 보기 ==
*[[데이터 웨어하우스]]
* [[데이터 웨어하우스]]
*[[데이터 분석]]
* [[데이터 분석]]

2020년 3월 6일 (금) 22:34 판


Change Data Capture
  • 데이터베이스에서 변경된 부분만 캡쳐하여 백업하거나 전송하는 등의 처리 기법
  • 기존 ETL에서 배치를 통해 대량의 데이터를 처리하여 DW로 보내던 무거운 작업을 간소화
  • Oracle9i Database에서 처음 소개

캡처 대상

  • 마지막 추출 이후 원본 테이블에 삽입된 데이터(INSERT)
  • 마지막 추출 이후 원본 테이블에서 수정된 데이터(UPDATE)
  • 마지막 추출 이후 원본 테이블에서 삭제된 데이터(DELETE)

구현 기법

기법 내용
Time Stamp on Rows
  • 레코드의 마지막 변경 시점을 기록하는 타임스탬프 칼럼 사용
  • 마지막 변경 타임스탬프 값보다 더 최근 값의 레코드 식별
Version Numbers on Rows
  • 레코드의 버전을 기록하는 칼럼 이용
  • 기 식별된 레코드 버전보다 더 높은 레코드를 식별
  • 레코드의 최종 변경을 기록하는 참조 테이블을 함께 운용
Status On Rows
  • 타임스탬프 및 버전 기법을 보완
  • 변경 여부를 True/False로 저장하는 상태 값으로 변경 식별
  • 더 최근 값에 대한 변경 여부를 유보할 수 있음
Time/Version/Status on Rows
  • 타임스탬프/버전/상태 값 3가지를 모두 활용
  • 시간대, 최신 여부, 상태를 다각도로 판단하는 규칙 사용 가능
Triggers on Tables
  • 데이터베이스 트리거 이용
  • Subscribe한 다수의 대상 시스템에 변경 데이터를 배포
  • 시스템 관리 복잡도 감소 및 확장성 제한 문제
Event Programming
  • 데이터 변경 식별 기능을 애플리케이션에 구현
  • 다양한 조건에 의한 CDC 매커니즘 구현 가능
Log Scanner on Database
  • 트랜잭션 로그에 대한 스캐닝 및 분석을 통해 CDC 구현
  • DBMS마다 로그가 상이해 이기종 환경에서 사용 어려움

같이 보기