开源|Turbolite:基于S3的SQLite VFS实现亚秒级冷查询,革新云端嵌入式数据库架构
thinkindev • 2026-03-26
2668 views
开发者Russell Romney在Rust中构建了一个名为Turbolite的实验性SQLite虚拟文件系统(VFS),旨在探索对象存储(如AWS S3)是否已足够快速以支持云端嵌入式数据库的直接查询。该系统专为处理大量“冷”数据库(例如按租户、会话或用户分离的数据库架构)而设计,在这些场景中,为不活跃的数据库维护独立的存储卷显得资源浪费。Turbolite通过深入理解SQLite的B树结构,将相关数据页分组存储为经过压缩的页组,并维护一个记录所有页面位置的清单文件。查询时,它能利用可定位的Zstandard压缩帧和S3的范围GET请求,实现精准的数据页获取,避免下载整个对象。在EC2与S3 Express的测试环境中,对一个150万行、1.5GB的数据库进行空缓存查询,实现了低于100毫秒的冷点查询、低于200毫秒的冷5表连接查询,以及低于600毫秒的全表扫描性能。该项目目前仅支持单写入器,仍处于系统实验阶段,可能存在数据损坏风险,但为面向对象存储的数据库引擎设计提供了新的思路。
核心要点
- Turbolite是一个用Rust编写的实验性SQLite VFS,实现了直接从S3进行亚秒级延迟的冷数据查询。
- 其核心技术在于通过B树感知的页面分组、压缩和清单管理,结合S3范围请求,优化了云端随机读取性能。
- 该项目针对“多数据库、突发性冷读”场景,目前仅为概念验证,存在数据风险,但展示了对象存储用于嵌入式数据库的潜力。