VexDB Lite v0.0.17
v0.0.17 是一次跨引擎与跨平台更新:新增 SQLite 适配层,统一 PostgreSQL、DuckDB、SQLite 的 PQ / RaBitQ 量化能力,并加强 DuckDB 恢复、PostgreSQL 并行构建和完整发版链路。
主要更新
新增 SQLite 适配层
- 提供 SQLite 虚拟表、向量编解码和 L2 / cosine / inner product 距离计算。
- 支持自研图索引、增量 INSERT / UPDATE / DELETE、事务与重启持久化。
- 支持内存与磁盘模式、metadata 过滤、LIMIT 下推、PQ / RaBitQ compact 索引。
- 提供 macOS、Linux、iOS XCFramework、Android、HarmonyOS 和 WASM 产物。
- 新增完整 iOS 示例应用及文本、图片向量检索示例。
三引擎量化能力统一
- PostgreSQL、DuckDB、SQLite 共用同一套 PQ / RaBitQ 核心实现。
- 加强量化索引的增量写入、删除、并发、持久化与旧格式兼容。
- 修复 RaBitQ 跨架构覆盖校验误判,旧版索引文件可在 x86_64 与 AArch64 正常加载。
DuckDB 稳定性与恢复能力
- 新增
PRAGMA vexdb_rebuild_index重建能力。 - 加强 checkpoint、WAL、重启、损坏检测和 crash recovery。
- 增加图索引内存限制与 compact 模式,降低大索引内存占用。
- 修复小数据集重建后近似搜索结果不稳定的问题。
- 补充量化更新、并发读写、重建恢复和旧格式 fixture 测试。
PostgreSQL 能力增强
- PQ 索引支持增量写入、更新与删除。
- RaBitQ 支持并行构建、查询、持久化和 mutation 场景。
- 加强并行磁盘构建、worker 协作、向量缓存与大数据量 flush 安全性。
- 扩展 SQL 版本升级到
1.1,提供1.0 -> 1.1升级脚本。
已有 PostgreSQL 安装可执行:
ALTER EXTENSION vexdb_lite UPDATE TO '1.1';发布产物
- DuckDB v1.5.2:Linux x86_64、AArch64,包含独立调试符号包。
- PostgreSQL 16 / 17 / 18 / 19:Linux x86_64、AArch64,包含独立调试符号包。
- SQLite:Linux x86_64 / AArch64、macOS arm64 / x86_64、iOS XCFramework、Android arm64-v8a / x86_64、HarmonyOS arm64-v8a、WASM。
SHA256SUMS.txt:包含全部 31 个压缩包的 SHA256。
HarmonyOS 是 v0.0.17 的补充产物,来自 PR #25 的提交 62911f8788。现有 v0.0.17 tag 和其他平台产物未改动。
下载后可验证:
shasum -a 256 -c SHA256SUMS.txt测试结果
- DuckDB Linux x86_64:127/127 测试通过,4892 条断言通过。
- DuckDB Linux AArch64:127/127 测试通过,4892 条断言通过。
- PostgreSQL 19 AArch64:88/88 spec 通过,包括 80 万条 768 维向量及并行构建场景。
- SQLite spec:32/32 通过,并验证 SQLite 3.46.0 与 3.53.4。
- SQLite Linux x86_64 / AArch64:M0、M1、SIMD、M2、M3、M3+ 全部通过。
- iPhone 17 Pro、iOS 26.3 Simulator:M0、M1、SIMD、M2、M3、M3+ 全部通过;4 万向量 3 轮 8 线程 recall@10 均为 1.0000。
- HarmonyOS arm64-v8a 模拟器:M0、M1、SIMD、M2、M3、M3+ 全部通过;4 万向量 3 轮 8 线程 recall@10 均为 1.0000。
- HarmonyOS 回归验证:iOS device / simulator 和 Android arm64-v8a / x86_64 均重新构建成功;SQLite spec 32/32 通过。
- 31 个归档均提供 SHA256,且未发现 AppleDouble 或
.DS_Store污染。
兼容性与限制
- DuckDB 扩展仅支持 DuckDB v1.5.2,C++ 扩展不能跨 DuckDB 版本加载。
- PostgreSQL 支持 16、17、18、19。
- Linux 发布目标为 x86_64 与 AArch64(ARMv8.2+)。
- 本版本暂不提供 Windows 预编译包。
完整变更:v0.0.16...v0.0.17