Repolode
benbjohnson

benbjohnson/litestream

独立的 SQLite 容灾工具,将数据库变更增量持续复制到另一个文件或 S3。

Star
14,516
Fork
441
未关闭 Issue
148
最近提交
12小时前

这是什么?

Litestream 作为后台进程与 SQLite 数据库一同运行,将变更增量复制到另一个文件或兼容 S3 的对象存储中。它只通过 SQLite API 与数据库交互,复制过程不会损坏源数据库。

它解决的问题是:单文件 SQLite 数据库可能因磁盘故障、机器丢失或误删而丢失,而用户又不想为此迁移到基于服务器的数据库。从副本恢复数据库是其提供的主要恢复方式。

开始复制时,Litestream 会在源数据库中创建内部表 _litestream_lock,用于配合 WAL checkpoint 协调同步。该表会被备份到副本中,运行期间不应删除。

核心功能

  • 01将 SQLite 变更增量复制到本地文件或 S3 存储。
  • 02以独立后台进程运行,无需修改应用代码。
  • 03仅通过 SQLite API 与数据库交互,避免损坏数据。
  • 04支持从副本恢复数据库,用于灾难恢复。

适用场景

  • 为小型 Web 服务使用的单文件 SQLite 数据库做备份。
  • 将 SQLite 数据库复制到 S3,以便服务器故障后恢复。
  • 在容器或 Kubernetes 中运行 SQLite,并保留异机数据副本。

快速上手

  1. 1

    访问 Litestream 官网查看安装说明

使用前须知

  • README 中标注该项目处于 beta 阶段。
  • Litestream 会在源数据库中创建 _litestream_lock 表,因此数据库不会与使用 Litestream 之前保持逐字节一致。

标签

常见问题

litestream 是什么?
独立的 SQLite 容灾工具,将数据库变更增量持续复制到另一个文件或 S3。 Litestream 作为后台进程与 SQLite 数据库一同运行,将变更增量复制到另一个文件或兼容 S3 的对象存储中。它只通过 SQLite API 与数据库交互,复制过程不会损坏源数据库。
litestream 可以免费使用吗?用的什么许可证?
litestream 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
litestream 还在维护吗?
活跃维护中。litestream 最近一次提交是在 2026年10月21日。
litestream 适合用来做什么?
为小型 Web 服务使用的单文件 SQLite 数据库做备份。 将 SQLite 数据库复制到 S3,以便服务器故障后恢复。 在容器或 Kubernetes 中运行 SQLite,并保留异机数据副本。
litestream 怎么安装和运行?
访问 Litestream 官网查看安装说明
在哪里获取 litestream?
源代码和安装说明在 GitHub 上:https://github.com/benbjohnson/litestream

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目