ベクトルデータベース
時間線
Vespaは,最も主流のBM 25に基づくキーワード探索アルゴリズムの近傍にベクトル類似性探索を加えたメーカの1つである.
Weaviateはその後、2018年末に専用のオープンソースベクトル検索データベース製品を発売した。
2019年までに私たちはMilvusを含めてこの分野でより多くの競争を見始めましたZillizはMilvusの親会社です。
2021年には、Vald、Qdrant、Pineconeの3つの新しいサプライヤーが競争に参加した。
このときまで,Elasticsearch,Redis,PostgreSQLのような老舗メーカーがベクトル検索を提供し始めたのは,本来考えていたよりもはるかに遅く,2022年以降に始まっただけである.
オープンソースとビジネスです
ビジネス:PineconeとZilliz
プラグイン形式
-pgvector -Redis Stack
Postgres
データベースが同時にサポートされています
-関係データベース:RDS -ベクトルデータベース:pgvector 時系列データベース:時系列データベースは、メタデータフィルタリングにおいて大きな役割を果たし、時系列の検索速度が非常に速いイベントおよび発生時間を記録するデータベースである。RAGアプリケーションでは,業界知識文書が数万個に分割されると,時間フィルタリングを用いることが重要となり,たとえば2023年3月の契約文書のみを検索すれば,ターゲットchunkを時系列データで数万個の中から先に抽出し,ベクトル計算を行うことができる.

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 Store | Type | Metadata Filtering | Hybrid Search | Delete | Store Documents | Async |
---|---|---|---|---|---|---|
Apache Cassandra® | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Astra DB | cloud | ✓ | ✓ | ✓ | ||
Azure Cognitive Search | cloud | ✓ | ✓ | ✓ | ||
Azure CosmosDB MongoDB | cloud | ✓ | ✓ | |||
ChatGPT Retrieval Plugin | aggregator | ✓ | ✓ | |||
Chroma | self-hosted | ✓ | ✓ | ✓ | ||
DashVector | cloud | ✓ | ✓ | ✓ | ✓ | |
Deeplake | self-hosted / cloud | ✓ | ✓ | ✓ | ||
DocArray | aggregator | ✓ | ✓ | ✓ | ||
DynamoDB | cloud | ✓ | ||||
Elasticsearch | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ |
FAISS | in-memory | |||||
txtai | in-memory | |||||
Jaguar | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | |
LanceDB | cloud | ✓ | ✓ | ✓ | ||
Lantern | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ |
Metal | cloud | ✓ | ✓ | ✓ | ||
MongoDB Atlas | self-hosted / cloud | ✓ | ✓ | ✓ | ||
MyScale | cloud | ✓ | ✓ | ✓ | ✓ | |
Milvus / Zilliz | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Neo4jVector | self-hosted / cloud | ✓ | ✓ | |||
OpenSearch | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Pinecone | cloud | ✓ | ✓ | ✓ | ✓ | |
Postgres | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ |
pgvecto.rs | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | |
Qdrant | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ |
Redis | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Simple | in-memory | ✓ | ✓ | |||
SingleStore | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Supabase | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Tair | cloud | ✓ | ✓ | ✓ | ||
TencentVectorDB | cloud | ✓ | ✓ | ✓ | ✓ | |
Timescale | ✓ | ✓ | ✓ | ✓ | ||
Typesense | self-hosted / cloud | ✓ | ✓ | ✓ | ||
Weaviate | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ |
ほとんどサポートされているデータベースは
ector Store | Type | Metadata Filtering | Hybrid Search | Delete | Store Documents | Async | |
---|---|---|---|---|---|---|---|
DashVector | cloud | ✓ | ✓ | ✓ | ✓ | ||
Elasticsearch | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ | 总觉得比较重 |
Jaguar | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ||
Lantern | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ | |
MyScale | cloud | ✓ | ✓ | ✓ | ✓ | ||
Pinecone | cloud | ✓ | ✓ | ✓ | ✓ | ||
Postgres | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ | |
pgvecto.rs | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ||
Qdrant | self-hosted / cloud | ✓ | ✓ | ✓ | ✓ | ✓ | 创始人好像出走了 |
TencentVectorDB | cloud | ✓ | ✓ | ✓ | ✓ | ||
Weaviate | self-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 | 如果你在寻找一个可扩展的、开源的列式数据库,对于分析查询有着出色的性能 |