다행히도 요즘의 프로덕션 데이터베이스는 모두 일반적인 트랜잭션 처리 작업의 일환으로 미리 쓰기 로그Write-Ahead Log, WAL나 변경 로그change log를 작성합니다. 변경 로그는 데이터베이스의 테이블마다 테이블 안의 행/셀 변경 사항 하나하나를 캡처하며, 생산 데이터베이스의 복제본을 만들기 위해 사용될 수 있습니다. CDC를 진행할 때는 도구가 미리 쓰기 로그를 읽어서 변경 사항을 데이터 웨어하우스에 반영시킵니다. 이 방법은 배치 작업으로 테이블을 내보내는 것보다 훨씬 견고하며 생산 데이터베이스에 영향을 적게 줍니다.
그렇지만 초기부터 지속적으로 데이터를 올바르게 복제하려면 CDC를 종단 간 데이터 파이프라인으로 취급해야 하며, CDC 커넥터 수명 주기의 여러 측면을 함께 고려해야 합니다. 사례를 몇 가지 들겠습니다.
규모
CDC 파이프라인은 고용량 데이터 볼륨을 다룰 만큼 견고해야 합니다. 예를 들어 PostgreSQL에서 미리 쓰기 로그를 읽는 데 지연이 발생한다면 데이터베이스의 디스크 공간이 고갈될 수 있습니다.
복제 지연
메인 데이터베이스에 트랜잭션이 커밋되는 시간과 커밋된 트랜잭션 결과가 데이터 웨어하우스에 반영되는 시간 사이의 차이를 가리킵니다. 데이터를 변환하기 전에 파이프라인이 지연 시간을 최소화하는지 확인하는 검사가 필요합니다.