CDC
CDC (Change Data Capture) 란 데이터베이스에서 발생하는 데이터 변경(삽입, 수정, 삭제)을 실시간 또는 준실시간으로 감지하고 추적하여 다른 시스템으로 전달하는 기술 및 데이터 통합 패턴을 의미한다.

전체 데이터 대신 변경된 데이터만 처리하기 때문에 시스템 부하를 줄이면서 데이터의 실시간 동기화, 복제, 분석 등에 활용할 수 있어 데이터 마이그레이션, 실시간 DW 구축 등에 필수적이다.
방법론
CDC를 구현하는 방법은 여러 가지가 존재한다.
로그 기반 변경 데이터 캡처(Log-based Change Data Capture)
데이터베이스가 변경 사항을 기록하는 트랜잭션 로그를 사용해 변경 사항을 추적하여 처리한다.
로그 기반 방식은 데이터베이스 처리 속도가 느려지면 안 되는 시스템에 적합하지만, 로그 기반 CDC가 허용되지 않는 클라우드 배포 인스턴스, 호스티 솔루션 등에서는 사용할 수 없다는 단점을 가진다.
트리거 기반 변경 데이터 캡처(Trigger-based Change Data Capture)
변경 사항이 발생하는 즉시 기록하는 방식으로 모든 삽입, 삭제, 갱신 등의 작업을 변경을 수행할 뿐만 아니라 트리거가 변경을 별도 테이블에 기록한다.
보통 변경 사항을 완전히 기록하거나 행의 식별 키나 작업 유형만 기록하는 방식을 사용한다. 전자는 변경의 전체 기록을 접근할 수 있고 검색이 간단하다는 장점이 있지만 트랜잭션 양에 대한 데이터 양이 두 배가 된다는 단점이 있다. 후자는 트랜잭션에 미치는 영향은 적지만 키와 작업 유형으로 변경 기록을 재구성해야 한다. 때문에 테이블 간 조인 등으로 인한 추가 리소스가 발생할 수 있다.
이 방법은 데이터베이스 성능이 중요하지 않고 시스템의 처리량이 충분할 때 사용할 수 있다.
타임스탬프를 기반으로 한 변경 데이터 캡처 (Change data capture based on timestamps)
행 변경이 수행된 시간을 별도 열에 기록함으로써 해당 열에 필터링을 수행하여 변경 내용을 추적하는 방식이다. 다만 삭제된 행은 식별할 수 없다는 것이 단점이다.
차이 기반 변경 데이터 캡처 (Difference-based change data capture)
데이터를 무차별적으로 비교하여 식별한다. 모든 데이터를 가져와야 하기 때문에 두 개의 스냅샷을 기반으로 한다. 상대적으로 작은 데이터에 사용할 수 있고, 트랜잭션 일관성이 필요한 경우에는 적합하지 않다.
참고 문서
https://sanggi-jayg.tistory.com/entry/CDC-Change-Data-Capture