目 录CONTENT

文章目录

SQLite备份工具Litestream重磅升级:v0.5.0发布,引入LTX格式实现高效时间点恢复

青云TOP
2025-10-04 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

📢 转载信息

原文链接:https://simonwillison.net/2025/Oct/3/litestream/#atom-everything

原文作者:Simon Willison’s Weblog


🚀 备份神器Litestream迎重大更新:v0.5.0 重构架构,效率飞升!

我已经在生产环境中使用 Litestream 为 SQLite 数据库进行备份有几年了,一直稳定可靠。而最新的 Litestream v0.5.0 版本终于发布了!

经过漫长的等待,Ben Johnson 在转向基于 FUSE 的 LiteFS 之后,重新将精力集中在了更受欢迎的单一二进制文件 Litestream 方案上。Litestream 0.5 版本带来了全新的、经过深度优化的架构,并发布了详细的博客文章进行了解释。

核心痛点与创新:LTX 格式解决页面冗余问题

SQLite 默认以 4096 字节的数据块(页)存储数据。Litestream 的工作原理是将修改后的数据页复制到备份位置(通常是 S3 这样的对象存储)。

过去的问题在于,大多数 SQLite 表都使用自增主键。这意味着对小型表的顺序插入操作会导致数据写入到同一数据页中。这使得旧版本的 Litestream 在连续备份中会复制出许多略有不同的页面副本,造成备份冗余。

新版本引入的 LTX 格式(借鉴自 LiteFS)彻底解决了这个问题,核心在于引入了“压缩(compaction)”机制。

Ben 解释了 LTX 压缩的工作原理:

我们可以使用 LTX 压缩功能,将一堆 LTX 文件合并成一个没有重复数据页的单一文件。Litestream 现在利用此功能创建了一个压缩层次结构:

  • 在 Level 1,我们压缩 30 秒时间窗口内的所有更改。
  • 在 Level 2,我们压缩 5 分钟时间窗口内的所有 Level 1 文件。
  • 在 Level 3,我们压缩 1 小时内的所有 Level 2 文件。

最终效果是:我们现在可以仅使用平均十几个文件,将 SQLite 数据库恢复到任意时间点

下一阶段重磅功能预告:即时读取副本 (Read Replicas)

我个人最期待的是尚未完全落地的功能:使用 SQLite VFS 扩展实现的读取副本功能:

我们正在构建的下一个主要功能是用于读取副本的 Litestream VFS。这将允许您即时启动数据库副本,并立即从 S3 读取数据页,而数据库的其余部分则在后台进行填充。

该版本于 2025 年 10 月 3 日发布。





🚀 想要体验更好更全面的AI调用?

欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,小白也可以简单操作。

0

评论区