Back
ESSAY번역
DEC 23, 2025

Dropbox 멀티미디어 검색: 파일 검색을 더욱 유용하게 만들기

원문: Dropbox Multimedia Search: Making File Search More Useful


면책 조항: 이 글의 세부 사항은 Dropbox Engineering Team이 온라인에 공유한 내용을 바탕으로 작성되었습니다. 모든 기술적 세부 사항에 대한 크레딧은 Dropbox Engineering Team에 있습니다. 원본 기사 및 출처에 대한 링크는 글 말미의 참고 자료 섹션에 있습니다. 우리는 이러한 세부 사항을 분석하고 우리의 의견을 제공하려고 노력했습니다. 부정확하거나 누락된 사항이 있으면 댓글을 남겨주시면 최선을 다해 수정하겠습니다.

마감 시한에 쫓기는 상황에서 지난달 캠페인에서 사용한 특정 이미지나 클라이언트 프레젠테이션의 비디오 클립이 절실하게 필요합니다. 그 파일이 어딘가에 존재한다는 것은 알고 있지만, 어디에 있을까요? 프로젝트 폴더에 있었을까요? 공유된 팀 드라이브? 아니면 오래된 아카이브의 3단계 깊이에 중첩되어 있을까요?

우리 모두는 어느 시점에 이런 상황을 겪어봤을 것입니다. 이것은 클라우드 스토리지 내에서 올바른 파일을 찾는 데 수많은 시간을 낭비하는 지식 근로자들의 일상적인 현실입니다.

멀티미디어 콘텐츠의 경우 문제는 더욱 답답해집니다. 문서는 종종 설명이 포함된 제목과 내부에 검색 가능한 텍스트를 가지고 있지만, 이미지와 비디오는 일반적으로 IMG_6798이나 VID_20240315와 같은 암호 같은 기본 이름을 가지고 있습니다. 의미 있는 레이블이 없으면 이러한 파일들은 수동으로 폴더를 탐색하거나 정확히 어디에 저장했는지 기억하지 않는 한 찾는 것이 거의 불가능합니다.

Dropbox는 유니버설 검색 및 지식 관리 플랫폼인 Dropbox Dash에 멀티미디어 검색 기능을 구축하여 이 문제를 해결했습니다.

엔지니어링 팀이 직면한 과제는 더 이상 단순히 파일을 찾는 것이 아니었습니다. 파일 안에 무엇이 있는지를 찾는 것입니다. 그리고 폴더 구조가 불가피하게 무너지거나, 파일이 팀 구성원에 의해 이동되거나 이름이 변경되거나, 또는 단순히 필요한 것의 위치를 기억할 수 없을 때, 전통적인 파일명 기반 검색은 부족합니다.

이 글에서는 Dropbox 엔지니어링 팀이 멀티미디어 검색 기능을 어떻게 구현했는지, 그리고 그 과정에서 직면한 기술적 과제들을 살펴보겠습니다.

멀티미디어 검색의 과제

이미지, 비디오, 오디오 파일에 대한 검색 기능을 구축하는 것은 텍스트 문서 검색과 비교했을 때 근본적으로 다른 문제들을 제시합니다.

주요 과제는 다음과 같습니다:

  • 스토리지 비용: 크기 차이가 상당합니다. 이미지 파일은 일반적인 문서보다 평균 약 3배 크고, 비디오 파일은 약 13배 더 큽니다. 이러한 크기 차이는 증가된 스토리지 수요와 비용으로 직접 전환됩니다.

  • 컴퓨팅 집약도: 스토리지를 넘어서, 멀티미디어 파일은 유용한 특징을 추출하기 위해 훨씬 더 많은 처리 능력을 필요로 합니다. 복잡성은 단순히 더 큰 파일을 처리하는 것을 넘어섭니다. 텍스트 문서와 달리, 멀티미디어 검색은 유용하기 위해 여러 해상도의 시각적 미리보기가 필요하며, 이는 계산 요구사항을 극적으로 증가시킵니다.

  • 관련성 랭킹: Dropbox Dash는 이미 텍스트 콘텐츠에 최적화된 정교한 다단계 검색 및 랭킹 시스템을 운영하고 있었습니다. 이를 멀티미디어로 확장한다는 것은 완전히 새로운 유형의 신호를 인덱싱하고, 이러한 신호를 효과적으로 활용하는 쿼리 계획을 생성하며, 관련 없는 결과가 상위에 나타나는 것을 방지하기 위한 엣지 케이스를 처리하는 것을 의미했습니다.

  • 미리보기 생성 딜레마: 사용자는 올바른 파일을 빠르게 식별하기 위해 시각적 미리보기가 필요하며, 원활한 경험을 위해 여러 해상도의 미리보기가 필요합니다. 그러나 인덱싱된 파일 중 실제로 검색 중에 보이는 것은 작은 부분에 불과합니다. 모든 것에 대해 미리보기를 사전 생성하는 것은 극도로 낭비적일 것이지만, 검색 중에 주문형으로 생성하는 것은 사용자를 좌절시킬 수 있는 지연 시간 문제를 야기합니다.

