피드로 돌아가기
Ursa — a new Diskless Lakestream engine for Kafka
Dev.toDev.to
Infrastructure

S3 기반 Diskless 설계로 인프라 비용 10배 절감 및 Lakehouse 통합

Ursa — a new Diskless Lakestream engine for Kafka

Stanislav Kozlovski2026년 5월 7일14advanced

Context

기존 Kafka 아키텍처의 Broker 간 데이터 복제 및 Local Disk 저장 방식은 높은 EBS 비용과 Cross-AZ 트래픽 비용을 발생시킴. 특히 대규모 클러스터 운영 시 데이터 중복 저장으로 인한 저장 비용 증가와 운영 복잡도가 주요 병목 지점으로 작용함.

Technical Solution

  • Broker를 Stateless 및 Leaderless 구조로 변경하여 S3에 데이터를 직접 기록하는 Diskless Topics 도입
  • Open Table Format인 Apache Iceberg 및 Delta Lake를 Native하게 지원하여 별도의 ETL 과정 없는 Zero-copy 저장 구조 설계
  • Kafka 코드베이스에 최소한의 변경만 가하는 Minimally-invasive Fork 방식을 통해 기존 생태계 호환성 및 업그레이드 경로 확보
  • 단일 클러스터 내에서 고성능 Topic과 저비용 Diskless Topic을 선택적으로 운용하는 Adaptable Topic Profile 구현
  • S3의 Put/Get 비용 최적화를 위해 Batching 메커니즘을 적용하여 비용 효율성과 처리량 사이의 균형 도모

Impact

  • S3 활용을 통한 클라우드 인프라 비용 10배 절감
  • 데이터 중복 제거(Zero-copy)를 통한 저장 비용 50% 감소
  • p99 End-to-End Latency가 50-100ms에서 1000-2000ms로 증가하는 Trade-off 발생

Key Takeaway

모든 데이터 스트림이 저지연(Low-latency)을 필요로 하지 않는다는 점에 착안하여, 워크로드 특성에 따라 Storage 계층을 분리하는 전략적 아키텍처 설계가 비용 최적화의 핵심임.


- 서비스의 p99 Latency 요구사항을 분석하여 1초 이상의 지연을 허용하는 워크로드 식별 - 데이터 레이크와의 통합 시 ETL 파이프라인 제거를 위해 Open Table Format(Iceberg 등) 도입 검토 - 인프라 비용의 상당 부분이 Cross-AZ 트래픽과 EBS에서 발생하는지 정밀 분석 - 단일 클러스터 내에서 Topic별로 저장 전략을 다르게 가져갈 수 있는 유연한 구성 가능 여부 확인

원문 읽기