remdb 0.3.1

嵌入式内存数据库
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
# remdb-ai 向量数据库需求

[TOC]

## ✅ 用户故事与验收条件

### **阶段一:最小可行产品(MVP)**

**核心存储引擎**

#### **US-101:AI原生向量数据模型**

作为AI应用开发者,我希望向量是与INT、STRING同等的基础数据类型,支持直接在CREATE TABLE中定义维度、距离度量及量化算法,以便于构建原生向量数据库应用。

**验收条件:**

1. 能够使用CREATE TABLE语句创建包含向量字段的表,语法为:CREATE TABLE table_name (id INT PRIMARY KEY, vec VECTOR(768) WITH DISTANCE=L2, meta STRING);
2. 支持至少3种距离度量(Cosine, L2, IP)
3. 支持至少2种量化算法(SQ, PQ)
4. 向量字段支持基本的CRUD操作


**技术约束:**

- 向量维度必须在创建表时指定,不支持动态修改
- 单向量最大维度:4096

**测试场景:**

- 功能测试:执行CREATE TABLE语句创建向量表,验证语法正确性
- 功能测试:对向量字段执行INSERT、SELECT、UPDATE、DELETE操作,验证结果正确性
- 性能测试:插入100万条向量数据,验证插入性能

---

#### **US-102:混合查询支持**

作为AI应用开发者,我希望向量相似度搜索能与标量过滤、范围查询无缝组合,无需应用层拼接,以便实现复杂查询逻辑。

**验收条件:**

1. 支持向量相似度搜索与标量过滤的组合查询,语法为:SELECT * FROM docs WHERE VECTOR_SIMILAR(embedding, $query_vec) AND category = 'tech' LIMIT 10;
2. 支持向量相似度搜索与范围查询的组合,语法为:SELECT * FROM docs WHERE VECTOR_SIMILAR(embedding, $query_vec) AND timestamp > '2023-01-01' LIMIT 10;
3. 混合查询性能损耗<30%(相较于纯向量查询)

**测试场景:**

- 功能测试:执行多种组合查询,验证结果正确性
- 性能测试:比较纯向量查询与混合查询的性能差异,验证性能损耗<30%

---

#### **US-103:工业级单机存储引擎**

作为系统架构师,我希望数据库具备ACID事务支持、预写日志和检查点机制,以保证数据的可靠性和持久性。

**验收条件:**

1. 支持事务语法:BEGIN TRANSACTION; INSERT INTO docs VALUES (...); INSERT INTO docs VALUES (...); COMMIT;
2. 事务中任一操作失败,整个事务回滚,数据保持一致性
3. 系统崩溃后重启,已提交数据不丢失
4. 所有数据修改先写入WAL,再更新内存和主存储
5. 支持至少2种WAL刷盘策略:per write 和 per N seconds
6. 后台自动创建检查点,检查点创建不影响前端查询性能
7. 支持手动触发检查点,语法为:CREATE CHECKPOINT;

**技术约束:**

- 事务嵌套深度:1层
- WAL文件自动轮转和清理

**测试场景:**

- 功能测试:执行包含多个操作的事务,验证原子性
- 可靠性测试:执行事务后kill -9进程,重启后验证数据一致性
- 功能测试:验证自动和手动检查点的创建
- 可靠性测试:创建检查点后kill -9进程,重启后验证恢复正确性

---

#### **US-104:生产级索引管理器**

作为AI应用开发者,我希望数据库支持高性能的向量索引,包括HNSW和IVF_FLAT,以实现快速的相似性搜索。

**验收条件:**

1. 支持至少2种索引类型:HNSW、IVF_FLAT
2. 支持至少3种距离度量:Cosine、L2、IP
3. 支持索引类型相关参数配置,如HNSW的M和ef_construction
4. 支持在线创建索引,语法为:CREATE INDEX idx_embedding ON docs(embedding) USING HNSW WITH (M=16, ef_construction=200);
5. 索引构建过程中,前端读写查询正常执行
6. 支持SHOW INDEX BUILD STATUS命令查看构建进度
7. 索引数据与主数据一同持久化,服务重启后无需重建索引
8. 千万级向量索引加载时间 < 1分钟
9. 亿级向量索引加载时间 < 5分钟

