70以上のクラウドストレージプロバイダーやローカルストレージ間でファイルを同期・コピー・マウントできるコマンドラインツール。rsyncのクラウド版として紹介されています。
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
インストール手順については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 の数値は毎日更新されます。
関連プロジェクト
SQLクエリを読み取り、型安全なGo、Kotlin、Python、TypeScriptのコードを生成するSQLコンパイラです。
Raft合意によりノード間で複製される、SQLiteベースの軽量で耐障害性に優れた分散リレーショナルデータベース。
バージョン管理されたSQLファイルやGo関数でデータベースのスキーマ変更を管理するCLI兼Goライブラリ。
任意のノードで書き込みを受け付け、MySQL wire protocolで通信する、リーダーレスな分散SQLiteレプリケーションサーバー。
Memosは、日々の思考を自分だけのタイムラインに整理できる、セルフホスト型のオープンソースメモアプリです。