Dropbox 엔지니어링 팀은 그들의 솔루션이 Dash 내에서 직접 미디어 콘텐츠의 원활한 탐색, 필터링 및 미리보기를 지원하도록 해야 했습니다. 이것은 더 높은 인프라 비용, 더 엄격한 성능 요구사항, 그리고 원래 텍스트 기반 검색을 위해 설계된 시스템을 적응시키는 것을 의미했습니다.

아키텍처

빠르고 정확한 멀티미디어 검색을 제공하면서 비용을 관리 가능하게 유지하기 위해, Dropbox 엔지니어링 팀은 세 가지 핵심 기둥을 기반으로 구축된 솔루션을 설계했습니다:

  • 메타데이터 우선 인덱싱 파이프라인

  • 지능형 위치 인식 검색

  • 필요할 때만 시각 자료를 생성하는 미리보기 생성 시스템

메타데이터 인덱싱 파이프라인

멀티미디어 검색의 기초는 인덱싱으로 시작되는데, 이는 나중에 빠르게 검색할 수 있도록 파일을 카탈로그화하는 프로세스입니다. Dropbox는 모든 단일 파일에 대해 깊은 콘텐츠 분석을 수행하는 대신 경량 메타데이터를 인덱싱하기로 중요한 초기 결정을 내렸습니다. 이 접근 방식은 계산 비용을 극적으로 줄이면서도 효과적인 검색을 가능하게 합니다.

이 멀티미디어 검색 기능을 구축하기 전에, Dropbox는 스토리지 및 컴퓨팅 비용을 낮게 유지하기 위해 의도적으로 원시 미디어 blob을 다운로드하거나 저장하는 것을 피했습니다. 그러나 이것은 기존 검색 인덱스가 풍부한 미디어 특정 검색 경험을 지원하는 데 필요한 기능이 부족하다는 것을 의미했습니다. 이 격차를 메우기 위해 팀은 필요한 기능을 추출하기 위해 멀티미디어 blob 콘텐츠를 수집하는 지원을 추가했습니다. 중요한 것은, 미리보기 생성을 위해서만이 아니라 파일을 다시 수집할 필요 없이 미래에 추가 기능을 계산할 수 있도록 하기 위해 원시 콘텐츠를 유지한다는 것입니다.

이 인덱싱 파이프라인을 구동하기 위해, Dropbox는 Dropbox Search를 위해 이미 매일 수십 페타바이트의 데이터를 처리하는 기존 내부 컴퓨팅 프레임워크인 Riviera를 활용했습니다. 검증된 인프라를 재사용함으로써 팀은 완전히 처음부터 무언가를 구축하지 않고도 확장성과 신뢰성에서 즉각적인 이점을 얻었습니다.

인덱싱 프로세스는 각 멀티미디어 파일에서 여러 핵심 정보를 추출합니다. 여기에는 파일 경로 및 제목과 같은 기본 세부 정보, 카메라 메타데이터, 타임스탬프 및 GPS 좌표와 같은 EXIF 데이터, 심지어 Canva와 같은 애플리케이션에서 사용 가능한 경우 타사 미리보기 URL까지 포함됩니다.

아래 다이어그램을 참조하세요:

Indexing Pipeline

