Topic

DiskANN(Disk-Accelerated Approximate Nearest Neighbor Search)

JackerLab 2026. 1. 29. 19:52
728x90
반응형

개요

DiskANN은 마이크로소프트 리서치에서 개발한 근사 최근접 탐색(ANN, Approximate Nearest Neighbor) 알고리즘으로, RAM이 아닌 디스크(SSD)에 저장된 고차원 벡터 데이터를 고속으로 검색할 수 있도록 설계되었습니다. 수십억 개의 벡터도 소량의 메모리만으로 빠르게 탐색할 수 있어, 대규모 검색 시스템에 적합합니다.


1. 개념 및 정의

항목 설명
정의 SSD에 저장된 대규모 벡터 인덱스에서 최근접 이웃을 근사적으로 탐색하는 알고리즘
목적 RAM 사용을 최소화하면서도 빠른 벡터 검색 구현
필요성 메모리 크기를 넘는 벡터 데이터를 실시간 탐색할 수 있는 구조 필요

DiskANN은 HNSW 기반 탐색과 SSD 친화적인 I/O 최적화를 결합함


2. 특징

특징 설명 비교
SSD 기반 인덱스 대부분의 인덱스가 디스크에 상주 Faiss는 대부분 RAM 상주
고속 탐색 수 ms 이내에 수십억 벡터 탐색 IVF보다 정확도·속도 우수
RAM 최소 사용 탐색 시 필요한 최소 메타 정보만 메모리 사용 수백 MB 수준으로 TB급 검색 가능

대용량 벡터 검색 환경에서 뛰어난 확장성과 실용성 제공


3. 구성 요소

구성 요소 설명 예시
Disk Graph Index SSD에 저장되는 벡터 그래프 인덱스 노드 연결 정보를 압축 저장
Beam Search 근사 탐색 시 사용되는 경로 확장 알고리즘 초기 후보군에서 고속 확장
RAM-resident Metadata 노드 ID, offset 등 최소 메타 정보 메모리 상에 수백 MB만 유지

RAM에 일부 prefetching buffer를 두어 I/O latency 보완


4. 기술 요소

기술 설명 사용 예
Graph-based ANN 그래프 탐색을 기반으로 근접 이웃 탐색 HNSW, NSW와 유사 구조
SSD Prefetching I/O latency 보완을 위한 블록 예측 로딩 sequential read 최적화
Pruned Graph Construction 그래프 간선 수를 최적화하여 검색 성능 향상 노이즈 제거 및 메모리 절약

SSD 특성을 고려한 인덱스 구조 및 탐색 순서가 핵심


5. 장점 및 이점

장점 설명 효과
저메모리 사용 RAM이 제한적인 환경에서도 작동 임베디드 시스템 가능
대규모 확장성 수십억 벡터도 단일 노드에서 처리 가능 벡터 DB에 적합
고정밀 탐색 타 ANN 알고리즘 대비 높은 정확도 하이브리드 추천, 이미지 검색에 적합

하드웨어 비용을 줄이면서도 고성능 ANN 구현 가능


6. 주요 활용 사례 및 고려사항

사례 설명 참고사항
벡터 데이터베이스 Milvus, Vespa 등과 통합 외부 인덱서로 연동 가능
대규모 추천 시스템 사용자 임베딩 기반 추천 계산 수십억 노드 처리 가능
이미지/문서 검색 임베딩 기반 유사도 검색 실시간 검색에 충분한 속도

SSD 성능에 따라 탐색 지연 시간 차이 발생 가능성 존재


7. 결론

DiskANN은 대규모 벡터 검색에서 메모리 사용량을 최소화하면서도 높은 정확도와 속도를 제공하는 최신 근사 최근접 탐색 기술입니다. SSD의 순차 읽기 특성을 고려한 설계 덕분에 하드웨어 제약이 있는 환경에서도 고성능 검색 시스템을 구현할 수 있어, AI 검색, 추천, 멀티모달 분석 등 다양한 분야에 적합한 선택지입니다.

728x90
반응형

'Topic' 카테고리의 다른 글

RRF(Reciprocal Rank Fusion)  (0) 2026.01.30
t-digest  (0) 2026.01.29
Snappy  (0) 2026.01.29
LZ4  (0) 2026.01.28
Apache ORC(Optimized Row Columnar)  (0) 2026.01.28