Repolode
tursodatabase

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. 1

    运行 README 中的官方 CLI 安装脚本

  2. 2

    启动交互式命令行

    tursodb
  3. 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 数据每日更新。

相关项目