**性能与精度需求:**

- 在千万级向量数据集中,使用HNSW索引(ef_search=128)进行单次查询:P95延迟 < 50ms,召回率(Recall@10)> 98%
- 混合查询性能损耗 < 30%(相较于纯向量查询)

**测试场景:**

- 功能测试:创建不同类型和配置的索引,验证语法正确性和功能正常
- 性能测试:比较不同索引配置的性能差异
- 功能测试:在已有数据上创建索引,验证构建过程不阻塞读写
- 功能测试:使用SHOW INDEX BUILD STATUS命令查看构建进度
- 性能测试:在千万级向量数据集上执行10,000次查询,测量P95延迟
- 精度测试:将近似搜索结果与精确搜索结果对比,计算Recall@10

---

**计算与查询栈**

#### **US-105:工业级AINQL与查询引擎**

作为AI应用开发者,我希望数据库支持完备的客户端协议与SDK,以及SQL-like的查询语法,以便于快速集成和开发应用。

**验收条件:**

1. 同时支持 gRPC(高性能,生产推荐)和 RESTful HTTP(易调试)协议
2. gRPC协议支持所有核心功能,性能测试中吞吐量>10,000 QPS
3. RESTful HTTP协议支持所有核心功能,便于调试和集成
4. 提供功能完整的 Python SDK(支持异步),以及基础的 Go/Java SDK
5. 支持SQL-like查询语法,核心示例:
   ```sql
   SELECT id, doc, cosine_distance(vector, $query_vec) AS score 
   FROM my_collection 
   WHERE category = '科技' AND year > 2023 
   ORDER BY score ASC 
   LIMIT 10;
   ```
6. 支持查询参数化,防止注入攻击
7. 支持查询级超时配置,语法为:SELECT * FROM docs WHERE VECTOR_SIMILAR(embedding, $query_vec) TIMEOUT 500ms;
8. 支持最大返回结果数限制
9. 当系统负载超过阈值时,能优雅拒绝新查询,保护系统稳定性

**测试场景:**

- 功能测试:使用不同协议和SDK执行各种查询操作,验证功能完整性
- 性能测试:测量gRPC协议的吞吐量,验证>10,000 QPS
- 集成测试:验证SDK与数据库服务的兼容性
- 功能测试:执行各种AINQL查询,验证语法正确性和结果准确性
- 安全测试:尝试SQL注入攻击,验证系统能有效防御
- 功能测试:执行长查询,验证超时机制生效
- 压力测试:模拟高负载场景,验证查询熔断机制生效

---

#### **US-106:内置模型运行时**

作为AI应用开发者,我希望数据库内置模型推理运行时,支持在查询管道中直接调用嵌入模型,以便实现检索即推理。

**验收条件:**

1. 模型在独立的Model Worker进程中运行,与主数据库进程隔离
2. 支持配置Model Worker的CPU核心数和内存上限
3. Model Worker崩溃或被杀死时,主数据库服务继续正常运行
4. 提供同步调用接口,用于实时查询时的文本向量化
5. 同步接口延迟P99<100ms,支持每秒至少1,000次调用
6. 内置至少1个高质量嵌入模型(如BGE-M3)
7. 支持在查询中直接调用内置模型,语法为:SELECT text_embedding(text, 'BGE-M3') AS embedding FROM docs;
8. 支持从HTTP URL或本地文件路径挂载自定义模型,语法为:CREATE MODEL custom_model USING 'https://example.com/model.onnx' TYPE embedding;

**测试场景:**

- 功能测试:启动数据库服务,验证Model Worker进程独立运行
- 可靠性测试:杀死Model Worker进程,验证主数据库服务继续正常运行
- 资源测试:配置Model Worker资源限制,验证资源使用不超过限制
- 性能测试:测量同步接口的延迟和吞吐量
- 功能测试:使用内置模型生成嵌入向量,验证结果正确性
- 功能测试:从HTTP URL和本地文件加载自定义模型,验证能正常使用

---

**部署与运维**

