본문 바로가기
AI/RAG 이론

벡터 데이터베이스 : Hash Index란

by _쿡북_ 2025. 7. 14.

1. Hash Index란?

Hash Index는 벡터를 해시 함수로 변환하여 비슷한 벡터는 같은 해시 버킷에 들어가게 만들어, 전체를 탐색하지 않고도 유사한 벡터를 빠르게 찾도록 하는 인덱싱 기법입니다.

[여기서 잠깐, 해시 버킷이란?]
해시 버킷은 해시 함수를 통해 얻은 해시값에 따라 데이터를 분류하여 저장하는 그룹 또는 공간입니다.
유사한 입력(벡터)이 같은 해시값을 갖도록 설계된 해시 함수(Locality Sensitive Hash)를 사용하면, 유사한 벡터들이 같은 버킷 안에 들어가게 됩니다.

벡터1 ─┬─> 해시 함수 ─┬─> 버킷 A
벡터2 ─┘                       └─> 버킷 B
                          ...
벡터N ───────────────> 버킷 A
  • 해시 함수는 입력 벡터를 k비트 해시값으로 변환
  • 그 해시값에 따라 버킷 A, B, C... 등으로 나뉘며
  • 같은 버킷에 있는 데이터만을 대상으로 유사도 계산을 수행하여 속도를 대폭 향상

 

2. Hash Index 작동 원리 (LSH 기반 예시)

단계                            설명
1. 해시 함수 정의 유사한 벡터일수록 같은 해시값을 만들도록 설계된 해시 함수 (Locality Sensitive Hash) 사용
2. 해시 버킷 생성 해시값에 따라 벡터들을 여러 개의 버킷(bucket)에 분류
3. 쿼리 시 해시 쿼리 벡터도 같은 해시 함수를 통해 버킷으로 매핑
4. 후보 선택 동일한 버킷에 있는 벡터들을 유사도 기반으로 정렬
5. 결과 반환 상위 N개 유사 벡터를 반환
 

3. Hash Index의 장단점

항목장점단점
✅ 속도 매우 빠름 (특히 고차원에서 효율적) 유사도 정확도는 떨어질 수 있음
✅ 메모리 상대적으로 적게 사용 (구현에 따라 다름) 해시함수 설계에 따라 편차 발생
✅ 확장성 대용량 벡터셋에 적합 고정된 해시로 인해 정밀 제어 어려움
 

4. Hash Index와 다른 인덱스 비교

인덱스 방식                                                      특징                                                      대표 기술   
Hash Index (LSH) 근사 검색, 빠름, 저정밀 FAISS (LSH), Annoy
IVF (Inverted File) 클러스터 기반, 정밀도↑ FAISS IVF
HNSW (Graph 기반) 정확도 매우 높음, 느림 NMSLIB, FAISS HNSW
PQ (Product Quantization) 압축 + 검색, 정밀도 좋음 FAISS PQ
 

 

5.요약

항목                                         내용
목적 벡터 간 유사도를 빠르게 비교하기 위한 근사 검색
원리 비슷한 벡터 → 같은 해시값 → 같은 버킷
대표 알고리즘 Locality Sensitive Hashing (LSH)
활용처 대규모 벡터셋에서 빠른 Top-K 검색

 

[AI를 활용해 작성되었습니다]

공감버튼이 큰힘이 됩니다

댓글