목록 보기
80TB 데이터 비용 10배 절감기: DynamoDB에서 Apache Iceberg로의 여정 - Part 1
아키텍처

80TB 데이터 비용 10배 절감기: DynamoDB에서 Apache Iceberg로의 여정 - Part 1

밸런스히어로
밸런스히어로
2026년 1월 22일

두줄요약

80TB 이중 저장 구조를 S3 기반 Iceberg 단일 테이블로 통합해 비용을 1/10로 낮추는 과정을 정리했습니다. Rowgroup, 버켓, 컴팩션, 파티션 조합으로 조회 파일 수를 크게 줄였습니다.

문제 상황

  • ACS 신용대안평가용 80TB 데이터가 DynamoDB와 S3에 이중 저장되어 월 약 1만 8천 달러 비용 부담 발생
  • DynamoDB는 서빙에는 빠르지만 저장·쓰기 비용이 크고, S3는 저렴하지만 대규모 유저 조회 성능이 부족
  • 일 3억 건 수준의 insert-only 데이터가 계속 쌓이며 분석과 서빙을 함께 만족할 단일 저장 구조 필요

해결 방법

  • DynamoDB+S3 이중 저장을 S3 기반 Apache Iceberg 단일 테이블로 통합
  • Parquet Rowgroup을 32MB로 조정하고 유저 기준 정렬로 필요한 데이터만 최소 단위로 읽는 구조 설계
  • 1분 단위 적재 데이터를 5분 단위로 컴팩션하고, 버켓과 연도 파티션을 조합해 조회 대상 파일 수를 축소

성능/운영 포인트

  • 실시간 단건 조회 평균 5초 이내 응답 속도 목표
  • 전체 이력 조회 시 최대 11개 파일만 병렬 읽기로 처리 단순화
  • 분석용 Athena/Spark와 서빙용 Python을 함께 쓰는 통합 관리 구조

적용해볼 점

  • 저장소 변경보다 읽기 단위 최소화와 파일 수 제어가 성능에 더 중요할 수 있음
  • 대용량 insert-only 데이터는 컴팩션과 파티셔닝 전략이 운영 비용에 직접 영향
  • 분석과 서빙을 동시에 만족해야 하는 경우 단일 테이블 설계 검토 가치 존재

댓글 0

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

댓글을 불러오는 중...