#### **US-107:单一二进制部署**

作为系统管理员,我希望整个数据库为一个独立的、无外部运行时依赖的可执行文件,以便于部署和运维。

**验收条件:**

1. 数据库为单一可执行文件,无外部依赖(如Java Runtime、Python等)
2. 支持主流操作系统:Linux、Windows、macOS
3. 可直接运行,无需额外安装步骤

**测试场景:**

- 功能测试:在不同操作系统上直接运行二进制文件,验证能正常启动
- 依赖测试:使用ldd(Linux)或otool(macOS)检查二进制文件依赖,验证无外部运行时依赖

---

#### **US-108:基础认证与安全**

作为系统管理员,我希望数据库支持简单的API Key认证和网络安全配置,以保护数据安全。

**验收条件:**

1. 支持API Key认证,配置语法为:SET GLOBAL api_keys=['key1', 'key2'];
2. API Key通过HTTP Header或gRPC Metadata传递
3. 无效API Key请求被拒绝,返回401 Unauthorized
4. 支持API Key的动态更新,无需重启服务
5. 支持配置监听IP,语法为:SET GLOBAL listen_address='0.0.0.0:9000';
6. 支持SSL/TLS加密传输,配置语法为:SET GLOBAL ssl_cert='server.crt'; SET GLOBAL ssl_key='server.key';
7. 支持至少TLS 1.2版本

**测试场景:**

- 功能测试:使用有效和无效API Key发送请求,验证认证机制生效
- 安全测试:尝试各种API Key伪造攻击,验证系统能有效防御
- 功能测试:动态更新API Key,验证无需重启服务即可生效
- 功能测试:配置不同的监听IP,验证服务能正确绑定
- 安全测试:使用OpenSSL验证TLS版本和加密套件

---

### **阶段二:核心优化**

**性能优化**

#### **US-201:动态AI数据流优化**

作为实时AI应用开发者,我希望数据库支持流式摄取与实时索引,以及工作负载感知的缓存,以处理动态数据流。

**验收条件:**

1. 支持从Kafka消费数据,配置语法为:CREATE STREAM ingestion FROM KAFKA TOPIC 'docs' WITH CONFIG (bootstrap_servers='kafka:9092');
2. 数据摄入后可见延迟<1s
3. 支持每秒至少10,000条数据的持续摄入
4. 自动识别高频查询,缓存命中率>80%
5. 自动识别热点数据,热点数据访问延迟<1ms
6. 支持动态调整缓存大小和策略

**测试场景:**

- 功能测试:从Kafka发送测试数据,验证数据能被正确摄入和索引
- 性能测试:测量数据摄入到可见的延迟,验证<1s
- 性能测试:测试持续摄入10,000条/秒数据的稳定性
- 性能测试:模拟高频查询,测量缓存命中率,验证>80%
- 性能测试:访问热点数据,测量延迟,验证<1ms

---

#### **US-202:模型计算下推**

作为AI应用开发者,我希望可将轻量级嵌入模型、重排序模型以UDF形式部署在存储层,实现"数据在哪里,计算就在哪里",避免大规模数据移动。

**验收条件:**

1. 支持将模型作为UDF部署,语法为:CREATE MODEL udf_embedding USING 'bge-m3.onnx' AS (text STRING) RETURNS VECTOR(768);
2. 模型UDF支持在查询中调用,语法为:SELECT udf_embedding(text) AS embedding FROM docs;
3. 模型计算下推能减少至少50%的数据传输量

**测试场景:**

- 功能测试:部署模型UDF,在查询中调用,验证结果正确性
- 性能测试:比较模型计算下推前后的数据传输量,验证减少至少50%

---

**数据智能**

#### **US-203:数据谱系与版本化**

作为AI研究者,我希望支持对指定集合创建数据快照,并可通过快照ID进行历史数据查询或恢复,服务于AI实验的可复现性。

**验收条件:**