데이터는 다음과 같은 방식으로 시스템을 통해 흐릅니다:

  • 원시 파일이 blob 스토어에 저장됩니다

  • Riviera가 이러한 파일에서 기능과 메타데이터를 추출합니다

  • 정보가 타사 커넥터를 통해 흐릅니다

  • Kafka 메시지 브로커가 데이터를 전송합니다

  • Transformer가 정보를 처리하고 구조화합니다

  • 마지막으로 모든 것이 검색 인덱스를 채웁니다

이 메타데이터 우선 접근 방식은 처리 오버헤드를 최소화하면서 검색 기능에 대한 경량 기반을 제공합니다. 팀은 향후 반복에서 의미론적 임베딩 및 광학 문자 인식과 같은 더 깊은 콘텐츠 분석 기술을 선택적으로 통합할 계획이지만, 간단하게 시작하는 것이 더 빠른 출시를 가능하게 했습니다.

Geolocation-Aware Retrieval System

Dropbox가 멀티미디어 검색에 구축한 또 다른 기능은 촬영된 위치를 기반으로 사진과 비디오를 찾는 능력입니다. 이 지리적 위치 인식 시스템은 역 geocoding지오코딩이라는 프로세스를 통해 작동합니다.

아래 다이어그램을 참조하세요:

Geolocation-Aware Retrieval

인덱싱 중에 파일의 메타데이터에 GPS 좌표가 포함되어 있으면, Dropbox는 해당 좌표를 계층적 위치 ID 체인으로 변환합니다. 예를 들어, 샌프란시스코에서 촬영된 사진은 샌프란시스코를 캘리포니아에, 캘리포니아를 미국에 연결하는 체인을 생성합니다. 이 계층 구조는 다양한 지리적 수준에서 유연한 검색을 가능하게 하기 때문에 중요합니다.

쿼리 시점에 사용자가 "캘리포니아의 사진"과 같이 검색하면, 시스템은 "캘리포니아"가 지리적 참조임을 식별하고, 위치 ID의 캐시된 매핑에 대해 검증한 후, 해당 위치 또는 샌프란시스코와 같은 하위 위치로 태그된 모든 사진을 검색합니다. 알려진 지리적 위치의 수가 관리 가능한 크기를 가지고 있기 때문에, Dropbox는 서비스 시작 시 전체 위치 매핑을 캐시하여 조회를 극도로 빠르게 만듭니다.

이 접근 방식은 사용자가 정확한 위치를 기억하거나 장소별로 구성된 폴더 구조를 탐색할 필요 없이 위치 기반 검색의 과제를 우아하게 처리합니다.

적시 (Just-In-Time) 미리보기 생성

Dropbox가 내린 가장 흥미로운 아키텍처 결정은 모든 파일에 대해 미리 계산하는 대신 요청 시 미리보기를 생성하는 것이었습니다. 이 선택은 앞서 언급한 미리보기 생성 딜레마를 직접적으로 해결합니다.

근거는 간단했습니다. Dropbox는 사용자가 쿼리하는 것보다 대략 3자릿수 크기로 더 높은 속도로 파일을 수집합니다. 모든 단일 멀티미디어 파일에 대해 미리보기를 사전 계산하는 것은 특히 인덱싱된 파일 중 작은 부분만이 검색 중에 실제로 보이기 때문에 엄청나게 비쌀 것입니다.

대신, 검색이 결과를 반환할 때 시스템은 프론트엔드가 가져올 수 있는 미리보기 URL을 생성합니다. 이러한 URL은 즉시 여러 해상도로 썸네일과 미리보기를 생성하는 Riviera 위에 구축된 미리보기 서비스를 가리킵니다. 동일한 미리보기를 반복적으로 생성하는 것을 피하기 위해 시스템은 스토리지 비용과 성능 사이의 균형을 맞추면서 30일 동안 캐시합니다.

아래 다이어그램을 참조하세요:

Just-In-Time Preview Generation

팀은 결과 랭킹, 권한 확인 및 추가 메타데이터 가져오기와 같은 다른 검색 작업과 병렬로 미리보기 URL 생성을 실행하여 속도를 최적화했습니다. 이 병렬화는 전체 응답 시간을 크게 줄입니다. 사용자가 카메라 정보나 정확한 타임스탬프와 같은 특정 파일에 대한 더 많은 세부 정보를 보고 싶을 때, 시스템은 별도의 엔드포인트를 통해 요청 시 이 메타데이터를 가져와서 초기 검색 응답을 간결하고 빠르게 유지합니다.

