开源、欢迎社区贡献的 SQLite 分支,增加嵌入式副本、远程服务等扩展能力。
tursodatabase/turso
用 Rust 编写的进程内 SQL 数据库,兼容 SQLite,并提供实验性的 Postgres 接口。
- Star
- 24,937
- Fork
- 1,474
- 未关闭 Issue
- 1,404
- 最近提交
- 4小时前
这是什么?
Turso Database 是一个用 Rust 编写的进程内 SQL 数据库,目标是在 SQL 方言、文件格式和 C API 层面兼容 SQLite,现有的 SQLite 数据库文件可以直接使用。它与 SQLite 一样,把 SQL 编译为字节码,在虚拟机(VDBE)上执行,项目希望让多种 SQL 前端共享同一个核心。
除 SQLite 兼容外,它还提供基于多版本并发控制的 BEGIN CONCURRENT、变更数据捕获、Linux 下基于 io_uring 的异步 I/O,以及精确匹配的向量搜索。项目提供 Rust、JavaScript/WebAssembly、Python、Go、Java 和 .NET 的绑定,命令行工具还支持 MCP 服务模式,方便 AI 助手查询和修改数据库。Postgres 方言与协议、静态加密和全文搜索目前属于实验性功能。
项目尚未发布 1.0 版本,与 SQLite 的部分兼容性差距仍在持续缩小。
核心功能
- 01兼容 SQLite 的 SQL 方言、文件格式和 C API
- 02通过 MVCC 实现 BEGIN CONCURRENT,提升写入吞吐
- 03支持变更数据捕获,跟踪数据库变化
- 04Linux 下基于 io_uring 的异步 I/O
- 05提供 Rust、JavaScript、Python、Go、Java 和 .NET 绑定
- 06内置 MCP 服务模式,供 AI 助手使用
适用场景
- 在应用中嵌入 SQL 数据库,无需运行单独的服务进程
- 用 Rust 迁移或扩展现有的 SQLite 应用
- 通过 MCP 让 AI 助手读写本地数据库
- 在嵌入式引擎上试用 Postgres 风格的 SQL
快速上手
- 1
运行 README 中的官方 CLI 安装脚本
- 2
启动交互式命令行
tursodb - 3
或将 Rust 库添加到你的项目中
cargo add turso
使用前须知
- Postgres 兼容性、静态加密、全文搜索和增量计算都是实验性功能。
- 项目仍在迈向 1.0 的过程中,接口可能会发生变化。
标签
常见问题
- turso 是什么?
- 用 Rust 编写的进程内 SQL 数据库,兼容 SQLite,并提供实验性的 Postgres 接口。 Turso Database 是一个用 Rust 编写的进程内 SQL 数据库,目标是在 SQL 方言、文件格式和 C API 层面兼容 SQLite,现有的 SQLite 数据库文件可以直接使用。它与 SQLite 一样,把 SQL 编译为字节码,在虚拟机(VDBE)上执行,项目希望让多种 SQL 前端共享同一个核心。
- turso 可以免费使用吗?用的什么许可证?
- turso 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- turso 还在维护吗?
- 活跃维护中。turso 最近一次提交是在 2026年10月21日。
- turso 适合用来做什么?
- 在应用中嵌入 SQL 数据库,无需运行单独的服务进程 用 Rust 迁移或扩展现有的 SQLite 应用 通过 MCP 让 AI 助手读写本地数据库 在嵌入式引擎上试用 Postgres 风格的 SQL
- turso 怎么安装和运行?
- 运行 README 中的官方 CLI 安装脚本 启动交互式命令行: tursodb 或将 Rust 库添加到你的项目中: cargo add turso
- 在哪里获取 turso?
- 源代码和安装说明在 GitHub 上:https://github.com/tursodatabase/turso
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
DuckDB 是一个嵌入式的分析型 SQL 数据库,直接运行在应用进程内,无需单独部署服务器。
用 Rust 编写的多模型数据库,统一支持文档、图、关系、时序和键值数据,并内置实时查询与权限控制。
免费的跨平台可视化工具,用于创建、浏览、编辑和查询 SQLite 数据库文件,无需手写 SQL。
一款 PostgreSQL 扩展,用于对时序和事件数据进行高性能实时分析。
基于 SQLite 构建的轻量级、容错分布式关系型数据库,通过 Raft 共识实现多节点复制。