고객 사례 / 소프트웨어 및 인터넷
Dropbox, Amazon DynamoDB 및 Amazon S3에 확장 가능한 메타데이터 스토어를 구축하여 수백만 USD의 비용 절감
개요 | 데이터 마이그레이션 | 메타데이터 | 스토리지 경험 | 사용된 AWS 서비스
1년
1년 만에 AWS에서 메타데이터 스토리지 시스템 운영을 시작했습니다.
5.5
사용자별로 기가바이트당 비용을 5.5배 절감했습니다.
수백만 달러 절약
수백만 USD의 확장 비용을 절감했습니다.
300TB
2주 내에 300TB의 데이터를 마이그레이션했습니다.
4,000~6,000건의 쿼리
초당 쿼리 4,000~6,000건의 속도로 데이터를 수집합니다.
개요
2018년 여름, Dropbox는 일부 파티션의 빠른 데이터 증가로 인해 온프레미스 메타데이터 스토어의 용량이 부족해지는 문제에 직면했습니다. Dropbox의 데이터베이스 팀에게는 온프레미스 스토리지 용량을 두 배로 늘리거나(수백만 USD의 비용 발생), 대량의 메타데이터를 삭제하거나, 확장성이 뛰어나면서도 비용 효율적인 새 솔루션을 찾는 등 세 가지 선택지가 있었습니다. 세 번째 선택지가 최선이었지만 이는 실현하기가 어려웠습니다. Dropbox의 온프레미스 시스템은 최대 용량에 도달하기까지 2년도 채 남지 않았으며, 프로젝트 구현 팀에는 직원이 단 두 명뿐이었습니다.
이 같은 상황으로 인해 Dropbox는 Amazon Web Services(AWS)의 관리형 솔루션에 주목하게 되었습니다. Dropbox는 어떤 규모에서든 한 자릿수 밀리초의 성능을 제공하는 유연한 완전관리형 NoSQL 데이터베이스인 Amazon DynamoDB와 클라우드 객체 스토리지 서비스인 Amazon Simple Storage Service(S3)를 사용하여 Alki라는 새로운 관리형 스토리지 시스템을 빠르게 개발했습니다. 그 결과 사용자 메타데이터를 거의 무제한으로 저장할 수 있게 되었고, 온프레미스 스토리지를 늘릴 필요가 없어 수백만 USD를 절약할 수 있게 됐습니다. 뿐만 아니라 기가바이트당 비용도 5.5배 절감할 수 있었습니다.
레거시 데이터베이스에서 클라우드로 감사 로그 데이터 마이그레이션
매사추세츠 공과대학 학생 두 명이 2007년에 설립한 Dropbox는 글로벌 협업 도구이자 파일 공유 서비스입니다. 6억 명 이상의 사용자가 4,000억 개 이상의 콘텐츠를 업로드하면서, Dropbox는 세계에서 가장 성공적인 스타트업 중 하나가 되었습니다.
Dropbox의 메타데이터 스토어는 원래 이 회사의 메인 데이터 스토어인 Edgestore 내에만 존재했습니다. Edgestore는 분할된 MySQL 클러스터를 기반으로 구축되어 온프레미스 분산 데이터베이스에 호스팅된 스토어입니다. 2018년 중반에 이르러 콜드 메타데이터(액세스 빈도는 낮지만 안정적으로 저장되고 즉시 사용 가능해야 하는 데이터)가 급증하면서 Edgestore가 포화 상태에 이르기까지 2년도 채 남지 않게 되었습니다. 하지만 온프레미스 데이터베이스의 용량을 늘리려면 기존 파티션을 분할하고 이를 호스팅할 새 기기를 구매해야 했습니다. 그러면 연간 수백만 USD의 추가 비용이 발생하여 Edgestore의 비용이 두 배로 늘어나게 될 상황이었습니다. 또한 콜드 메타데이터를 핫 메타데이터 또는 자주 사용하는 메타데이터와 동일한 데이터베이스에 저장하는 것은 더 이상 현실적이지 않았습니다. Dropbox Alki 팀 Tech Lead, Jonathan Lee는 “자주 읽을 필요가 없는 데이터를 쓰는 경우, 이를 검색 속도에 최적화된 매체에 저장하는 것은 상식적으로 말이 되지 않음은 말할 것도 없고 비용이 매우 많이 듭니다.”라고 전했습니다.
그 결과 두 명의 데이터베이스 팀 직원이 팀에서 나와 메타데이터를 비용 효율적으로 저장하는 솔루션인 Alki를 구축하게 되었습니다. 이들은 특히 Edgestore의 주요 콜드 메타데이터 사용 사례인 감사 로그 데이터에 중점을 두었습니다. 이 소규모 Alki 팀은 촉박한 마감 기한을 놓칠 경우 잠재적으로 사용자 메타데이터가 손실될 수 있었습니다. 때문에 팀은 AWS에서 관리형 서비스를 구현하기로 결정했습니다. Dropbox는 Amazon DynamoDB와 Amazon S3를 사용하여 단 1년 만에 AWS에서 콜드 메타데이터 스토어를 신속하게 프로토타이핑하고 배포했습니다. AWS 솔루션스 아키텍트는 Dropbox Alki 팀의 일원처럼 함께 일하며 권장 가이드와 구현 지원을 제공했습니다.
Lee는 “스토리지 시스템을 구축할 때는 복제, 백업, 용량 관리 등 여러 가지 구성 요소를 고려해야 합니다. Amazon DynamoDB와 Amazon S3는 업계 표준 솔루션이므로 이러한 요구 사항에 잘 맞습니다”라고 전했습니다. “대규모 팀조차 이러한 문제를 해결하는 데는 몇 년이 걸립니다. 하지만 Amazon DynamoDB와 Amazon S3를 사용하면 데이터 복제, 데이터 내구성 관리 및 하드웨어 프로비저닝과 같은 복잡한 작업을 대부분 AWS가 처리하기 때문에 이러한 문제를 쉽게 해결할 수 있습니다. Amazon DynamoDB와 Amazon S3는 모두 용량 요구 사항에 따라 자동으로 확장됩니다. 더 이상 하드웨어 구매를 위해 온프레미스 용량과 예산을 계획한 후, 그 결정에 4년이 좌우되는 일은 없습니다.”
스토리지 시스템을 구축할 때는 복제, 백업 및 용량 관리와 같은 구성 요소를 고려해야 합니다. Amazon DynamoDB와 Amazon S3를 사용하면 AWS가 복잡한 작업을 많이 처리해 이러한 문제를 쉽게 해결할 수 있습니다.”
Jonathan Lee
Dropbox Alki Team Tech Lead
AWS 솔루션을 사용하여 핫 및 콜드 메타데이터 스토어 구축
Alki 팀은 AWS 솔루션스 아키텍트의 도움을 받아 로그 구조화 병합 트리(LSM 트리) 기반 메타데이터 스토리지 시스템을 구축했습니다. 이 시스템에는 2개의 데이터 스토리지 계층, 즉 핫 메타데이터용 상위 계층과 콜드 메타데이터용 하위 계층이 있습니다. Amazon DynamoDB는 핫 스토리지 계층 역할을 하며 테이블별로 초당 4,000~6,000건의 쓰기 속도로 감사 로그 데이터를 6개의 DynamoDB 테이블에 수집합니다. 그리고 각 테이블에 매일 50~80GB를 저장합니다. 하루가 끝나면 팀은 영구 저장을 위해 이러한 테이블의 메타데이터를 Amazon S3로 오프로드한 후 Amazon DynamoDB의 테이블을 삭제합니다.
Alki 팀이 Amazon DynamoDB와 Amazon S3를 선택한 지 6개월도 채 되지 않은 2019년 초에 Alki는 베타 프로덕션 단계에 접어들었고, 모든 데이터를 수집하고 일부 읽기 작업 서브셋을 처리하기 시작했습니다. 2019년 10월까지 약 300TB의 감사 로그 데이터(EdgeStore에 저장된 전체 데이터의 4분의 1에 해당)가 Alki로 마이그레이션되었으며, 현재는 전면 운영 중입니다.
Amazon DynamoDB와 Amazon S3의 확장성 덕분에 Dropbox 팀은 2주 내에 데이터 마이그레이션을 완료할 수 있었습니다. Lee는 “보통 안정된 상태에서 예상하는 규모의 10배에 달하는 시스템을 설계하게 됩니다. 하지만 AWS에서는 시스템을 미리 설계하지 않고도 100~1,000배까지 확장할 수 있습니다”라고 설명합니다. Alki 팀은 초당 4,000건의 쿼리가 안정적으로 처리될 것으로 예상했지만, 마이그레이션 중에 Amazon DynamoDB에 초당 60만 건의 쿼리를 프로비저닝할 수 있었습니다.
Lee에 따르면 AWS 솔루션스 아키텍트는 마이그레이션 기간 내내 Alki 팀에 최고 수준의 지원을 제공했습니다. Lee는 “Alki 프로젝트를 함께 진행한 AWS 팀과의 소통과 관련해서는 긍정적인 경험밖에 없었습니다. AWS 팀은 문제를 찾아내거나 작업 속도를 높일 수 있는 방법을 제시하거나 운영상 더 주의를 기울여야 할 부분을 알려주는 등 항상 문제가 발생하지 않도록 사전에 도와줬죠”라고 전했습니다. Alki 팀과 AWS 솔루션스 아키텍트는 실시간 채널을 통해 지속적인 커뮤니케이션을 유지할 수 있었습니다. 그리고 Alki 팀은 앞으로도 AWS의 관리형 서비스를 통해 이러한 협업의 이점을 계속 누릴 것입니다. Alki 팀의 Software Engineer인 Stas Ilinskiy는 “시스템을 안정적으로 운영하려면 전문 지식이 필요한데 저희에게는 그런 전문 지식이 없었습니다. 하지만 Amazon DynamoDB를 사용하면서 운영에 필요한 전문 지식을 갖춘 인력도 확보하게 되었습니다”라고 전했습니다.
Alki에 Amazon DynamoDB와 Amazon S3를 사용함으로써 Dropbox는 확장 비용 수백만 USD를 절감하고 사용자당 기가바이트 비용을 크게 절감했습니다. Dropbox Edgestore의 사용자 기가바이트당 비용은 Alki보다 연간 5.5배 더 높습니다.
우수한 사용자 스토리지 경험을 지속적으로 창출
Alki 팀은 Amazon EMR을 사용하여 Amazon DynamoDB의 데이터를 Amazon S3로 보다 효율적으로 오프로드할 수 있는 방법을 모색하고 있습니다. 이 프로세스는 현재 Dropbox의 자체 배치 처리 시스템에서 처리되고 있습니다. 또한 Alki를 통해 비용을 더욱 절감하기 위해 Dropbox는 2020년 10월 300TB의 콜드 메타데이터가 포함된 또 다른 데이터베이스를 Edgestore에서 Alki로 마이그레이션했습니다. 이를 범용 콜드 메타데이터 스토어로 활용할 수 있으므로, 향후 Dropbox가 Alki를 사용하여 비용을 최적화하고 더욱 절감할 수 있는 기반이 마련된 셈입니다. Lee는 “과연 저희가 특정 사용 사례를 이전하는 대신 Alki를 Edgestore와 통합하여 둘 사이에서 데이터를 투명하게 이동할 수 있을까요?”라고 질문했고 “이것이 저희의 다음 비전입니다”라는 답을 얻었습니다.
Alki 팀은 Amazon DynamoDB와 Amazon S3를 사용하여 내구성이 뛰어나고 확장 가능한 메타데이터 스토리지를 빠르게 운영 개시하여 Dropbox의 비용을 크게 절감할 수 있었습니다. AWS에서 제공하는 관리형 서비스는 이 스토리지를 지속 가능한 장기 옵션으로 유지할 수 있게 해줍니다. 또한 이 솔루션 덕분에 Dropbox는 Edgestore에서는 불가능했던 여러 프로젝트에 착수할 수 있게 되었습니다. Lee는 “고위 경영진이 Alki 프로젝트 전반을 매우 관심 있게 지켜보았습니다. 지금 저희는 Alki의 성능, 즉 Amazon DynamoDB와 Amazon S3의 성능에 매우 만족하고 있습니다”라고 전했습니다.
Dropbox 소개
샌프란시스코에 본사를 둔 Dropbox는 한곳에서 생활 전반을 관리하고 업무를 원활하게 진행할 수 있는 서비스를 제공합니다. 180개 국가에 있는 6억 명의 등록 사용자들을 위해, Dropbox는 작업 방식을 보다 현명하게 설계한다는 사명을 가지고 있습니다.
사용된 AWS 서비스
Amazon S3
Amazon Simple Storage Service(S3)는 업계 최고 수준의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다.
Amazon DynamoDB
Amazon DynamoDB는 어떤 규모에서도 10밀리초 미만의 성능을 제공하는 키-값 및 문서 데이터베이스입니다.
자세히 알아보기 »
Amazon EMR
Amazon EMR은 Apache Spark, Apache Hive, Apache HBase, Apache Flink, Apache Hudi, Presto 등과 같은 오픈 소스 도구를 사용하여 방대한 양의 데이터를 처리할 수 있는 업계 최고의 클라우드 빅 데이터 플랫폼입니다.
자세히 알아보기 »
더 많은 소프트웨어 및 인터넷 고객 사례
시작하기
모든 산업에서 다양한 규모의 조직이 AWS를 통해 매일 비즈니스를 혁신하고 임무를 수행하고 있습니다. 지금 전문가와 상담하고 AWS로의 여정을 시작하세요.