1. 支持创建集合快照,语法为:CREATE SNAPSHOT docs_snapshot ON docs;
2. 支持通过快照ID查询历史数据,语法为:SELECT * FROM docs@docs_snapshot WHERE id = 1;
3. 支持从快照恢复数据,语法为:RESTORE TABLE docs FROM SNAPSHOT docs_snapshot;
4. 快照创建时间<1分钟(对于100万条数据的集合)
5. 每条数据自动记录谱系信息,包括源文件、提取位置、嵌入模型版本、处理时间
6. 支持通过数据ID查询完整谱系,语法为:SELECT lineage FROM docs_lineage WHERE data_id = 1;

**测试场景:**

- 功能测试:创建快照、查询快照数据、从快照恢复,验证各操作正确性
- 性能测试:测量快照创建时间,验证<1分钟
- 可靠性测试:从快照恢复数据后,验证数据完整性
- 功能测试:插入数据,验证谱系信息自动记录
- 功能测试:查询数据谱系,验证信息完整性

---

#### **US-204:可观测性**

作为系统管理员,我希望数据库提供全面的监控指标和结构化日志,以便于运维和故障排查。

**验收条件:**

1. 通过 /metrics 端点暴露Prometheus格式指标,至少包括:vecdb_query_duration_seconds (分位数)、vecdb_index_cache_hit_rate、vecdb_active_connections、vecdb_wal_size_bytes
2. 所有操作日志以JSON格式输出,包含请求ID、用户、耗时等关键字段
3. 提供 /health(健康检查)、/config(配置查看)、/debug/pprof(性能剖析)等运维端点
4. 日志包含关键查询的召回率估算,格式为JSON
5. Model Worker暴露Prometheus格式的模型推理指标,包括P99延迟、吞吐量和错误率
6. 提供AI专属监控指标:vecdb_index_recall_rate、vecdb_query_cache_hit_rate、vecdb_retrieval_token_cost

**测试场景:**

- 功能测试:访问 /metrics 端点,验证返回有效的Prometheus格式指标
- 监控测试:验证指标能被Prometheus正确采集
- 功能测试:执行操作,验证日志格式和内容符合要求
- 功能测试:访问各个管理端点,验证返回内容符合要求
- 健康检查测试:模拟服务异常,验证/health端点返回非200状态码
- 功能测试:执行查询,验证日志中包含召回率估算信息
- 功能测试:访问Model Worker的metrics端点,验证模型推理指标存在

---

### **阶段三:高级功能**

**高级查询功能**

#### **US-301:分数可编程**

作为AI应用开发者,我希望提供SCORE FUSION子句,允许用户自定义函数(如RRF, 加权求和)来融合来自向量、关键词、图关系的多元相关性分数。

**验收条件:**

1. 支持SCORE FUSION子句,语法为:SELECT * FROM docs WHERE SCORE FUSION([VECTOR_SIMILAR(embedding, $query_vec), FULLTEXT_MATCH(content, $query_str)]) USING RRF LIMIT 10;
2. 支持至少2种内置融合算法(RRF, 加权求和)
3. 支持自定义融合函数

**测试场景:**

- 功能测试:使用不同融合算法执行查询,验证结果正确性
- 功能测试:使用自定义融合函数执行查询,验证结果正确性

---

#### **US-302:多模态联合检索**

作为AI应用开发者,我希望支持单一查询语句跨不同模态(文本、图像、音频)的向量空间进行联合检索与结果归并,以便实现多模态AI应用。

**验收条件:**

1. 支持跨模态联合检索,语法为:SELECT * FROM multimodal_docs WHERE CROSS_MODAL_SIMILAR(vector, $query_vec, modalities=['text', 'image']) LIMIT 10;
2. 支持至少3种模态(文本、图像、音频)
3. 支持结果归并与排序

**测试场景:**

- 功能测试:执行跨模态联合检索,验证结果正确性
- 功能测试:验证不同模态的结果能够正确归并排序

---

#### **US-303:会话与序列原生支持**

作为会话AI开发者,我希望提供SESSION或SEQUENCE类型,用于直接存储和管理多轮对话、Agent执行链等具有严格时序关系的数据单元。

**验收条件:**

