news 2026/8/30 4:27:01

嵌入式数据库新标杆:Turso,重塑 SQLite 生态的轻量新选择

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
嵌入式数据库新标杆:Turso,重塑 SQLite 生态的轻量新选择

在现阶段, 云原生跟边缘计算正处于迅猛发展的态势下, 应用针对数据库有了性能方面、兼容性方面以及部署灵活性方面, 提出了达到前所未有的高度的要求。传统的客户端 - 服务器这种架构的数据库, 像是被提及到的MySQL, 虽然具备强大的功能, 可是因为网络通信导致的延迟这一情况以及部署所存在的复杂度, 致使它很难去满足边缘设备、嵌入式系统连同低延迟应用的需求。而被提到的作为经典类型的嵌入式数据库, 虽然依靠零配置以及高性能的优势占有着一定的份额, 然而在异步I/O、并发控制、现代开发需求适配等方面开始渐渐呈现出不足之处。

Turso 的现身, 将这一技术方面的空白给填补上了, 它身为 的下一代进行演进的版本, 是一个运用 Rust 重新编写而成的开源嵌入式数据库, 不光完整地承袭了 的轻量以及嵌入式特性, 还借助原生异步 I/O、多版本并发控制(MVCC)、向量搜索等创新性的功能, 把传统嵌入式数据库的诸多让人苦恼的问题给解决了。它具备开源特性, 这一特性不但降低了企业使用关于数据库技术的门槛, 而且就开发者而言, 还提供了有着可定制特点、高性能以及兼容范围广泛特性的数据库解决方案, 进而推动了嵌入式数据库生态朝着更具现代感、更加有利于效率提升的方向持续发展。

简介

Turso是个开源嵌入式OLTP数据库引擎, 它由团队开发, 托管于平台(项目地址: )。

采纳 MIT 开源许可证, 此项目先前称作 Limbo, 接续正式改名为 Turso, 当下仍然处在活跃开发时期, 不过已然呈现出强劲的技术能力以及应用潜力。

从技术定位这一角度来看, Turso属于那种进程内数据库, 跟完全兼容, 还支持的SQL方言、文件格式以及C API, 这就表明基于开发的应用能够以低成本迁移到Turso。它的核心设计目标是去打造的下一代进化版本, 在维持嵌入式数据库轻量、零配置优点的同时, 引进现代数据库的高级特性。异于传统客户端 - 服务器数据库, Turso 于应用程序的内存空间里直接运行, 不需要额外的数据库服务器进程, 将网络通信开销全然消除, 读写延迟能够达到亚微秒级别, 因其这般特性, 在边缘计算、嵌入式设备、桌面应用等对延迟敏感的场景当中, 它具备着天然优势。

Turso 的主要用途涵盖多个场景, 其一为边缘计算与嵌入式系统, 因其具备轻量体积以及低资源占用的特性, 能够在物联网设备、边缘网关等资源受限环境中轻易部署;其二是桌面与本地应用, 可为笔记软件、本地数据分析工具等给予高性能本地存储;其三是 Web 应用的辅助存储, 是当作缓存层或者本地数据持久化方案;其四是 AI 应用的向量存储, 支持向量索引以及相似性搜索, 适配语义搜索、推荐系统等场景。除此以外, Turso所内置的MCP模式, 也就是Model模式这种服务器模式, 它能够使AI助手直接和数据库进行交互, 这进而拓展了AI应用的数据处理方面的能力。

Turso具备着诸多众多的技术特性, 它对多种编程语言绑定予以支持, 其中涵盖了Go、、Java、、Rust以及 , 能够满足不同技术栈开发者所需, 在操作系统兼容性这一方面, 它达成了对Linux、macOS以及 的全面支持。在核心功能这个方面, Turso 给出了变更数据捕获也就是 CDC , 能够对数据库变更进行实时跟踪, 它还支持 Linux 平台的异步 I/O , 这能在很大程度上提升 I/O 密集型场景的性能 , 其含有实验性的 MVCC 机制得以达成更高的并发控制能力 , 另外向量搜索功能对稠密向量以及稀疏向量的存储与相似性计算予以支持 , 从而适配 AI 驱动的应用场景。需要特别提及的是, 项目团队对数据可靠性予以了极高的重视程度, 借助确定性模拟测试以及测试以此来保障稳定性, 并且还推出了数据损坏漏洞悬赏计划, 该计划最高奖励金额为 1000 美元, 这充分彰显了其对产品质量所拥有的信心。

使用

Turso 的部署门槛低, 它不需要复杂的环境实施配置状况, 它还支持那些主流的操作系统又具备多种安装方式。推荐一种安装办法是通过官方脚本以达到快速实现, 此具体情形适用于所有支持 curl 返回结果的操作系统, 要想完成 Turso CLI 的安装只需执行以下命令就行:

