---
type: study
created: 2026-08-11
updated: 2026-08-11
sensitivity: standard
status: verified
tags:
  - study
  - langchain
  - typescript
  - integrations
  - vector-store
  - cloud
topic: LangChain JavaScript 云原生向量库 Azure Cloudflare Google
sources:
  - https://docs.langchain.com/oss/javascript/integrations/vectorstores/azure_cosmosdb_mongodb
  - https://docs.langchain.com/oss/javascript/integrations/vectorstores/azure_cosmosdb_nosql
  - https://docs.langchain.com/oss/javascript/integrations/vectorstores/azure_documentdb
  - https://docs.langchain.com/oss/javascript/integrations/vectorstores/cloudflare_vectorize
  - https://docs.langchain.com/oss/javascript/integrations/vectorstores/google_cloudsql_pg
last_verified: 2026-08-11
---
# 云原生向量库：Azure、Cloudflare、Google

## 结论

- Azure 有两条不同数据模型：DocumentDB 的 MongoDB 兼容接口与 Cosmos DB for NoSQL 的 JSON/SQL 查询接口；旧 MongoDB vCore 名称已 deprecated，不应继续用于新代码。
- Cloudflare Vectorize 适合 Workers 边缘运行；Google Cloud SQL PostgreSQL 适合把向量与关系数据放在托管 Postgres。运行时、过滤 DSL、身份和建表方式都不同。
- 用户 filter 必须参数化。Cosmos NoSQL 文档给出了字符串拼接导致 delete-all 的明确注入案例。

## Azure 改名与迁移

`Azure Cosmos DB for MongoDB vCore` 已由 Microsoft 重命名为 Azure DocumentDB。旧 `AzureCosmosDBMongoDBVectorStore` 等类只作为 deprecated alias 兼容；新项目应使用 `AzureDocumentDBVectorStore`，连接变量也迁移到 DocumentDB 命名。

迁移验证包括：索引名称/类型、连接串、字段路径、filter、upsert/delete、查询结果、驱动版本和监控维度。类名兼容不代表部署资源自动迁移。

## Cosmos DB for NoSQL

`AzureCosmosDBNoSQLVectorStore` 将 vector 与 JSON 文档同存，支持：

- 标准 vector search、score threshold、MMR；
- full-text search/ranking（preview）；
- vector + full text 的 RRF hybrid（preview）；
- 按 ID、参数化 filter 或全量删除；
- `getContainer()` 访问底层 Cosmos container。

Managed Identity + RBAC 模式下，身份不能创建 database/container，必须预先建好资源。任何用户条件都应使用 `SqlQuerySpec` 的 `@param`；禁止 `WHERE ${userFilter}`。权限/tenant 条件由服务端强制追加，删除默认拒绝空 filter。

Full-text 与 hybrid 仍为 preview，需要 container full-text policy 和索引；应设置 feature flag、回退到 vector search，并用真实工作负载验证 RRF 权重与费用。

## Azure DocumentDB

DocumentDB 提供原生 MongoDB 兼容和 vector search。典型流程是加载/切分文档、`fromDocuments()` 建库、similarity search、转 Retriever，再关闭 store。连接串和 admin key 属于高敏凭据，生产优先使用细分数据库用户与受控网络。

## Cloudflare Vectorize

Cloudflare Vectorize 通过 Wrangler 建 index，并在 `wrangler.toml` 绑定给 Worker；使用 `@langchain/cloudflare`，可与 Workers AI Embeddings 组合。

- 文档当时标记 open beta 且需付费计划，能力/价格可能变化。
- 本地调试需 `wrangler dev --remote`，表明真实向量操作依赖远端服务。
- Worker 的绑定与常规 Node client 不同；要关注 CPU 时间、请求体和子请求额度。
- metadata filter 格式遵循 Vectorize，部署前做 filter 字段和 schema 验证。

## Google Cloud SQL PostgreSQL

`PostgresEngine` 建连接，先 `initVectorstoreTable(table, dimension, args)`，再 `PostgresVectorStore.initialize()`。支持显式 ID、删除、score search、字符串 filter 和 MMR。

前置工作包括启用 API/计费、实例/数据库/用户和 Google 认证。文档示例使用字符串形式 filter；若条件来自用户，应用必须参数化或通过受控 builder 构造，不能拼接 SQL。

## 选型与运维

| 需求 | 更自然的候选 |
|---|---|
| Azure JSON 数据与原生 hybrid preview | Cosmos DB for NoSQL |
| MongoDB 兼容 Azure 服务 | Azure DocumentDB |
| Cloudflare Worker 边缘部署 | Vectorize |
| 关系事务、SQL 与向量共存 | Cloud SQL PostgreSQL |

统一监控写入可见延迟、RU/CPU、query latency、throttle、index size、filter selectivity 与成本；用 workload identity 和私网连接，避免长期 admin key。

