Django, SQLAlchemy, Psycopg, asyncpg, Peewee 및 기타 PostgreSQL 드라이버에 pgvector 벡터 타입과 유사도 검색 기능을 제공하는 Python 라이브러리입니다.
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
TimescaleDB Docker 이미지를 실행합니다(링크된 설치 문서 참고).
- 2
psql로 데이터베이스에 연결합니다.
psql -d "postgres://<username>:<password>@<host>:<port>/<database-name>" - 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 통계는 매일 갱신됩니다.
관련 프로젝트
pgvector PostgreSQL 확장을 위한 Go 지원 라이브러리로, pgx, pg, Bun, Ent, GORM, sqlx용 벡터 타입과 헬퍼를 제공합니다.
Qdrant는 시맨틱 검색과 추천을 위한 Rust 기반 벡터 유사도 검색 엔진이자 페이로드 필터링을 지원하는 벡터 데이터베이스입니다.
Node.js, Deno, Bun의 데이터베이스 클라이언트와 ORM에서 pgvector 벡터 타입을 지원하는 JavaScript 및 TypeScript 헬퍼 라이브러리입니다.
Milvus는 임베딩을 대규모로 저장하고 검색하는 오픈소스 분산 벡터 데이터베이스로, AI 검색 및 RAG 애플리케이션에 사용됩니다.
관계형 데이터와 함께 임베딩을 저장하고 쿼리할 수 있는 Postgres용 오픈 소스 벡터 유사도 검색 확장 프로그램입니다.