CockroachDB
CockroachDB 是一个分布式 SQL 数据库,
兼容 PostgreSQL 协议。自 v24.2 起内置原生 VECTOR
列类型,自 v25.2 起提供名为 C-SPANN 的分布式近似最近邻
索引。langchain4j-community-cockroachdb
模块将两者与 LangChain4j 集成,提供:
- 向量
EmbeddingStore<TextSegment>(CockroachDbEmbeddingStore) ChatMemoryStore(CockroachDbChatMemoryStore)
该 Java 模块在存在对应 Java 等价实现的地方,镜像官方 Python
langchain-cockroachdb
库的功能集。
版本要求
| 功能 | 最低 CockroachDB 版本 |
|---|---|
VECTOR(n) 列类型 | v24.2 |
CREATE VECTOR INDEX(C-SPANN) | v25.2 |
通过 ttl_expiration_expression 实现行级 TTL | v23.1 |
在 CockroachDB v25.2 上,向量索引由集群设置控制。在使用 CSpannIndex
创建 store 之前,请先在每个集群启用一次:
SET CLUSTER SETTING feature.vector_index.enabled = true;
Maven 依赖
备注
由于 CockroachDB 支持属于 langchain4j-community,将从版本
1.18.1-beta28 或更高版本起可用。
<dependency>
<groupId>dev.langchain4j</groupId>
<artifactId>langchain4j-community-cockroachdb</artifactId>
<version>1.18.1-beta28</version>
</dependency>