처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.04.10 20

Dropbox는 어떻게 엑사바이트급 스토리지를 더 효율적으로 만들었을까 — Magic Pocket 최적화 이야기

Hacker News 원문 보기
Dropbox는 어떻게 엑사바이트급 스토리지를 더 효율적으로 만들었을까 — Magic Pocket 최적화 이야기

자체 스토리지를 운영한다는 것

Dropbox는 2016년에 AWS S3에서 벗어나 자체 스토리지 시스템인 Magic Pocket으로 전환한 것으로 유명한데요. 수 엑사바이트(exabyte) 규모의 데이터를 직접 관리한다는 건, 단순히 서버를 많이 두는 것과는 차원이 다른 문제거든요. 디스크 하나하나의 공간을 얼마나 알뜰하게 쓰느냐가 곧 수백만 달러 단위의 비용 차이로 이어지는 세계예요.

이번에 Dropbox 엔지니어링 팀이 Magic Pocket의 스토리지 효율성을 개선한 과정을 상세하게 공개했어요. 단순히 "디스크를 더 샀다"가 아니라, 같은 하드웨어에서 더 많은 데이터를 담을 수 있게 만든 이야기인데요, 대규모 인프라를 다루는 분들에게 정말 좋은 사례가 될 것 같아요.

Magic Pocket이 뭔가요?

Magic Pocket은 Dropbox가 만든 불변(immutable) 블롭 스토어예요. "불변"이라는 건 한 번 저장된 데이터는 수정되지 않는다는 뜻이에요. 파일을 수정하면 기존 블롭을 고치는 게 아니라 새로운 블롭을 만드는 방식이죠. 이게 뭐가 좋냐면, 데이터 일관성을 보장하기가 훨씬 쉬워지거든요. 동시에 여러 서버에서 읽어도 "어, 내가 읽는 동안 누가 바꿨네?" 같은 문제가 없어요.

블롭(blob)이라는 건 Binary Large Object의 약자로, 그냥 큰 바이너리 덩어리라고 생각하면 돼요. 사진 한 장, 문서 하나가 각각 하나의 블롭이 되는 거죠.

핵심 최적화: 어디서 공간을 아꼈나

이번 개선의 핵심은 크게 몇 가지로 나눌 수 있어요.

첫 번째는 compaction(압축 정리) 프로세스의 개선이에요. 불변 스토어에서는 데이터가 삭제되어도 실제 디스크 공간이 바로 회수되지 않거든요. 마치 책장에서 책을 빼도 책장 자체는 그대로인 것처럼요. 그래서 주기적으로 "아직 유효한 데이터만 모아서 새로운 볼륨에 다시 쓰는" 작업이 필요한데, 이 과정을 더 똑똑하게 만든 거예요. 어떤 볼륨을 먼저 정리해야 가장 많은 공간을 회수할 수 있는지 우선순위를 매기는 알고리즘을 개선해서, 같은 I/O 비용으로 더 많은 공간을 확보할 수 있게 됐어요.

두 번째는 메타데이터 오버헤드 줄이기예요. 블롭 하나를 저장할 때 실제 데이터 외에도 "이 블롭이 어디에 있는지", "언제 만들어졌는지" 같은 부가 정보가 필요하잖아요. 작은 파일이 엄청나게 많을 때 이 메타데이터가 차지하는 비율이 무시 못 할 정도로 커지거든요. Dropbox는 이 메타데이터의 인코딩 방식을 최적화하고, 작은 블롭들을 더 효율적으로 묶어서 저장하는 방식을 도입했어요.

세 번째는 이레이저 코딩(erasure coding) 전략의 조정이에요. 이레이저 코딩이 뭐냐면, 데이터를 여러 조각으로 나누고 복구용 조각을 추가해서, 일부 디스크가 고장 나도 원본을 복원할 수 있게 하는 기술이에요. 예를 들어 10개 조각 + 4개 복구 조각으로 나누면, 14개 중 아무 10개만 있으면 원본을 복원할 수 있어요. 단순히 데이터를 3벌 복사하는 것보다 훨씬 공간 효율적이죠. Dropbox는 이 비율을 데이터의 접근 패턴에 따라 다르게 적용하는 방식으로 효율을 높였어요.

업계에서의 위치

이런 대규모 자체 스토리지 시스템을 운영하는 곳은 사실 많지 않아요. Google의 Colossus, Facebook(Meta)의 Tectonic, Microsoft의 Azure Storage 같은 시스템이 비슷한 규모의 도전을 하고 있는데요. 흥미로운 건 이들 모두 비슷한 문제 — compaction 효율, 메타데이터 오버헤드, 이레이저 코딩 최적화 — 를 각자의 방식으로 풀고 있다는 점이에요.

특히 최근에는 SSD 가격이 떨어지면서 "그냥 SSD로 바꾸면 되는 거 아니야?"라는 생각을 할 수 있는데, 엑사바이트 규모에서는 여전히 HDD가 비용 면에서 압도적이에요. 그래서 HDD 기반 시스템에서의 효율 최적화가 여전히 중요한 엔지니어링 과제로 남아 있는 거죠.

한국 개발자에게 주는 시사점

솔직히 엑사바이트급 스토리지를 직접 운영할 한국 기업은 많지 않아요. 하지만 여기서 나오는 개념들은 훨씬 작은 규모에서도 적용할 수 있거든요.

이레이저 코딩은 MinIO 같은 오픈소스 오브젝트 스토리지에서도 쓸 수 있고, compaction 전략은 RocksDB나 Cassandra 같은 LSM 트리 기반 데이터베이스를 튜닝할 때 직접적으로 관련 있어요. "삭제된 데이터의 공간을 언제, 어떻게 회수하느냐"는 문제는 규모와 상관없이 스토리지 시스템을 다루는 모든 엔지니어가 마주하는 과제이기도 하고요.

또한 "클라우드에서 자체 인프라로의 전환(repatriation)"이라는 트렌드를 보여주는 대표적인 사례이기도 해요. 클라우드 비용이 부담스러운 국내 스타트업이나 중견 기업에서도 참고할 만한 방향성이에요.

한 줄 정리

Dropbox의 Magic Pocket 최적화는 "같은 하드웨어로 더 많이 담기"라는 단순한 목표를 위해 compaction, 메타데이터, 이레이저 코딩이라는 세 축을 정교하게 개선한 엔지니어링 사례예요.

여러분이 운영하는 시스템에서 스토리지 비용을 줄이기 위해 시도해본 방법이 있다면, 어떤 것이 가장 효과적이었나요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

TTJ 코딩클래스 정규반

월급 외 수입,
코딩으로 만들 수 있습니다

17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.

144+실전 강의
17개수익 모델
4.9수강생 평점
정규반 자세히 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.