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

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

토스증권 Iceberg CDC 적용기

이 게시물은 Iceberg 테이블 포맷을 CDC 환경에 안전하게 적용하는 과정에서 겪은 문제와 해결 원칙을 공유합니다.

Iceberg Update 전략

  • COW(Copy-on-Write): 읽기 단순성에 초점, 쓰기 비용이 큼
  • MOR(Merge-on-Read): 쓰기 효율성에 초점, 읽기 시 삭제 파일 병합 필요

Delete 방식과 데이터 정합성

  • Equality Delete는 값 기반 삭제로 Commit 내 새 데이터까지 삭제 위험
  • Position Delete는 위치 기반 삭제로 Commit 내 업데이트 정합성 보장

Iceberg Sink Connector 문제점과 해결

  • 동일 id 이벤트가 같은 Kafka Partition에 들어가지 않으면 Position Delete 적용 실패
  • Commit Timeout 시 insertedRowMap 초기화로 인한 중복 발생
  • Schema Evolution 시 Writer 교체로 insertedRowMap 초기화 문제

운영 성과 및 향후 계획

토스증권은 위 문제들을 해결해 Iceberg CDC를 안정적으로 운영하며, 저장소 수준에서 중복 제거와 데이터 정합성을 확보하고 있습니다. 다음 글에서는 테이블 관리와 성능 최적화 기법을 다룰 예정입니다.

연관 게시글