Repolode
benbjohnson

benbjohnson/litestream

SQLiteの変更を別ファイルまたはS3へ継続的に複製する、単体で動作する災害復旧ツール。

スター
14,516
フォーク
441
未解決の Issue
148
最終コミット
11 時間前

これは何?

LitestreamはSQLiteデータベースと並行してバックグラウンドプロセスとして動作し、変更を別ファイルまたはS3互換のオブジェクトストレージへ段階的に複製します。SQLite API経由でのみSQLiteとやり取りするため、複製処理によってソースデータベースが破損することはありません。

このプロジェクトは、アプリケーションをサーバー型データベースへ移行せずに、ディスク障害、マシンの喪失、誤削除によって単一ファイルのSQLiteデータベースを失う問題に対処することを目的としています。レプリカからデータベースを復元するのが、Litestreamが提供する復旧方法です。

複製を開始すると、LitestreamはWALチェックポイントとの調整用に、ソースデータベース内に内部テーブル_litestream_lockを作成します。READMEには、このテーブルは想定されたものであり、バックアップに含まれること、Litestreamの実行中に削除してはならないことが記載されています。

主な機能

  • 01SQLiteの変更をファイルまたはS3ストレージへ段階的に複製する。
  • 02アプリケーションと並行して、単体のバックグラウンドプロセスとして動作する。
  • 03SQLite API経由でのみSQLiteとやり取りする。
  • 04災害復旧のため、レプリカからデータベースを復元する。

ユースケース

  • 小規模なWebサービスで使う単一ファイルのSQLiteデータベースをバックアップする。
  • サーバー障害後に復元できるよう、SQLiteデータベースをS3へ複製する。
  • データのコピーをホスト外に保持しながら、コンテナやKubernetes上でSQLiteを運用する。

クイックスタート

  1. 1

    インストール手順についてはLitestreamのウェブサイトをご覧ください

使う前に知っておきたいこと

  • READMEでは、このプロジェクトはベータ版とされています。
  • Litestreamはソースデータベースに_litestream_lockテーブルを作成するため、データベースはLitestream導入前と完全に同一の状態には保たれません。

トピック

よくある質問

litestream とは?
SQLiteの変更を別ファイルまたはS3へ継続的に複製する、単体で動作する災害復旧ツール。 LitestreamはSQLiteデータベースと並行してバックグラウンドプロセスとして動作し、変更を別ファイルまたはS3互換のオブジェクトストレージへ段階的に複製します。SQLite API経由でのみSQLiteとやり取りするため、複製処理によってソースデータベースが破損することはありません。
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

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト