Iceberg는 정말 싸고 빠를까? – 운영 데이터 5가지 벤치마크 솔직한 결과
백엔드
Iceberg는 정말 싸고 빠를까? – 운영 데이터 5가지 벤치마크 솔직한 결과
두줄요약
실제 운영 데이터로 Iceberg와 Hive를 비교해 비용과 속도 차이를 검증했습니다. 큰 테이블부터 옮기고 SQL 패턴을 바꿔야 효과가 커졌습니다.
핵심 내용
- 실제 운영 CDC 테이블을 대상으로 Athena와 PySpark에서 Apache Iceberg와 Hive를 비교한 벤치마크
- 단순 SELECT부터 DPD 주별 추이 같은 복잡한 조인 쿼리까지 스캔량, 비용, 실행 시간 차이 측정
- Iceberg의 manifest 프루닝과 파일 통계 기반 후보 축소가 비용 절감의 핵심
- 부분 마이그레이션, SQL 패턴, 엔진별 옵티마이저 차이까지 함께 검증
선택 이유
- Iceberg는 단순히 포맷 변경만으로 끝나지 않고 쿼리 작성 방식에 따라 효과가 크게 달라짐
- 큰 테이블부터 옮기고, 조인되는 모든 테이블에 동일한 시간 조건을 거는 패턴이 중요
- Athena와 Spark는 같은 SQL에도 다르게 반응하므로 측정 기반 확인이 필요
장단점
- 장점: 스캔량과 비용 대폭 절감, 대용량 분석 쿼리에서 속도 개선, ACID와 스키마 진화, time travel, row-level mutation
- 단점: 작은 쿼리에서는 manifest 플래닝 오버헤드로 시간상 손해 가능
- 단점: 부분 마이그레이션에서는 효과가 크게 줄 수 있음
- 단점: Spark에서는 추가 predicate가 오히려 느려질 수 있음
적용해볼 점
- 큰 테이블부터 Iceberg로 전환
- 조인되는 모든 테이블에 동일한 시간 조건 적용
- Athena와 Spark 각각에서 핵심 쿼리 재측정
- Hive와 Iceberg 혼합 쿼리 모니터링