curl --proto '=https' --tlsv1.2 -LsSf \ https://github.com/tursodatabase/turso/releases/latest/download/turso_cli-installer.sh | sh

macOS 用户可通过 直接安装,命令更简洁:

brew install turso

要是倾向于容器化部署, 那么能够在项目根目录去执行下面这些命令来构建并且运行镜像。

# 构建Docker镜像 make docker-cli-build # 运行Docker容器 make docker-cli-run

于安装完毕之后, 能够借由SQL Shell迅速去体验Turso的核心功能, 其操作方式跟极为相像, 学习所需成本较低。要执行以下命令来启动Turso的交互式SQL Shell, 此默认连接至内存数据库(注: 重启后数据会丢失)。

tursodb

启动成功后会显示如下提示信息:

Turso Enter ".help" for usage hints. Connected to a transient in-memory database. Use ".open FILENAME" to reopen on a persistent database turso>

若存在数据持久化的需求, 那么能够在启动之际指定数据库文件, 或者在Shell中采纳.open命令来实现切换:

# 启动时直接指定数据库文件 tursodb mydatabase.db # 或在Shell中切换到持久化数据库 turso> .open mydatabase.db

Turso 支持标准 SQL 语法,以下是常用操作示例:

# 创建表 turso> CREATE TABLE users ( id INTEGER PRIMARY KEY, username TEXT NOT NULL, email TEXT UNIQUE, age INTEGER ); # 插入数据 turso> INSERT INTO users (username, email, age) VALUES ('alice', 'alice@example.com', 28), ('bob', 'bob@example.com', 32), ('charlie', 'charlie@example.com', 25); # 查询数据 turso> SELECT * FROM users WHERE age > 26; ┌────┬──────────┬───────────────────┬─────┐ │ id │ username │ email │ age │ ├────┼──────────┼───────────────────┼─────┤ │ 1 │ alice │ alice@example.com │ 28 │ ├────┼──────────┼───────────────────┼─────┤ │ 2 │ bob │ bob@example.com │ 32 │ └────┴──────────┴───────────────────┴─────┘ # 更新数据 turso> UPDATE users SET age = 33 WHERE username = 'bob';

Turso对三种事务模式予以支持, 分别是(默认)、还有和(实验性), 下面是事务操作的示例: 。

# 启动延迟事务(默认) turso> BEGIN DEFERRED TRANSACTION; # 执行操作 turso> INSERT INTO users (username, email, age) VALUES ('dave', 'dave@example.com', 29); # 提交事务 turso> COMMIT; # 启动立即事务(立即获取写锁) turso> BEGIN IMMEDIATE TRANSACTION; turso> UPDATE users SET email = 'alice_new@example.com' WHERE id = 1; # 回滚事务 turso> ROLLBACK;

Turso给出了涵盖多种编程语言的绑定, 包含了, JS, Rust等等, 在使用的时候, 要进行安装依赖:

pip install pyturso

代码于 基本一致,示例如下:

import turso # 连接数据库 con = turso.connect("mydatabase.db") cur = con.cursor() # 执行查询 cur.execute("SELECT * FROM users") rows = cur.fetchall() print("所有用户:", rows) # 插入数据 cur.execute( "INSERT INTO users (username, email, age) VALUES (?, ?, ?)", ("helen", "helen@example.com", 26) ) # 提交事务 con.commit() # 带参数的查询 cur.execute("SELECT username FROM users WHERE age = ?", (30,)) user = cur.fetchone() print("30岁用户:", user) # 关闭连接 con.close()

Turso CLI 里面设置了 MCP 服务器, 这种服务器能够让 AI 助手借助 JSON - RPC 接口去对数据库进行操作, 它的启动命令是下面这样的:

tursodb mydatabase.db --mcp

下面是借助 JSON-RPC 跟与 MCP 服务器进行交互的例子, 是通过从标准输入传送请求的。