1. 能够创建包含SESSION类型的表,语法为:CREATE TABLE conversations (session_id SESSION PRIMARY KEY, message STRING, timestamp TIMESTAMP);
2. 支持按会话ID查询完整会话历史,保持时序关系
3. 支持会话数据的原子更新

**测试场景:**

- 功能测试:创建会话表,插入多条会话数据,验证查询结果保持时序
- 并发测试:多个客户端同时更新同一会话,验证数据一致性

---

**高级存储功能**

#### **US-304:分级存储自动化**

作为系统管理员,我希望基于数据访问模式(热度、时效性),自动在内存 -> SSD -> 对象存储间迁移数据,并对查询保持透明,以优化存储成本。

**验收条件:**

1. 支持配置多级存储策略,语法为:ALTER TABLE docs SET STORAGE_POLICY (hot_ttl=2h, warm_ttl=30d);
2. 数据自动根据访问模式在不同存储层级间迁移
3. 分级存储对查询透明,无需修改查询语句

**测试场景:**

- 功能测试:配置分级存储策略,验证数据根据访问模式自动迁移
- 功能测试:查询不同存储层级的数据,验证结果正确性和透明性
- 成本测试:测量分级存储的存储成本节约

---

#### **US-305:图向量融合**

作为图AI应用开发者,我希望支持在图数据库的节点和关系上直接附加向量属性,并能基于向量相似度进行图遍历的路径剪枝或起点选择。

**验收条件:**

1. 能够创建包含向量属性的图节点和关系,语法为:CREATE NODE TYPE user (id INT PRIMARY KEY, profile_vec VECTOR(768));
2. 支持基于向量相似度的图遍历,语法为:TRAVERSE FROM (SELECT * FROM user WHERE VECTOR_SIMILAR(profile_vec, $query_vec) LIMIT 5) MAX_DEPTH 3;
3. 图遍历过程中支持基于向量相似度进行路径剪枝

**测试场景:**

- 功能测试:创建图节点和关系,附加向量属性,执行向量相似度图遍历,验证结果正确性
- 性能测试:在包含100万节点的图上执行向量相似度图遍历,验证性能

---

### **阶段四:可选扩展**

**性能极致优化**

#### **US-401:无锁高并发架构**

作为高性能AI应用开发者,我希望数据库核心使用无锁数据结构和细粒度并发控制,以便在多核服务器上实现更高的查询性能。

**验收条件:**

1. 核心数据结构(哈希表、B+树)实现无锁版本
2. 支持多核并行查询,查询性能随核心数线性扩展
3. 内存操作使用RCU(Read-Copy-Update)或类似技术,实现零拷贝读取
4. 实现NUMA感知的内存分配和线程绑定
5. 单个查询延迟99分位线<50μs

**测试场景:**

- 多线程并发测试,验证线性扩展性
- 不同NUMA节点配置下的性能测试
- 长时间压力测试(24小时)验证无锁算法的正确性

---

#### **US-402:零拷贝网络栈优化**

作为网络敏感AI应用开发者,我希望数据库网络层实现零拷贝和批处理,以便最大化网络吞吐量并降低CPU使用率。

**验收条件:**

1. 实现基于io_uring的异步网络I/O(Linux 5.1+)
2. 支持零拷贝数据发送(sendfile、splice等技术)
3. 命令批处理:单次系统调用处理多个客户端请求
4. 网络吞吐量:单节点>40Gbps,CPU使用率<50%

**测试场景:**

- 使用dpdk-testpmd测试网络吞吐量
- 高并发连接测试
- 网络延迟测试(P99延迟<100μs)

---

**高级安全与管理**

#### **US-403:完整的RBAC支持**

作为企业级AI应用开发者,我希望数据库支持完整的基于角色的访问控制(RBAC),以便于管理不同用户的权限。

**验收条件:**

1. 支持创建角色,语法为:CREATE ROLE developer;
2. 支持为角色授予权限,语法为:GRANT SELECT, INSERT ON docs TO developer;
3. 支持为用户分配角色,语法为:GRANT ROLE developer TO user1;
4. 支持细粒度的权限控制,包括表级、行级、列级权限

**测试场景:**

- 功能测试:创建角色、授予权限、分配角色,验证权限控制生效
- 安全测试:验证用户只能执行被授予的操作

