AI Infra:Turso,内置对向量支持的 SQLite 数据库
https://github.com/tursodatabase/turso
一、什么是 Turso
- 号称新一代的 SQLite(兼容)
- Rust 实现 + WASM 支持 + 异步 I/O + 向量搜索
- 本地运行 → Turso Database
- 云端托管 → Turso Cloud
二、核心特性 & 当前状态
特性 | 说明 | 状态 |
---|---|---|
SQLite 兼容性 | SQL / 文件格式 / API 均兼容 SQLite | 已有 |
多平台支持 | Linux / macOS / Windows / WASM 浏览器 | 已有 |
异步 I/O | 使用现代机制(如 io_uring ) | 已有 |
向量搜索 | 内置相似度计算能力,用于 RAG 等 AI 场景 | 已有 |
并发写 / 多写者 | 替代 SQLite 的单锁模型,提升写性能 | ⏳ coming soon |
CDC(变更数据捕捉) | 跟踪修改事件,用于同步/监控 | 已有 |
分支 & 同步 | 多版本协作、多客户端支持 | (Cloud) |
Schema 变更优化 | ALTER TABLE 更流畅、快速 | 已有 |
三、典型场景匹配(适用 vs 不适合)
场景类别 | 适合 | 不适合 |
---|---|---|
AI/RAG/Agent 应用 | 向量搜索 + 轻库 + 快速切换实例 | 极高并发写 |
离线+同步环境 | 本地+Cloud+自动复制 | 没有稳定网络保障的极端依赖同步 |
边缘设备/IoT | 资源小、轻量、跨平台 | 极强事务一致性要求 |
多租户/团队协作 | Cloud 提供权限、分支、监控 | 极低延迟/无云要求 |
Rust/WASM/Aync 技术栈 | 深度融合、现代架构 | 原生 C/C++ 老生态优先 |
科研/原型/实验 | 高创新价值 + 迁移风险可控 | 金融级可靠性要求 |
四、对比其他系统
系统 | 优势 | 弱点 / 不适合 |
---|---|---|
SQLite (C) | 成熟、广泛部署、资源低 | 写并发瓶颈 |
libSQL | SQLite fork,支持 server & multi-writer | 核心架构不够彻底重构 |
DuckDB | OLAP 性能好、列式处理 | 不适合嵌入式、OLTP |
Realm / LMDB / etc. | 轻量、KV 性能好 | SQL 或扩展性差 |
五、总结建议决策点
如果你:
- 想要 SQLite 升级版体验
- 需要异步 I/O、向量能力、Cloud 组织协作
- 在做 AI/Edge/Web3/Agent 类应用
- 不介意 alpha 目前的稳定性风险
Try it now,在非关键业务中试点。
如果你:
- 生产系统需要极高的稳定性或长期运行保障
- 数据密集型、强并发写要求
- 不愿牺牲现有 SQLite 扩展生态
- 对文档完备性高度依赖
Hold,直到 Beta / GA 阶段
六、未来潜力
-并发写 / 多写者优化 —— 破 SQLite 写锁瓶颈
-向量检索增强 —— AI 集成能力深化
-Schema 修改提速 —— 开发效率优化
-Cloud 功能丰富化 —— 从存储到监控一站式管理
七、其他支持向量数据类型或向量搜索的 SQLite 扩展或实现
主要扩展(Extensions)
- sqlite-vec: 一个纯 C 实现的向量搜索扩展,支持 float、int8 和 binary 向量存储在虚拟表中。无依赖,可在 Linux、MacOS、Windows、WASM 等环境中运行。适合嵌入式应用和本地向量搜索。
- sqlite-vss: 基于 Faiss 库的向量搜索扩展,提供高效的向量相似度搜索。常用于 AI 应用中的嵌入式向量存储,但可能需要额外依赖。
- vectorlite: 基于 hnswlib 的运行时加载扩展,支持快速向量搜索。跨平台(Windows、MacOS、Linux),内存高效,适合需要 ANN(近似最近邻)搜索的场景。
- SQLite-Vector: 一个高效的向量搜索扩展,强调速度和内存优化。适用于嵌入式数据库,支持跨平台使用。
分叉实现或增强版本
- libSQL: SQLite 的一个 fork,内置向量 搜索支持。常与 Turso 等云服务结合使用,提供原生向量功能,适合分布式或云端应用,这个也是 Turso 的源头。