타이거데이터, pg_vectorsearch 알파 공개

2분 PostgreSQL벡터검색PRISM오픈소스
최근 30일 조회수 — 좋아요 —

핵심 요약

PRISM 인덱스로 PostgreSQL 벡터 검색의 메모리와 구축 시간을 줄이지만 재균형과 필터 검색은 미지원이다.

타이거데이터, pg_vectorsearch 알파 공개 — 기사 주제를 표현한 AI 생성 개념 삽화
AI 생성 개념 삽화 · 실제 사건을 촬영한 사진이 아닙니다.

타이거데이터(Tiger Data)가 PostgreSQL에서 대규모 벡터 유사도 검색을 처리하는 오픈소스 확장 pg_vectorsearch를 알파 버전으로 공개했다. 핵심은 PRISM 인덱스다. pgvector의 HNSW(Hierarchical Navigable Small World)가 벡터 사이의 이웃 관계를 그래프로 연결하는 것과 달리, PRISM은 비슷한 벡터를 파티션으로 묶고 압축해 저장한다. 타이거데이터는 이 방식이 메모리 사용량과 인덱스 구축 시간을 줄인다고 설명했다.1

pg_vectorsearch는 기존 pgvector 열을 그대로 지원한다. 별도의 벡터 데이터베이스를 두지 않고 확장을 설치한 뒤 벡터 열에 PRISM 인덱스를 만들면 된다.

CREATE EXTENSION pg_vectorsearch;
CREATE INDEX ON documents USING prism (embedding vec32_l2_ops);

PRISM은 먼저 계층형 클러스터링으로 검색 범위를 좁힌 다음, 관련 파티션에 담긴 압축 벡터를 순차 탐색한다. 무작위 메모리·디스크 접근을 줄이는 설계다. 여기에 RaBitQ 양자화를 적용해 거리 계산 비용을 낮추고, 파티션 경계에 가까운 벡터는 중복 저장해 재현율을 보완한다. 저장과 로깅, 동시성 처리는 PostgreSQL의 기존 기능에 맡긴다.1

타이거데이터가 벡터 1억 개로 진행한 자체 벤치마크에서는 PRISM이 메모리 128GB인 장비에서 1시간 40분 만에 인덱스를 구축했다. HNSW는 메모리 512GB 장비에서도 42시간이 걸렸다. 다만 장비 조건이 서로 다르고 결과도 독립적으로 검증되지 않았으므로, 이 수치만으로 실제 환경의 성능 차이를 단정하기는 어렵다. 회사 측은 오픈소스 도구를 사용하고 정확 검색 결과를 기준으로 recall@10을 측정했다고 밝혔다.1

알파 버전다운 제약도 뚜렷하다. 데이터가 계속 추가되면 클러스터 중심과 물리적 배치가 흐트러질 수 있지만, 병합과 벡터 재할당을 포함한 일반적인 증분 재균형 기능은 아직 구현되지 않았다. 변경이 잦은 데이터셋에서는 검색 효율을 유지하려고 인덱스를 다시 만들어야 할 수 있다. 필터 검색 미지원과 자체 벤치마크 의존도 역시 이용자들이 제기한 문제다. 따라서 현재 공개의 의미는 HNSW의 메모리 부담을 피할 선택지를 PostgreSQL 안에 제시했다는 데 있으며, 운영 환경 투입 여부는 후속 구현과 독립 검증을 지켜봐야 한다.

Footnotes

  1. InfoQ, 「Open Source pg_vectorsearch Brings More Scalable Vector Search to PostgreSQL」 ↩ ↩2 ↩3

읽기 목록은 이 브라우저에 저장됩니다.

출처

  1. Open Source pg_vectorsearch Brings More Scalable Vector Search to PostgreSQL — InfoQ

이 글은 위 출처를 근거로 자동 생성된 뒤 발행됐습니다. 원문을 함께 확인해 주세요. 교차 보도 없이 단독 출처로 작성됐습니다.