아래 다이어그램을 참조하세요:

Metadata on demand

기술적 트레이드오프 및 설계 결정

멀티미디어 검색 기능을 구축하는 것은 Dropbox 엔지니어링 팀이 리소스를 어디에 투자하고 효율성을 위해 어디를 최적화할지에 대한 신중한 선택을 해야 했습니다.

비용 대 성능 결정

팀은 시스템 성능과 인프라 비용의 균형을 맞추기 위해 세 가지 주요 트레이드오프를 만들었습니다.

  • 첫째, 초기에는 메타데이터만 인덱싱하도록 선택하여 OCR 및 의미론적 임베딩과 같은 비싼 콘텐츠 분석 기술을 향후 반복으로 연기했습니다. 이를 통해 컴퓨팅 비용을 관리 가능하게 유지하면서 더 빠르게 출시할 수 있었습니다.

  • 둘째, 수집 중이 아닌 적시에 미리보기를 생성하여 쓰기 경로에서 읽기 경로로 컴퓨팅을 이동했습니다.

  • 마지막으로, 현재 미디어 파일의 97%를 커버하는 선택적 수집을 구현했으며, 엣지 케이스 처리를 최적화하는 작업이 진행 중입니다.

작동하는 것을 재사용하기

처음부터 모든 것을 구축하는 대신, Dropbox는 가능한 모든 곳에서 코드 재사용성을 극대화했습니다. 기존 인프라와의 일관성을 위해 기존 Riviera 프레임워크를 활용하고 이미 실전 검증된 Dropbox 미리보기 서비스를 재사용했습니다. 팀은 또한 Dropbox와 Dash 간에 프론트엔드 컴포넌트를 공유하여 두 플랫폼 전반에 걸쳐 일관된 사용자 경험을 보장했습니다.

중요한 조직적 결정은 서로 다른 시스템 간에 명확한 API 경계를 설정하는 것이었습니다. 이 분리를 통해 여러 팀이 순차적이 아닌 병렬로 작업할 수 있게 되어, 나중에 통합 문제를 일으키지 않으면서 개발 일정을 크게 가속화했습니다.

결론

Dropbox Dash를 위한 멀티미디어 검색을 구축하는 것은 사려 깊은 엔지니어링이 솔루션을 과도하게 엔지니어링하지 않으면서 복잡한 문제를 어떻게 해결할 수 있는지 보여줍니다. 경량 메타데이터 인덱싱으로 시작하고, 비싼 작업을 쿼리 시간으로 연기하며, 가능한 모든 곳에서 기존 인프라를 활용함으로써, Dropbox 엔지니어링 팀은 성능과 비용 효율성의 균형을 맞추는 확장 가능한 시스템을 만들었습니다.

개발 프로세스 자체는 귀중한 교훈을 제공합니다. 진행을 늦출 수 있는 상호 의존성에 직면했을 때, 팀은 UX 개발 중에 커스텀 엔드포인트를 통해 Dropbox Search 결과를 임시로 프록시했습니다. 이 해결 방법은 백엔드 인프라가 구축되는 동안 프론트엔드 작업이 병렬로 진행될 수 있게 하여 전체 일정을 극적으로 가속화했습니다.

성능 모니터링은 시스템을 개선하는 데 중요한 역할을 했습니다. 팀은 미리보기 생성에 대한 지연 시간 추적을 추가하고, 병목 지점을 식별하기 위해 계측을 사용했으며, 수집한 메트릭을 기반으로 적극적인 동시성 개선을 구현했습니다. 이 데이터 기반 최적화 접근 방식은 그들이 가장 큰 영향을 미칠 수 있는 곳에 노력을 집중하도록 보장했습니다.

언급한 바와 같이, Dropbox는 의미론적 임베딩 및 광학 문자 인식으로 멀티미디어 검색을 향상시켜 플랫폼에 더욱 깊은 콘텐츠 이해를 제공할 계획입니다. 그들이 구축한 아키텍처는 근본적인 재설계를 필요로 하지 않으면서 이러한 미래 개선을 위한 명확한 경로를 유지합니다.

참고 자료:

Thank you for reading.

Based in Seoul
Since 2024