목록 보기
토스증권 Iceberg 적용기 #1: CDC 환경은 왜 제대로 동작하지 않을까?
백엔드

토스증권 Iceberg 적용기 #1: CDC 환경은 왜 제대로 동작하지 않을까?

토스
토스
2025년 9월 10일

두줄요약

Iceberg CDC에서 발생하는 정합성 이슈와 원인을 정리하고, Position Delete 중심의 처리 원칙을 설명했습니다. Kafka key 설정, Commit Timeout, Schema Evolution 대응으로 중복 문제를 해결한 사례를 공유했습니다.

핵심 내용

  • Iceberg의 Update/Delete 처리 방식인 COW와 MOR, 그리고 Commit과 Sequence Number의 동작 원리 정리
  • CDC 환경에서 동일 커밋 내 변경은 Position Delete로 처리되어야 정합성이 보장된다는 원칙 제시
  • Iceberg Sink Connector에서 Partition 분산, Commit Timeout, Schema Evolution으로 인해 Equality Delete가 섞이며 중복이 발생할 수 있음을 분석
  • Kafka key 설정, preCommit 처리, insertedRowMap의 별도 관리로 문제를 해결한 사례 공유

적용해볼 점

  • CDC 적재 시 키 기반 파티셔닝으로 동일 id 이벤트의 순서 보장
  • Writer 리셋이나 스키마 변경 시에도 동일 커밋 내 상태 관리가 유지되는 구조 점검
  • Iceberg를 저장소 레벨 중복 제거와 준실시간 적재에 활용하는 운영 방식 검토

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...