---

## 🧠 设计要点说明

### **核心理念**

1. **计算贴近数据**:将模型推理(如嵌入生成、重排序)作为一等公民内置,减少数据搬运。
2. **动态数据与静态数据同等重要**:为实时流式数据(如对话、传感器数据)设计原生摄入、索引和查询路径。
3. **语义理解超越字节存储**:数据模型以"向量"、"文档"、"图谱关系"为核心,而非传统的"行"与"列"。
4. **工作负载感知的自优化**:系统能感知检索、会话管理、Agent推理等不同模式,并自动优化资源分配和索引策略。
5. **开发即生产**:为AI应用快速迭代的特性设计,支持无缝的架构演进、数据版本化和实验管理。

### **架构设计**

#### 一、架构与引擎层

- **存算分离与统一数据层**:计算节点(执行查询、嵌入模型)可独立于存储节点弹性伸缩。底层为所有数据(向量、标量、图、非结构化文件)提供统一的寻址、缓存和事务视图。
- **混合负载处理引擎**  - **实时分析处理(RTAP)**:在同一数据上同时支持高吞吐的向量检索(OLAP)和低延迟的点更新(如Agent状态写入,OLTP)。
  - **流批一体摄入**:支持批量历史数据灌入与实时流数据(如Kafka流)的毫秒级摄入与索引同步构建。
- **多粒度索引自动管理**  - 支持在字段、集合、租户级别创建和管理不同的向量索引(如HNSW, DiskANN, ScaNN)。
  - 索引热切换与在线重建:在数据持续写入时,支持后台异步构建新索引,并能在不中断服务的情况下完成切换。
  - 成本感知的分级存储:热数据在内存/SSD,温冷数据自动降级至对象存储,并对查询透明。

#### 二、查询与计算层

- **AI原生查询语言(AINQL)扩展**  - `FIND vec_similar TO @query_vec WHERE metadata.color = "red" LIMIT 10 WITH score_cutoff=0.7`
  - JOIN 操作支持相似度连接(如找出相关对话和订单)。
  - 内置聚合函数如 `centroid(vector_column)``diversity(vector_results)`- **内置模型推理运行时**  - 支持将嵌入模型、重排序模型、分类模型等以UDF形式部署,在查询管道中调用。
  - 例如:`RETRIEVE doc FROM knowledge_base RERANK BY bge-reranker-large LIMIT 5`- **多模态与混合检索**  - 原生支持跨模态联合检索,例如"用这张图片搜索相关文本描述"。
  - 支持混合分数融合:支持自定义算法(如加权平均、RRF)融合来自关键词、向量、图遍历路径的多种相关性分数。

#### 三、数据模型与存储层

- **灵活且强类型的模式**  - 支持动态字段,但核心字段可强制类型约束(如向量维度、数据类型)。
  - 支持嵌套文档和数组,特别是对长上下文对话的天然存储。
- **向量优化存储格式**  - 向量数据采用针对SIMD指令集优化的压缩格式存储。
  - 支持标量量化(SQ)、乘积量化(PQ)等,在精度和存储/计算效率间取得平衡。
- **图向量一体化存储**  - 节点和关系均可附加向量属性,支持在图遍历过程中进行向量相似度剪枝。

## 产品核心定位

一个性能卓越、稳定可靠、开箱即用、具备完整可观测性的单机AI原生向量数据库。它必须能直接用于中小型生产环境(如RAG应用、智能体、会话AI),并为未来分布式扩展(V2.0)打下坚实的内核基础。

## 阶段一(V1.0)成功标准

1. **功能完整**:具备上述所有核心功能,可作为独立数据库服务部署。
2. **性能达标**:所有性能指标在参考硬件(8核CPU,32GB内存,1TB NVMe SSD)上通过标准测试验证。
3. **稳定可靠**:通过72小时连续稳定性压测,无内存泄漏,各项指标(延迟、吞吐)波动在10%以内。
4. **生产就绪**:提供完整的部署文档、运维手册、监控告警指南,并实现与LangChain等主流AI框架的官方集成。