HDD로 1PB 저장하는 S3의 비밀
AWS S3는 HDD 기반의 스토리지를 사용하여 저렴한 비용으로 대규모 데이터 저장을 제공함
데이터 분산 및 복제 기술을 통해 안정성과 내구성을 확보하고, 초당 1PB 처리 능력을 달성함
RAID 구성 및 페리티(Parity) 기술을 활용하여 데이터 손실 시에도 원본 복구가 가능하도록 설계됨
2-way 및 3-way 스트라이핑과 같은 데이터 분산 기법으로 읽기/쓰기 성능을 극대화함
HDD 기반 스토리지의 경제성과 성능
발표자는 AWS S3가 고성능 SSD 대신 HDD를 주 스토리지로 활용하여 비용 효율성을 극대화한다고 설명합니다. 이는 페타바이트(PB) 규모의 데이터를 저렴하게 저장할 수 있게 하며, RAID 구성과 데이터 분산 기법을 통해 HDD의 단점인 느린 속도를 보완합니다. 초당 1페타바이트(1PB/s)의 처리 능력은 이러한 아키텍처 설계 덕분에 가능하다고 강조됩니다.
데이터 분산 및 복구 메커니즘
영상에서는 데이터를 여러 하드 드라이브에 분산 저장하는 스트라이핑(Striping) 기법을 설명합니다. 특히 2-way 및 3-way 스트라이핑을 통해 읽기/쓰기 성능을 향상시키고, 페리티(Parity) 정보를 함께 저장하여 특정 드라이브 장애 시에도 데이터를 복구할 수 있도록 설계되었습니다. 이는 데이터 격리 아키텍처(Data Isolation Architecture)를 통해 개별 하드웨어 장애가 전체 시스템에 미치는 영향을 최소화합니다.
투 초이스(Two-Choice) 알고리즘의 활용
데이터를 저장할 하드 드라이브를 선택할 때, 무작위로 하나를 고르는 대신 두 개를 무작위로 선택하여 사용률이 낮은 쪽을 택하는 '투 초이스(Two-Choice)' 알고리즘을 사용한다고 설명합니다. 이 방식은 모든 하드 드라이브의 사용률을 균등하게 유지하여 특정 드라이브의 과부하를 방지하고, 전체적인 저장 성능을 최적화하는 데 기여합니다. 이는 부하 분산(Load Balancing)의 효과적인 예시입니다.
이레이저 코딩(Erasure Coding)을 통한 데이터 내구성 강화
데이터를 여러 조각으로 나누고 추가적인 페리티(Parity) 데이터를 생성하여 저장하는 이레이저 코딩(Erasure Coding) 기술을 활용합니다. 예를 들어, 데이터를 5개 조각으로 나누고 2개의 페리티 조각을 생성하면, 총 7개의 조각 중 어떤 5개만 복구해도 원본 데이터를 복원할 수 있습니다. 이는 데이터 중복 저장(Redundancy) 방식보다 저장 공간 효율성을 높이면서도 높은 내구성을 제공합니다.
S3의 동적 확장성과 가용성
AWS S3는 수십억 개의 객체와 페타바이트 규모의 데이터를 처리할 수 있도록 동적으로 확장 가능한 아키텍처를 갖추고 있습니다. 수많은 하드 드라이브를 활용하여 병렬 처리 능력을 극대화하며, 지속적인 모니터링과 자동 복구 메커니즘을 통해 높은 가용성을 보장합니다. 이는 마이크로서비스 아키텍처(Microservices Architecture)와 유사하게, 개별 컴포넌트의 장애가 전체 서비스에 영향을 미치지 않도록 설계되었습니다.