cat << 'EOF' | tursodb --mcp {"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "ai-client", "version": "1.0"}}} {"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "schema_change", "arguments": {"query": "CREATE TABLE products (id INTEGER PRIMARY KEY, name TEXT, price REAL)"}}} {"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "insert_data", "arguments": {"query": "INSERT INTO products VALUES (1, 'Laptop', 999.99), (2, 'Phone', 699.99)"}}} {"jsonrpc": "2.0", "id": 4, "method": "tools/call", "params": {"name": "execute_query", "arguments": {"query": "SELECT * FROM products"}}} EOF

总结

Turso是款用Rust重写的开源嵌入式数据库定位于下一代演进版本, 成功实现了传统嵌入式数据库轻质优势及现代数据库高端特性相融合.其核心价值在于能完全兼容生态,使现存应用不用作大幅改动便能获性能提升和功能拓展,同时借由原生异步I/O、实验性MVCC、向量搜索、变更数据捕获等创新功能把嵌入式数据库有关并发控制、现代应用适配、AI场景支持方面长期以来的痛点给解决了。多语言进行绑定, 跨平台予以支持, 进一步使得技术落地的门槛降低了, 不管是边缘设备, 还是桌面应用, 又或者是Web服务, 都能够轻松达成集成并加以使用。

Turso正在重新界定嵌入式数据库的界限, 于边缘计算范畴, 凭借低资源占用与亚微秒级延迟成物联网设备数据存储绝佳之选, 于AI应用内, 所内置的向量搜索功能使语义搜索、推荐系统开发流程得以简化, 于桌面及本地应用里, 零配置部署以及高性能读写满足用户对本地数据快速访问诉求, 而MCP服务器模式为AI助手跟数据库的交互提供便捷接口, 扩展智能应用的开发场景 , 还不接受, 那就是不合理, 根本不理亏。虽然当下, Turso 的一些功能, 像 MVCC、向量索引, 还处在实验时期, 可是靠着活跃的社区给予的支持, 不停歇的版本更新换代, 以及对数据可靠性那种极致的追求, 在将来有可能变成嵌入式数据库领域里的主流被选用对象, 给更多软件开发人员和企业, 提供高效、灵活、可靠的数据存储解决办法。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 4:25:23

金融风控实战:基于随机森林与AdaBoost的车贷违约预测模型构建

简介&#xff1a;本资源是一份面向金融风控与机器学习初学者的车贷违约预测实战项目&#xff0c;聚焦信贷风险建模核心任务&#xff0c;适用于数据分析、金融科技方向的学习者与从业者。资源包含1个Python脚本&#xff08;predict.py&#xff09;与1个CSV数据集&#xff08;tra…

作者头像 李华
网站建设 2026/8/30 4:25:12

2023 Java面试八股文:从JVM到并发,理解原理才是通关关键

秋招刚结束那会儿&#xff0c;后台收到好几条类似的消息&#xff1a;“八股文背了三个月&#xff0c;HashMap源码倒背如流&#xff0c;一面试还是被挂&#xff0c;到底哪里出了问题&#xff1f;” 点进去聊了几句&#xff0c;发现一个共性&#xff1a;大家把八股文当成了“背诵…

作者头像 李华
网站建设 2026/8/30 4:23:18

STM32L071KZ Bootloader刷写Flash失败排查与解决

先说结论&#xff1a;最近用STM32L071KZ做低功耗采集节点&#xff0c;固件升级走的是BOOT0拉高进ST系统Bootloader&#xff0c;再用串口刷Flash。本来以为这条路最省事&#xff0c;结果实际调试时被“Flash Issue”折腾了一整晚&#xff1a;串口工具能连上&#xff0c;读出来的…

作者头像 李华
网站建设 2026/8/30 4:23:06

腾讯2018春招编程题解析:二分、贪心、区间DP与组合计数

腾讯2018春招技术类编程题汇总这份题库&#xff0c;我到现在还会翻出来看。原因很简单&#xff1a;它不像很多压轴竞赛题那样劝退&#xff0c;但又能把二分、贪心、区间DP、组合计数这几个校招最高频的考点都考到位&#xff0c;题量不大&#xff0c;难度梯度合理&#xff0c;非…

作者头像 李华
网站建设 2026/8/30 4:22:31

震惊!别再让孩子学Python了!AI时代这个技能才是铁饭碗!

各位家长, 先询问你们一个令人痛心的问题, 你家孩子是否正遭受着“班”的智商税收割呢?先别忙着反驳我呀, 把手机打开随意刷一刷, 那屏幕上到处都是“10岁去学编程, 之后能年薪百万”这样表达的, 还有诸如“不会这就是文盲”之类的话语, 你敢讲你心里压根不焦虑吗? 你又敢说你…

作者头像 李华
网站建设 2026/8/30 4:22:12

人形机器人估值对标背后:从演示视频到规模化交付的工程考题

估值对标宇树&#xff0c;智元加速赶考。这段时间国内人形机器人赛道最热闹的话题&#xff0c;不是哪家又发了一个演示视频&#xff0c;而是资本开始把头部公司放进同一张估值榜里比较。很多讨论停留在“谁值多少钱”上&#xff0c;但我觉得真正值得聊的是“赶考”这两个字。人…

作者头像 李华