더북(TheBook)

다행히도 요즘의 프로덕션 데이터베이스는 모두 일반적인 트랜잭션 처리 작업의 일환으로 미리 쓰기 로그Write-Ahead Log, WAL변경 로그change log를 작성합니다. 변경 로그는 데이터베이스의 테이블마다 테이블 안의 행/셀 변경 사항 하나하나를 캡처하며, 생산 데이터베이스의 복제본을 만들기 위해 사용될 수 있습니다. CDC를 진행할 때는 도구가 미리 쓰기 로그를 읽어서 변경 사항을 데이터 웨어하우스에 반영시킵니다. 이 방법은 배치 작업으로 테이블을 내보내는 것보다 훨씬 견고하며 생산 데이터베이스에 영향을 적게 줍니다.

그렇지만 초기부터 지속적으로 데이터를 올바르게 복제하려면 CDC를 종단 간 데이터 파이프라인으로 취급해야 하며, CDC 커넥터 수명 주기의 여러 측면을 함께 고려해야 합니다. 사례를 몇 가지 들겠습니다.

 

규모

CDC 파이프라인은 고용량 데이터 볼륨을 다룰 만큼 견고해야 합니다. 예를 들어 PostgreSQL에서 미리 쓰기 로그를 읽는 데 지연이 발생한다면 데이터베이스의 디스크 공간이 고갈될 수 있습니다.

 

복제 지연

메인 데이터베이스에 트랜잭션이 커밋되는 시간과 커밋된 트랜잭션 결과가 데이터 웨어하우스에 반영되는 시간 사이의 차이를 가리킵니다. 데이터를 변환하기 전에 파이프라인이 지연 시간을 최소화하는지 확인하는 검사가 필요합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.