PgDog:pgvectorのためのオープンソースシャーディング
2025-03-26
pgvectorを100万件以上の埋め込みにスケールアップすることは、インデックス構築の遅さのために困難になります。この記事では、pgvectorインデックスをシャーディングするオープンソースプロジェクトであるPgDogを紹介します。IVFFlatの固有のクラスタリング機能を活用することで、PgDogはベクトル空間のパーティションを複数のマシンに分散します。クエリベクトルは、scikit-learnを使用して計算されたセントロイドとの近接性に基づいて適切なシャードにルーティングされ、検索速度と再現率が大幅に向上します。実装の詳細には、セントロイドの計算、カスタムシャーディング関数、pg_queryを使用したSQL解析が含まれます。実験により、PgDogの有効性が示され、シャード間のパラレルクエリやセントロイドの最適化された割り当てなどの最適化が提供されます。今後の作業には、より多くの距離アルゴリズムとSIMD命令のサポートが含まれます。
開発
シャーディング