본문 바로가기
IT기술노트/데이터베이스

벡터 데이터베이스 (Vector Database)

by 비트코기 2023. 7. 6.

I. 복합 비정형 데이터의 효율적인 저장/검색, 벡터 데이터베이스의 개요

- 문자, 이미지, 음성, 동영상과 같은 복합 비정형 데이터를  효율적으로 저장/검색하기 위해 벡터 데이터로 표현하여 저장, 관리 및 처리하도록 설계된 데이터베이스

- 특징 : 확장성, 조정 가능성, 멀티 테넌시, 데이터 격리


II. 벡터 데이터베이스의 아키텍처 및 주요기술

가. 벡터 데이터베이스의 아키텍처

- 벡터 데이터베이스 기능을 REST API 형태로 제공하여 다양한 언어에서 접근 및 활용 가능

 

나. 벡터 데이터베이스의 주요기술

구분 주요기술 설명
외부영역 REST API - 다른 응용 프로그램에서 벡터 데이터베이스를 사용하도록 관리
- HTTPS 호출 형태로 클라이언트 호출 수행
내부영역 단일단계 필터링 - 메타데이터를 통한 필터링
- Post-Filtering: 벡터 검색 후 메타데이터 필터링 수행, 모든 관련 결과를 고려하는데 도움이 되지만 검색 완료 후 관련 없는 결과를 필터링해 추가 오버헤드 발생
- Pre-Filtering: 벡터 검색 전 메타데이터 필터링 수행, 검색 공간을 줄이는데 도움이 되지만 시스템에서 메타데이터 필터 기준과 일치하지 않는 관련 결과를 간고할 가능성 존재
벡터 인덱스 - 벡터를 효율적으로 인덱싱하여 검색하도록 설계된 알고리즘
- Random Projection, Product Quantization, Loclity-sensitive hashing, HSNW(Hierarchical Navigable Small World) 알고리즘을 이용하여 벡터 인덱스 생성
데이터 샤딩 - 벡터를 샤드로 균등하게 분할하고 각 샤드 검색 후 마지막에 모든 샤드의 결과를 결합하여 가장 일치하는 것을 결정
복제 - 전체 Pod 세트를 복제하여 더 많은 요청을 병렬로 처리
하이브리드 스토리지 - 압축된 벡터 인덱스는 인메모리 저장
- RAW 벡터 인덱스는 디스크 저장
Kubernetes Pod - 벡터 데이터베이스에 대한 Scale-Out을 수행하기 위한 컨테이너

- 벡터 데이터베이스는 ANN(Approximate Nearest Neighbor) 검색에 모두 참여하는 서로 다른 알고리즘의 조합 사용

 

III. 벡터 데이터베이스 활용사례

활용사례 설명
시멘틱 검색 - 자연어 처리 모델의 벡터 임베딩을 저장, 인덱싱하여 텍스트 문자열, 문장 및 전체 문서의 의미와 컨텍스트를 이해하여 보다 정확하고 관련성 높은 검색 결과 제공
랭킹, 추천엔진 - 협업 필터링이나 인기 목록에 의존하지 않고 개인에 맞는 완벽하게 일치하는 추천 생성
- ANN 항목 기반으로 유사한 항목을 찾는 기능을 통해 관련 제안을 제공하는 데 이상적, 유사성 점수를 기반으로 항목 순위를 쉽게 지정
중복제거, 레코드 일치 - 유사성 서비스를 사용하여 중복된 레코드를 찾는 것은 광범위한 애플리케이션에서 사용

- 비정형 데이터 유사성 검색에도 활용 가능

 

※출처: (주)호연 기술자료

반응형

댓글