メインコンテンツまでスキップ

ベクトルデータベース

時間線

Vespaは,最も主流のBM 25に基づくキーワード探索アルゴリズムの近傍にベクトル類似性探索を加えたメーカの1つである.

Weaviateはその後、2018年末に専用のオープンソースベクトル検索データベース製品を発売した。

2019年までに私たちはMilvusを含めてこの分野でより多くの競争を見始めましたZillizはMilvusの親会社です。

2021年には、Vald、Qdrant、Pineconeの3つの新しいサプライヤーが競争に参加した。

このときまで,Elasticsearch,Redis,PostgreSQLのような老舗メーカーがベクトル検索を提供し始めたのは,本来考えていたよりもはるかに遅く,2022年以降に始まっただけである.

image-20240125145334529

オープンソースとビジネスです

ビジネス:PineconeとZilliz

プラグイン形式

-pgvector -Redis Stack

image-20240125145550416

Postgres

データベースが同時にサポートされています

-関係データベース:RDS -ベクトルデータベース:pgvector 時系列データベース:時系列データベースは、メタデータフィルタリングにおいて大きな役割を果たし、時系列の検索速度が非常に速いイベントおよび発生時間を記録するデータベースである。RAGアプリケーションでは,業界知識文書が数万個に分割されると,時間フィルタリングを用いることが重要となり,たとえば2023年3月の契約文書のみを検索すれば,ターゲットchunkを時系列データで数万個の中から先に抽出し,ベクトル計算を行うことができる.

image-20240125150309961

Timescale Vectorプラグイン

数百万個のベクトルに対するより速い類似性探索:DiskANN***アルゴリズム,HNSWアルゴリズムをサポート

***Timescale Vectorは、時間ベースのベクトル検索クエリを最適化します:Timescaleのスーパーテーブルの自動時間ベースのパーティションおよびインデックスを利用して、最も近いEmbeddingsを効率的に見つけ、時間範囲または文書存在年制約ベクトル検索によって、大型言語モデル(LLM)応答およびチャット履歴を容易に記憶および検索する。時間ベースの意味検索はまた、検索エンハンスメントを使用して(Retrieval Augmented Generation,RAG)および時間ベースのコンテキスト検索を生成することができ、ユーザにより有用なLLM応答を提供することができる。 *簡略化されたAIインフラストラクチャスタック:*ベクトルEmbeddingsリレーショナルデータ時系列データを1つのPostgreSQLデータベースに組み合わせることによって、Timescale vectorは、複数のデータベースシステムを大規模に管理することによる操作複雑性を除去する。 ***メタデータ処理およびマルチ属性フィルタリングを簡略化します:**開発者は、すべてのPostgreSQLデータタイプを使用してメタデータを格納およびフィルタリングし、ベクトル検索結果を関係データに接続して、より多くのコンテキスト関連応答を得ることができます。将来のバージョンでは,Timescale Vectorは豊富な多属性フィルタリングをさらに最適化し,メタデータをフィルタリングする際により速い類似性探索を実現する.

LlamaIndexが整理したベクトルデータベース

链接

Vector Store Options&Feature Support

Vector StoreTypeMetadata FilteringHybrid SearchDeleteStore DocumentsAsync
Apache Cassandra®self-hosted / cloud
Astra DBcloud
Azure Cognitive Searchcloud
Azure CosmosDB MongoDBcloud
ChatGPT Retrieval Pluginaggregator
Chromaself-hosted
DashVectorcloud
Deeplakeself-hosted / cloud
DocArrayaggregator
DynamoDBcloud
Elasticsearchself-hosted / cloud
FAISSin-memory
txtaiin-memory
Jaguarself-hosted / cloud
LanceDBcloud
Lanternself-hosted / cloud
Metalcloud
MongoDB Atlasself-hosted / cloud
MyScalecloud
Milvus / Zillizself-hosted / cloud
Neo4jVectorself-hosted / cloud
OpenSearchself-hosted / cloud
Pineconecloud
Postgresself-hosted / cloud
pgvecto.rsself-hosted / cloud
Qdrantself-hosted / cloud
Redisself-hosted / cloud
Simplein-memory
SingleStoreself-hosted / cloud
Supabaseself-hosted / cloud
Taircloud
TencentVectorDBcloud
Timescale
Typesenseself-hosted / cloud
Weaviateself-hosted / cloud

ほとんどサポートされているデータベースは

ector StoreTypeMetadata FilteringHybrid SearchDeleteStore DocumentsAsync
DashVectorcloud
Elasticsearchself-hosted / cloud总觉得比较重
Jaguarself-hosted / cloud
Lanternself-hosted / cloud
MyScalecloud
Pineconecloud
Postgresself-hosted / cloud
pgvecto.rsself-hosted / cloud
Qdrantself-hosted / cloud创始人好像出走了
TencentVectorDBcloud
Weaviateself-hosted / cloud

Elasticsearch:总觉得比较重

Postgress:先从最简单的开始吧。

Qdrant:创始人好像出走了。

LangChainのデータベースの比較

原文

数据库名称应用场景
HNSWLib, Faiss, LanceDB, CloseVector如果你需要一个可以在你的Node.js应用程序中运行的内存数据库,无需其他服务器
MemoryVectorStore, CloseVector如果你在寻找一个可以在类似浏览器的环境中内存中运行的东西
HNSWLib, Faiss如果你来自Python,并且你在寻找类似于FAISS的东西
Chroma如果你在寻找一个开源的、功能全面的向量数据库,可以在docker容器中本地运行
Zep如果你在寻找一个开源的向量数据库,提供低延迟、本地嵌入文档支持,并且支持边缘上的应用
Weaviate如果你在寻找一个开源的、生产就绪的向量数据库,可以在docker容器中本地运行或在云中托管
Supabase vector store如果你已经在使用Supabase,看看Supabase向量存储,使用同一个Postgres数据库来存储你的嵌入
Pinecone如果你在寻找一个生产就绪的向量存储,你不必担心自己托管
SingleStore vector store如果你已经在使用SingleStore,或者你需要一个分布式、高性能的数据库,你可能会考虑SingleStore向量存储
AnalyticDB vector store如果你在寻找一个在线MPP(大规模并行处理)数据仓库服务,你可能会考虑AnalyticDB向量存储
MyScale如果你在寻找一个性价比高的向量数据库,允许使用SQL进行向量搜索
CloseVector如果你在寻找一个可以从浏览器和服务器端加载的向量数据库,看看CloseVector。它是一个旨在跨平台的向量数据库
ClickHouse如果你在寻找一个可扩展的、开源的列式数据库,对于分析查询有着出色的性能

異なるデータベースの比較

开源向量数据库对比

RAG選型

Elasticsearch

Qdrant

Postgress

参考までに

https://mp.weixin.qq.com/s/YENmch0b4rbNJ73bvBLUpQ