Repolode
timescale

timescale/pgvectorscale

pgvector에 DiskANN 기반 인덱스와 라벨 필터링을 추가해 벡터 검색을 더 빠르고 저렴하게 만드는 Rust 기반 Postgres 확장입니다.

대체할 수 있는 제품:Pinecone

스타
3,160
포크
160
열린 이슈
19
마지막 커밋
22일 전

어떤 프로젝트인가요?

pgvectorscale은 오픈소스 벡터 데이터 확장인 pgvector와 함께 작동하는 PostgreSQL 확장으로, 임베딩 컬럼의 근사 최근접 이웃 검색 속도를 높입니다. Microsoft의 DiskANN 연구에서 영감을 얻은 StreamingDiskANN 인덱스 유형과 Statistical Binary Quantization 기반의 압축 저장 레이아웃을 추가합니다.

이 확장은 라벨 기반 필터링 벡터 검색도 지원하므로 유사도 순위 지정과 smallint[] 컬럼의 배열 중첩 필터를 함께 사용할 수 있습니다. 임의의 WHERE 절도 지원하지만, 벡터 검색이 끝난 뒤 후처리 필터로 적용됩니다. 코사인, L2, 내적 거리를 pgvector와 동일한 연산자로 사용할 수 있습니다.

프로젝트는 C 대신 PGRX 프레임워크를 사용해 Rust로 작성되었습니다. 사전 빌드된 Docker 이미지로 실행하거나 소스에서 빌드할 수 있으며, Timescale Cloud의 확장으로도 제공됩니다.

핵심 기능

  • 01pgvector 임베딩 컬럼에 StreamingDiskANN 인덱스를 추가합니다.
  • 02압축 벡터 저장에 Statistical Binary Quantization을 사용합니다.
  • 03&& 배열 중첩 연산자를 사용하는 라벨 기반 필터링 검색을 지원합니다.
  • 04pgvector와 동일한 코사인, L2, 내적 거리 연산자를 지원합니다.
  • 05정확도와 속도를 조정할 수 있도록 빌드 시점 및 쿼리 시점 매개변수를 제공합니다.

활용 사례

  • 기존 PostgreSQL 데이터베이스에서 시맨틱 검색이나 RAG 검색을 실행합니다.
  • Postgres를 자체 호스팅해 수천만 개 벡터로 구성된 대규모 임베딩 컬렉션의 비용을 줄입니다.
  • 카테고리 라벨이나 메타데이터 조건으로 최근접 이웃 검색 결과를 필터링합니다.

빠른 시작

  1. 1

    TimescaleDB Docker 이미지를 실행합니다(링크된 설치 문서 참고).

  2. 2

    psql로 데이터베이스에 연결합니다.

    psql -d "postgres://<username>:<password>@<host>:<port>/<database-name>"
  3. 3

    pgvectorscale 확장 기능을 생성합니다(CASCADE를 사용하면 pgvector도 설치됩니다).

    CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE;

사용 전 알아둘 점

  • 해결되지 않은 이슈로 인해 macOS Intel(x86) 시스템에서는 소스 빌드를 지원하지 않습니다.
  • 소스에서 설치하려면 Rust 툴체인과 cargo-pgrx 빌드 설정이 필요합니다.

포함된 컬렉션

토픽

자주 묻는 질문

pgvectorscale은(는) 무엇인가요?
pgvector에 DiskANN 기반 인덱스와 라벨 필터링을 추가해 벡터 검색을 더 빠르고 저렴하게 만드는 Rust 기반 Postgres 확장입니다. pgvectorscale은 오픈소스 벡터 데이터 확장인 pgvector와 함께 작동하는 PostgreSQL 확장으로, 임베딩 컬럼의 근사 최근접 이웃 검색 속도를 높입니다. Microsoft의 DiskANN 연구에서 영감을 얻은 StreamingDiskANN 인덱스 유형과 Statistical Binary Quantization 기반의 압축 저장 레이아웃을 추가합니다.
pgvectorscale은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
pgvectorscale은(는) PostgreSQL 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
pgvectorscale은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. pgvectorscale의 마지막 커밋은 2026년 10월 14일입니다.
pgvectorscale은(는) 어디에 사용할 수 있나요?
기존 PostgreSQL 데이터베이스에서 시맨틱 검색이나 RAG 검색을 실행합니다. Postgres를 자체 호스팅해 수천만 개 벡터로 구성된 대규모 임베딩 컬렉션의 비용을 줄입니다. 카테고리 라벨이나 메타데이터 조건으로 최근접 이웃 검색 결과를 필터링합니다.
pgvectorscale는 어떻게 설치하나요?
TimescaleDB Docker 이미지를 실행합니다(링크된 설치 문서 참고). psql로 데이터베이스에 연결합니다.: psql -d "postgres://<username>:<password>@<host>:<port>/<database-name>" pgvectorscale 확장 기능을 생성합니다(CASCADE를 사용하면 pgvector도 설치됩니다).: CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE;
pgvectorscale은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/timescale/pgvectorscale

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트