S3가 "무한 확장"이라고 광고하지만, 실제로는 어떻게 사용하느냐에 따라 성능이 수십 배 차이가 난다. 잘못된 접두사 설계로 핫 파티션을 만들거나, 단일 PUT으로 대용량 파일을 올리다 네트워크 오류로 처음부터 다시 시작하거나, 전 세계 사용자가 단일 리전 S3를 인터넷을 통해 접근하는 경우 — 이 모든 상황에서 S3는 병목이 된다. 이 day에서는 S3 성능의 수학적 한도를 이해하고, 그 한도를 최대한 활용하는 설계 패턴을 파고든다.
S3의 처리량은 접두사(Prefix) 단위로 독립적으로 적용된다. 구체적으로:
"접두사"란 객체 키에서 파일명을 제외한 앞부분이다. photos/2026/01/image.jpg에서 접두사는 photos/2026/01/다.
왜 접두사 단위인가? S3 내부적으로 데이터는 파티션에 분산 저장되며, 같은 접두사를 가진 객체들은 같은 파티션에 배치되는 경향이 있다. 접두사를 다양하게 만들면 S3가 내부적으로 여러 파티션에 분산 저장할 수 있고, 각 파티션의 한도가 독립적으로 적용된다.