Turso 发布 Limbo:用 Rust 重写 SQLite,重新定义嵌入式数据库未来
近日,Turso 团队正式发布了一个全新的开源项目——Limbo,一个采用 Rust 语言重写的 SQLite 数据库。这个项目不仅保留了 SQLite 的核心功能,还通过引入异步 I/O 和现代化架构,旨在解决嵌入式数据库在边缘计算和无服务器环境中的性能瓶颈。
为何要重写 SQLite?
SQLite 是全球最流行的嵌入式数据库之一,以其轻量、简单且可靠的设计广受欢迎。但 SQLite 基于 C 语言编写,缺乏内存安全保障,同时其封闭的开发模式使得外部贡献难以整合,这限制了部分扩展需求。
两年前,Turso 团队曾基于 SQLite 推出 libSQL 项目,这是一个开源贡献友好的分支,并成功引入了复制和向量搜索等功能。然而,当 Turso 在添加 异步 I/O 和 分布式存储支持 等更复杂的特性时,现有架构的局限性逐渐显现。为了从根本上解决这些问题,Turso 决定通过完全重写的方式,用内存安全的 Rust 重塑 SQLite,Limbo 项目由此诞生。
核心技术亮点:异步 I/O 与 WASM 支持
Limbo 的最大技术突破是全面引入了 异步 I/O 技术,特别是在多租户和高并发场景下,显著降低了查询的 尾部延迟(p999)。SQLite 使用传统的同步 I/O 方式,查询时线程会被阻塞,导致资源浪费。而 Limbo 基于 Rust 的异步特性和 Linux io_uring 接口,允许查询任务非阻塞地进行,提升了系统的整体吞吐能力和资源利用率。
同时,Limbo 原生支持 WebAssembly(WASM) 环境,与现代前端工具无缝结合。例如,开发者可以将 Limbo 部署在浏览器中,通过简单的 SQL 查询操作本地数据,而无需依赖服务器端数据库,进一步拓展了 SQLite 在现代应用场景中的适配能力。
测试与可靠性:DST 的引入
针对数据库可靠性的挑战,Turso 在 Limbo 项目中引入了 确定性模拟测试(DST) 技术。这种测试方法能够模拟复杂的操作系统故障与事件顺序,帮助开发者发现极端情况下的潜在问题。此外,Turso 与 Antithesis 合作,利用系统级 DST 框架,实现对硬件和软件故障的高效模拟与验证,确保 Limbo 在各类场景下的稳定性。
性能初步验证与社区反馈
初步测试结果显示,在简单查询(如 SELECT * FROM users LIMIT 1
)中,Limbo 的执行速度比 SQLite 快了约 20%。这种性能提升主要得益于异步 I/O 架构的优化。此外,Limbo 还简化了 SQLite 中部分冗余功能,降低了用户的调优成本,为开发者提供了更出色的开箱即用体验。
然而,Limbo 的出现也引发了社区的讨论。在 HackerNews 上,部分用户对重写 SQLite 表示支持,认为 Limbo 在边缘计算和无服务器架构下的创新意义重大,尤其是在降低延迟和提升并发性能方面。
但也有声音质疑重写的必要性,尤其是 SQLite 拥有成熟的代码和严谨的测试套件,而 Limbo 如何在短时间内达到同等的可靠性和性能成为了关注焦点。此外,有人指出,Limbo 的性能提升主要体现在极端尾部延迟(p999),而对于普通查询场景(p90、p99),其优势尚不明显。
未来展望
Turso 强调,Limbo 并非要与 SQLite 竞争,而是作为 libSQL 项目的下一步演进。如果 Limbo 在未来证明其成功,便会作为 libSQL 的核心代码库。整个项目采用 MIT 许可证,代码已在 GitHub 上开源,欢迎开发者参与贡献。
Limbo 的发布代表了数据库技术的一次重要尝试:通过现代语言和架构,让嵌入式数据库更适应云计算、无服务器与边缘计算的需求。虽然重写 SQLite 的挑战巨大,但 Limbo 已经迈出了第一步,它不仅探索了 SQLite 的未来,也引发了关于传统技术与现代需求如何结合的广泛讨论。
项目地址:https://github.com/tursodatabase/limbo

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
无问芯穹开源全球首款端侧全模态理解模型:Megrez-3B-Omni
12 月 16 日,无问芯穹宣布全球第一款端侧全模态理解模型 Megrez-3B-Omni 开源。 无问芯穹官方介绍,Megrez-3B-Omni 是一个为端而生的全模态理解模型,同时具备图片、音频、文本三种模态数据的处理能力,并在三个模态的多种测评基准中取得了最优性能。 同时,Megrez-3B-Omni 选择了最适合手机、平板等端侧设备的 30 亿参数黄金尺寸,结构规整,推理速度最大领先同精度模型 300%。 Megrez-3B-Instruct 还提供了 WebSearch 功能,这一功能使得模型能够智能地判断何时需要调用外部工具进行网页搜索,辅助回答用户的问题。 目前,Megrez-3B-Omni 及其 LLM 版本已上架无问芯穹的 GitHub、HuggingFace 主页,以及 Modelers 魔乐、ModelScope 魔搭等社区。 🔗 Github https://github.com/infinigence/Infini-Megrez 🔗 HuggingFacehttps://huggingface.co/Infinigence/Megrez-3B-Omni ?...
- 下一篇
小米开源「Home Assistant 米家集成」
小米在 GitHub 开源了「Home Assistant 米家集成」项目,这是一个由小米官方提供支持的 Home Assistant 的集成组件,它可以让用户在 Home Assistant 中使用小米 IoT 智能设备。HomeAssistant是一个基于 Python 3 开发的开源家庭自动化平台,可以跟踪和控制家庭中的所有设备,并实现自动化控制。 开源地址:https://github.com/XiaoMi/ha_xiaomi_home 项目介绍显示,米家集成及其使用的云端接口由小米官方提供。用户需要使用小米账号登录以获取设备列表。米家集成使用 OAuth 2.0 的登录方式,不会在 Home Assistant 中保存用户的小米账号密码。 但由于 Home Assistant 平台的限制,登录成功后,用户的小米用户信息(包括设备信息、证书、 token 等)会明文保存在 Home Assistant 的配置文件中。因此,用户需要保管好自己 Home Assistant 配置文件。一旦该文件泄露,其他人可能会冒用用户的身份登录。 米家集成的 Home Assistant 版本要...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- Hadoop3单机部署,实现最简伪集群