
向量数据库选型指南VexDB-Lite 如何用一个内核同时加速 PostgreSQL、DuckDB 和 SQLite【免费下载链接】VexDB-LiteA cross-platform vector database, which can be integrated into existing databases as a plugin.项目地址: https://gitcode.com/gh_mirrors/ve/VexDB-LiteVexDB-Lite是一款跨平台向量数据库检索引擎以插件形式嵌入 PostgreSQL、DuckDB 和 SQLite三个后端共享同一套自研图索引算法、SIMD 距离计算内核和 PQ/RaBitQ 量化压缩模块。对于需要在业务库、分析库和端侧设备上统一做向量检索的团队它给出了一次内核、三端复用的选型答案。一核多库VexDB-Lite 的整体架构大多数向量数据库选型难题在于业务数据在 PostgreSQL、分析数据在 DuckDB、App 本地在 SQLite三套系统往往意味着三套向量索引实现、三份维护成本。VexDB-Lite 的思路反过来——把核心算法收敛到一个共享内核适配层只做胶水。共享内核位于 common/ 目录包含四个关键组件组件路径作用自研图索引算法common/include/graph_index/层级图结构、邻居选择、增量更新SIMD 距离计算common/distance/SSE4.1 / AVX2 / AVX-512 / NEON 运行时分发PQ 产品量化common/quantizer/K-means 训练、编码、ADC 距离RaBitQ 量化common/rabitq/量化码图遍历L2 / 余弦 / 内积均支持三个适配层则非常薄PostgreSQLvexdb_pg/注册vexdb_graph索引访问方法、floatvector(N)向量类型、WAL 持久化DuckDBvexdb_duckdb/提供GRAPH_INDEX索引类型优化器自动改写为VEXDB_INDEX_SCANSQLitevexdb_sqlite/以虚拟表 Shadow Table 承载GRAPH_INDEX面向端侧与嵌入式场景。这意味着三个引擎的召回行为、量化语义、距离语义天然一致——SQLite 侧甚至做过跨引擎 800 组向量对照测试用 float64 真值仲裁确保三端结果对齐见 vexdb_sqlite/README.md。选型建议什么时候选哪个引擎同一个内核之下三个适配层各有明确定位选型可以按数据放在哪直接决定维度PostgreSQL 插件DuckDB 扩展SQLite 扩展向量类型floatvector(N)原生FLOAT[N]虚拟表GRAPH_INDEX距离算子-、~、-、~、MATCH 距离函数典型场景在线业务库、事务写入离线分析、湖仓查询移动端、IoT、嵌入式特色能力并行构建、共享内存向量缓冲带 WHERE 过滤的 ANN 查询PQ/RaBitQ 低内存压缩支持版本PostgreSQL 16 ~ 19DuckDB v1.5.2SQLite ≥ 3.38一句话总结PostgreSQL 选事务在线DuckDB 选分析过滤SQLite 选端侧轻量。详细能力矩阵见 README.md版本与架构支持见 documentation/compatibility.md。性能实测SIFT-1M 上比 pgvector 快多少在 SIFT-1M128 维基准测试中m16、ef_construction128Intel Core Ultra 7 平台VexDB-Lite 对主流内置方案的提升非常直观系统QPSef50单线程QPSef100单线程pgvector507.9313.4vexdb_litePostgreSQL994.7618.5duckdb-vss496.1405.2vexdb_liteDuckDB717.5547.2同等 Recall10 下PostgreSQL 侧约快1.9 倍DuckDB 侧约快1.45 倍。性能来自两个内核能力运行时 SIMD 分发——同一份代码在 x86 上自动选择 AVX2/AVX-512在 ARM 上选择 NEON无需针对 CPU 重新编译PQ / RaBitQ 量化——索引中只存量化码而非原始向量memory_modecompact时内存占用大幅下降适合向量规模远超内存的场景。完整基准数据见 README.md 第 7 节功能参数文档见 documentation/features.md。上手体验以 PostgreSQL 为例以最常见的在线场景为例核心操作只有四步装扩展 → 建表 → 建图索引 → 查最近邻。CREATE EXTENSION vexdb_lite; CREATE TABLE items (id BIGSERIAL PRIMARY KEY, vec floatvector(128)); CREATE INDEX idx_items_vec ON items USING vexdb_graph (vec floatvector_l2_ops) WITH (m 16, ef_construction 64, parallel_workers 4); SET vexdb.ef_search 100; SELECT id, vec - [0.15, 0.25, 0.35] AS dist FROM items ORDER BY vec - [0.15, 0.25, 0.35] LIMIT 10;建索引时还可追加quantizer pq或rabitq开启量化压缩DuckDB 与 SQLite 的写法大同小异分别参考 documentation/features.md 中的 DuckDB 与 SQLite 小节。在 AI 应用侧向量检索是 Agent 记忆、RAG 检索、以图搜图的基础设施——项目自带的 iOS 演示 examples/ios/VexDBLiteDemo/ 就用 SQLite 适配层在真机上实现了图片向量检索可以直接参考其用法。兼容性速查跨平台覆盖矩阵CPU 架构x86_64SSE4.1/AVX2/AVX-512与 AArch64NEONARMv8.2运行时自动选择最优 SIMD 实现操作系统Linux x86_64 / aarch64 均有预编译产物manylinux_2_28macOS arm64 支持源码构建移动端 iOS 有完整 Demo数据库版本PostgreSQL 16 ~ 19、DuckDB v1.5.2、SQLite ≥ 3.38。⚠️ 小提示DuckDB 扩展与运行时版本严格绑定加载前建议先执行SELECT version()确认是 v1.5.2。总结VexDB-Lite 的选型价值在于降低向量数据库的多引擎维护成本图索引、距离计算、量化压缩全部收敛在common/一个内核里PostgreSQL 管事务、DuckDB 管分析、SQLite 管端侧而召回质量与性能表现三端一致。如果你的团队同时维护多套数据库这或许是向量数据库选型中一份投入、三处受益的务实方案。更多资料项目总览与基准测试README.md功能与参数文档documentation/features.md版本兼容矩阵documentation/compatibility.mdSQLite 端侧适配细节vexdb_sqlite/README.md三端共享测试规范tests/spec/【免费下载链接】VexDB-LiteA cross-platform vector database, which can be integrated into existing databases as a plugin.项目地址: https://gitcode.com/gh_mirrors/ve/VexDB-Lite创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考