AWS S3, HDD로 1PB/s 처리하는 비결은?

by DD
2개월 전
조회수 12

AWS S3는 HDD 기반으로 초당 1PB 이상의 트래픽을 처리하며, 400조 개 이상의 객체를 저장함

대규모 병렬 처리(Massive Parallelism), 데이터 분산(Data Distribution), Erasure Coding을 통해 HDD의 성능 한계를 극복함

Power of Two Random Choices를 활용한 로드 밸런싱(Load Balancing)으로 핫스팟(Hotspot) 문제를 해결함

멀티 테넌시(Multi-tenancy)를 통해 비용 효율성을 높이고, 데이터 인프라(Data Infrastructure) 구축을 단순화함

HDD의 물리적 한계와 S3의 해결책

S3는 HDD의 물리적 제약(Physical Limitations), 특히 120 IOPS로 고정된 성능 한계를 극복하기 위해 대규모 병렬 처리(Massive Parallelism)를 활용한다. 데이터를 여러 HDD에 분산 저장하여 각 드라이브의 처리량을 합산하는 방식으로, 1TB 파일을 2만 개의 HDD에 분산하면 TB/s 단위의 읽기 속도를 달성할 수 있다. 이는 HDD의 느린 임의 접근(Random Access) 속도를 극복하는 핵심 전략이다. 또한, Erasure Coding을 통해 데이터 중복을 최소화하면서도 데이터의 가용성을 확보한다.

Erasure Coding을 통한 데이터 내구성 확보

S3는 Erasure Coding을 사용하여 데이터의 내구성을 확보하고, 3-way replication 대비 저장 공간 효율성을 높인다. 5-of-9 scheme을 사용하여 9개의 조각 중 5개만 있으면 데이터를 복구할 수 있도록 설계되었다. 이는 최대 4개의 노드 장애를 허용하며, 3-way replication보다 더 많은 스트래글러 노드(Straggler Nodes)에 대한 저항성을 제공한다. Erasure Coding은 데이터 로드를 분산시키고, 핫스팟 발생을 방지하는 데 기여한다.

로드 밸런싱 및 데이터 분산 전략

S3는 Power of Two Random Choices 기법을 활용하여 데이터 배치 시 로드 밸런싱을 수행한다. 새로운 데이터는 임의의 HDD 세트에 배치되며, 다음 PUT 요청은 다른 HDD 세트를 선택한다. 또한, 데이터의 핫스팟을 방지하기 위해 지속적인 데이터 재분배(Continuous Rebalancing)를 수행한다. 이러한 전략은 시스템의 전반적인 성능을 향상시키고, HDD의 I/O 병목 현상을 완화하는 데 기여한다.

멀티 테넌시(Multi-tenancy)의 경제적 효과

S3는 멀티 테넌시(Multi-tenancy)를 통해 비용 효율성을 극대화한다. 여러 고객의 데이터를 공유하는 방식으로, 개별 고객이 자체적으로 대규모 HDD 인프라를 구축하는 것보다 훨씬 저렴하게 서비스를 제공할 수 있다. 이는 S3가 대규모 데이터 인프라를 구축하고 운영하는 데 있어 중요한 요소이며, 데이터 격리 아키텍처(Data Isolation Architecture)를 통해 각 테넌트의 데이터를 안전하게 보호한다.

S3의 미래와 데이터 인프라의 변화

S3는 백업, 비디오, 이미지 저장에서 시작하여 현재는 분석 및 머신 러닝을 위한 주요 스토리지 시스템으로 발전했다. 최근에는 Diskless 트렌드를 통해 로컬 디스크 대신 S3를 활용하는 사례가 증가하고 있으며, 이는 비용 절감 효과를 가져온다. Apache Kafka와 같은 시스템에서도 S3를 활용하여 콜드 데이터를 저장하는 등, 데이터 인프라 전반에서 S3의 역할이 더욱 중요해지고 있다.

How AWS S3 serves 1 petabyte per second on top of slow HDDs

댓글 0

첫 번째 댓글을 남겨보세요!