AWS S3: 저렴한 하드 드라이브로 구동되는 초대규모 스토리지 시스템

2025-09-24
AWS S3: 저렴한 하드 드라이브로 구동되는 초대규모 스토리지 시스템

이 글에서는 Amazon S3의 놀라운 규모와 그 기반 기술을 밝힙니다. S3는 저렴한 HDD를 활용하여 대규모 병렬 처리, 이레이저 코딩, 그리고 정교한 부하 분산 기술(예: '두 개의 무작위 선택의 힘')을 통해 HDD의 느린 랜덤 I/O라는 병목 현상을 극복합니다. 이를 통해 초당 수백만 건의 요청, 초고속 처리량, 그리고 탁월한 가용성을 달성합니다. S3의 데이터 저장 전략에는 무작위 데이터 배치, 지속적인 데이터 재균형, 그리고 규모에 따른 부하 평준화 효과가 포함되어 핫스팟을 방지합니다. 사용자, 클라이언트, 서버의 세 가지 수준에서 병렬 처리를 통해 성능이 더욱 향상됩니다. 궁극적으로 S3는 백업 및 이미지 저장 서비스에서 빅데이터 분석 및 머신 러닝의 중요한 인프라로 발전했습니다.

더 보기
기술

카프카의 탄생: 데이터 통합 서사시

2025-08-24
카프카의 탄생: 데이터 통합 서사시

2012년, LinkedIn은 엄청난 데이터 통합 문제에 직면했습니다. 기존 데이터 파이프라인은 비효율적이고 확장성이 부족했으며 데이터 사일로 문제를 안고 있었습니다. 이 문제를 해결하기 위해 Apache Kafka가 개발되었습니다. 이 글에서는 Kafka의 기원을 탐구하고, 그 설계가 강력한 성능, 확장성, 실시간 기능, 원활한 데이터 통합의 필요성에서 비롯되었음을 밝힙니다. 데이터의 일관성과 호환성을 보장하기 위해 LinkedIn이 Avro 스키마와 스키마 레지스트리를 효과적으로 활용한 방법을 살펴봅니다. 궁극적으로 효율적인 데이터 관리를 달성했습니다. 또한 Kafka가 일급 스키마 지원이 부족한 점에 대해서도 논의하고, Buf와 같은 새로운 접근 방식과 비교합니다.

더 보기
개발 스키마