Fan-out(팬아웃)이란?
- 하나의 입력(source) 을 여러 개의 출력(destination) 으로 나누는 동작
예시 1) Kinesis에서의 Fan-out
- 입력
- 출력
- Firehose A
- Firehose B
- Lambda C
- Stream 하나에서 여러 소비자(Consumer)로 데이터를 나눠주는 동작이 바로 fan-out
- AWS는 이런 구조를 enhanced fan-out ( 소비자마다 읽기 처리량을 독립적으로 보장해주는 기능 ) 이라고 부른다.
예시 2) Iceberg에서의 Fan-out
- Iceberg에서도 “fan-out”이라는 개념은 비슷한 원리로 쓰인다.
- Iceberg 테이블은 내부적으로 데이터를 여러 파일 단위로 분할해서 저장
- 예: 한 파티션이 1,000만 행이라면 → 여러 Parquet 파일로 나뉨.
- 쿼리할 때는 이 파일들을 병렬로 스캔.
- 즉, Iceberg는
- “큰 데이터를 여러 파일로 fan-out(분산 저장)”
- “쿼리 시에도 여러 워커(task)가 병렬로 fan-out 스캔”