PgDog: pgvector를 위한 오픈소스 샤딩
2025-03-26

백만 개 이상의 임베딩으로 pgvector를 확장하는 것은 인덱스 구축 속도가 느리기 때문에 어려워집니다. 이 글에서는 pgvector 인덱스를 샤딩하는 오픈소스 프로젝트인 PgDog를 소개합니다. IVFFlat의 고유한 클러스터링 기능을 활용하여 PgDog는 벡터 공간 파티션을 여러 머신에 분산합니다. 쿼리 벡터는 scikit-learn을 사용하여 계산된 중심점과의 근접성을 기반으로 적절한 샤드로 라우팅되므로 검색 속도와 재현율이 크게 향상됩니다. 구현 세부 정보에는 중심점 계산, 사용자 정의 샤딩 함수, pg_query를 사용한 SQL 분석이 포함됩니다. 실험을 통해 PgDog의 효율성이 입증되었으며, 샤드 간 병렬 쿼리 및 중심점의 최적화된 할당과 같은 최적화 기능이 제공됩니다. 향후 작업에는 더 많은 거리 알고리즘과 SIMD 명령어 지원이 포함됩니다.
개발
샤딩