---
type: study
created: 2026-08-11
updated: 2026-08-11
sensitivity: standard
status: evergreen
tags: [langchain, python, providers, vector-store, graph, cache, retrieval]
topic: LangChain Python 检索、存储、图数据库、记忆与缓存供应商
sources:
  - https://docs.langchain.com/oss/python/integrations/providers/aerospike
  - https://docs.langchain.com/oss/python/integrations/providers/astradb
  - https://docs.langchain.com/oss/python/integrations/providers/chroma
  - https://docs.langchain.com/oss/python/integrations/providers/cockroachdb
  - https://docs.langchain.com/oss/python/integrations/providers/cratedb
  - https://docs.langchain.com/oss/python/integrations/providers/elasticsearch
  - https://docs.langchain.com/oss/python/integrations/providers/graph_rag
  - https://docs.langchain.com/oss/python/integrations/providers/kuzu
  - https://docs.langchain.com/oss/python/integrations/providers/memgraph
  - https://docs.langchain.com/oss/python/integrations/providers/metal
  - https://docs.langchain.com/oss/python/integrations/providers/milvus
  - https://docs.langchain.com/oss/python/integrations/providers/mindsdb
  - https://docs.langchain.com/oss/python/integrations/providers/mongodb
  - https://docs.langchain.com/oss/python/integrations/providers/mongodb_atlas
  - https://docs.langchain.com/oss/python/integrations/providers/motorhead
  - https://docs.langchain.com/oss/python/integrations/providers/neo4j
  - https://docs.langchain.com/oss/python/integrations/providers/oracleai
  - https://docs.langchain.com/oss/python/integrations/providers/pinecone
  - https://docs.langchain.com/oss/python/integrations/providers/qdrant
  - https://docs.langchain.com/oss/python/integrations/providers/redis
  - https://docs.langchain.com/oss/python/integrations/providers/remembrall
  - https://docs.langchain.com/oss/python/integrations/providers/weaviate
last_verified: 2026-08-11
---

# 检索、存储、图数据库与缓存供应商

## 原则

Vector store、retriever、chat history、LangGraph checkpoint/store 和 LLM cache 有不同的一致性和保留周期，不应因为同一供应商都支持就共用表/集合或生命周期。例如 checkpoint 要支持并发恢复与幂等，semantic cache 允许近似命中但会带来跨租户泄漏风险，vector index 则必须绑定 embedding schema。

## 组件覆盖

| Provider | 包/组件 | 关键边界 |
|---|---|---|
| Aerospike | `langgraph-checkpoint-aerospike`, `langgraph-store-aerospike` | provider 页聚焦 checkpointer/store，非通用 vector store；需验证索引、TTL、事务和批操作 |
| Astra DB | `langchain-astradb`; VectorStore、LLM/Semantic Cache、Loader、Retriever、Store/ByteStore | application token 与 endpoint 应按环境/租户隔离；semantic cache 必须纳入数据分类 |
| Chroma | `langchain-chroma`; Chroma、SelfQueryRetriever | 本地原型与服务化部署的持久性/备份不同；metadata filter 需同样做租户强制 |
| CockroachDB | `langchain-cockroachdb`; async vector store、hybrid search、chat history、checkpointer | 页面特别覆盖 row-level TTL、性能与多租户；要设计连接池、索引和分布式事务边界 |
| CrateDB | `langchain-cratedb`; vector store、loader、chat history、full/semantic cache | 搜索与会话/缓存的表结构与保留期必须分开；防止 cache 跨用户命中 |
| Elasticsearch | `langchain-elasticsearch`; Embeddings、Store/Retriever、LLM/embedding cache、ByteStore、DB chain | 映射、dense/sparse 字段、索引别名和 refresh 策略是 schema；生成查询的 chain 需限制索引与查询复杂度 |
| Graph RAG | `langchain-graph-retriever`; GraphRetriever | 需明确图边、遍历深度、去重与访问控制；不以图遍历替代业务权限 |
| Kùzu | `langchain-kuzu`; KuzuGraph、KuzuQAChain | 本地图数据库的文件生命周期、并发写和生成查询必须单独验证 |
| Memgraph | `langchain-memgraph`; MemgraphQAChain、graph、toolkit | 自然语言到查询/工具为高风险路径；只授予只读、限量、限时查询 |
| Metal | `MetalRetriever` + `metal_sdk` | 页面是简短旧式指南，上线前必须重新核对 SDK 维护状态和 API 契约 |
| Milvus | `langchain-milvus`; Milvus vector store | 维度、metric/index type、partition/collection、一致性级别和 alias 切换需显式化 |
| MindsDB | provider 级 LangChain AI engine 导航 | 页面未给出具体 LangChain Python 类；部署/微调契约需回到 MindsDB 文档并 POC |
| MongoDB | `langchain-mongodb`; MongoDBCache | provider 页将自管 cache 与 Atlas 能力分开；连接串、TTL index 和字段加密需管理 |
| MongoDB Atlas | vector/full-text/hybrid retrievers、LLM/semantic caches | 需事先建立对应搜索索引；filter 必须强制 tenant，不接受模型直接传入任意 pipeline |
| Motörhead | Rust memory server，增量摘要 | 页面只指向外部服务启动；需核对项目活跃度、租户隔离、摘要丢失性和数据删除 |
| Neo4j | `langchain-neo4j`; Neo4jVector、GraphCypherQAChain/Graph、Saver | Cypher 生成应用只读账户、allowlist、查询超时/行数上限；vector 与 graph checkpoint 分离 |
| Oracle AI Vector Search | `langchain-oracledb`; loader/splitter/in-DB embeddings/summary/OracleVS | 需 Oracle DB、ONNX 模型与可选第三方凭据；数据库 provider 无需外部凭据，三方 provider 则必须存储 credential |
| Pinecone | `langchain-pinecone`; dense/sparse vector store、sparse embeddings、self-query | 索引 dimension/metric、namespace 与 metadata filter 必须绑定；dense/sparse hybrid 要校准权重 |
| Qdrant | `langchain-qdrant`; FastEmbedSparse、SparseEmbeddings、QdrantVectorStore | collection 配置要区分 dense/sparse/multi-vector；payload filter 强制租户条件 |
| Redis | `langchain-redis`; standard/semantic cache、vector store/retriever | standalone/sentinel/cluster URL 契约不同；需 TTL、key prefix、内存策略与多租户隔离 |
| Remembrall | 托管长期记忆/RAG/观测平台 | provider 页只给出登录/API key，未提供详细 Python 契约；数据保留、删除和出境需先评审 |
| Weaviate | `langchain-weaviate`; WeaviateVectorStore | collection schema、vectorizer 是外置还是服务端生成、hybrid alpha 与 tenant 必须固定 |

## 数据与一致性清单

- 每条记录保存 tenant、source ID/version、chunk ID、embedding model/revision/dimension、ingestion timestamp；删除操作能追溯到所有派生向量。
- 索引创建、数据回填、alias 切换和回滚是一个发布流程，不在应用启动时隐式改 schema。
- semantic cache key 包含 tenant、权限摘要、model/prompt/tool 版本和语言；对敏感回答、工具副作用和时效数据默认禁用缓存。
- chat history/checkpoint 按会话和 tenant 隔离，定义 TTL、忘记/删除流程、并发版本号与恢复语义。

## 性能验证

用真实维度、数据量、filter 选择性和 top-k 压测 p50/p95/p99；单独测试新写入可见延迟、批量 upsert/delete、索引重建、节点失败、连接池耗尽和召回率。对 graph/SQL 生成还要强制解析计划、扫描行数和执行时间上限。
