섹션별 상세
기존 HNSW 기반 아키텍처는 벡터와 인덱스를 모두 메모리에 유지해야 하므로 데이터 증가에 따라 RAM 비용이 기하급수적으로 상승하며, 인덱스 생성과 쿼리 처리가 동일 노드에서 경합하는 구조적 한계를 가진다.
Storage Optimized 아키텍처는 모든 데이터를 오브젝트 스토리지에 저장하고 쿼리 노드를 상태 비저장 방식으로 설계하여 스토리지와 컴퓨팅, 인덱싱과 서빙을 각각 독립적으로 확장 가능하게 분리했다.
오브젝트 스토리지 환경에 적합하도록 인덱스 구조를 HNSW 대신 파티셔닝이 용이한 IVF(Inverted File Index)로 전환하여, 쿼리 시 전체 인덱스가 아닌 관련 슬라이스만 메모리에 로드할 수 있도록 구현했다.
수십억 개의 고차원 벡터를 처리하기 위해 FAISS 같은 단일 머신 라이브러리 대신 Spark 기반의 분산 K-means와 Product Quantization 알고리즘을 직접 구현하여 인덱싱 속도를 20배 향상시켰다.
K-means 클러스터링 과정에서 Spark는 분산 데이터 이동을 담당하고 JAX는 각 실행기 내부에서 하드웨어 가속 선형 대수 연산을 수행하여 10억 행 데이터에 대한 파티셔닝을 효율적으로 처리한다.
Product Quantization(PQ) 기법을 적용하여 768차원 벡터를 64배 압축함으로써 10억 개의 벡터 인덱스 크기를 약 45GiB 수준으로 줄여 메모리 효율성을 극대화했다.
Rust로 작성된 쿼리 엔진은 비동기 I/O(Tokio)와 CPU 연산용 스레드 풀을 분리한 듀얼 런타임 아키텍처를 채택하여, 오브젝트 스토리지의 네트워크 지연 시간이 벡터 거리 계산 성능을 저해하지 않도록 설계했다.
오브젝트 스토리지 읽기 최적화를 위해 여러 개의 작은 범위 읽기 요청을 256KiB 단위로 병합하여 요청 오버헤드를 줄이고 p50 지연 시간을 최적화했다.
검색 결과의 정확도를 높이기 위해 압축된 인덱스로 후보군을 먼저 추출한 뒤, 오브젝트 스토리지에서 원본 벡터를 가져와 다시 계산하는 Re-ranking 단계를 거쳐 90% 이상의 Recall을 유지한다.
용어 해설
- 계층형 탐색 가능 작은 세계(HNSW)
- — 고차원 벡터 공간에서 근사 근접 이웃(ANN) 검색을 수행하기 위한 그래프 기반 알고리즘이다. 검색 속도가 매우 빠르지만 전체 그래프 구조를 메모리에 상주시켜야 하므로 데이터 규모가 커질수록 메모리 비용이 급격히 증가하는 단점이 있다.
- 역색인 파일 인덱스(IVF)
- — 벡터들을 근접한 클러스터(Centroid)로 그룹화하여 검색 범위를 좁히는 인덱싱 기법이다. 인덱스를 독립적인 파티션으로 나눌 수 있어 오브젝트 스토리지에 저장하고 필요한 부분만 로드하기에 적합한 구조를 가진다.
- 곱 양자화(Product Quantization)
- — 고차원 벡터를 여러 개의 하위 벡터로 분할하고 각 부분을 대표값(Codebook)으로 치환하여 데이터 크기를 압축하는 기법이다. Databricks는 이를 통해 벡터 크기를 64배 줄여 메모리 사용량을 획기적으로 절감한다.
- 읽기 병합(Read Coalescing)
- — 오브젝트 스토리지에 대한 여러 개의 작은 데이터 요청을 하나의 큰 요청으로 합쳐서 처리하는 최적화 기법이다. 클라우드 스토리지의 요청당 발생하는 오버헤드와 지연 시간 변동성을 줄여 전체적인 쿼리 성능을 안정화한다.
- 이중 런타임(Dual-Runtime)
- — 시스템의 작업을 성격에 따라 두 개의 독립된 실행 환경으로 분리하는 아키텍처다. 이 아티클에서는 비동기 I/O 작업과 CPU 집약적인 벡터 연산 스레드를 분리하여 서로의 성능을 저해하지 않도록 격리하는 방식을 의미한다.
기술
- Databricks
- Apache Spark
- Rust
- JAX
- Delta Table
- Mosaic AI
활용 사례
- 대규모 RAG 시스템
- 추천 시스템
- 엔티티 해상도(Entity Resolution)
- 사내 문서 검색
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 03. 10.수집 2026. 03. 10.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
