Litestreamって何?
Litestreamとは何か、を説明する機会が増えてきたので、改めて私の理解をここに書いておきます。
Litestream?
Litestreamは、SQLite向けのバックアップツールです。
Litestreamはバックグラウンドで動き、SQLite APIでSQLiteと通信してバックアップを取得します。それをS3のようなストレージサービスにストリーミングすることで障害発生時に復旧しやすくします。
LitestreamとFly.io
Litestreamは、2020年ごろにBen Johnson氏が開発したもので、今、Ben Johnson氏は、Fly.io社に勤務しながらLitestreamを開発しているようです。
というか、Ben Johnson氏はFly.io社のVP of Productらしいですね。
どうやって使うの?
ミニマムな方法は以下のあたりに書いてあります。
インストールは公式の手順に従ってもらうとして、AWS S3の場合は、IAMのユーザーを追加して環境変数で認証情報を渡して、ファイルを指定してレプリケーションを開始するだけです。
# 認証情報を環境変数で渡す
export LITESTREAM_ACCESS_KEY_ID=あなたのキー
export LITESTREAM_SECRET_ACCESS_KEY=あなたのシークレット
# DBをS3へ継続レプリケーション開始(このプロセスは動かしっぱなし)
litestream replicate /path/to/db s3://BUCKETNAME/PATHNAME
Code language: PHP (php)
Linuxで使う場合は、ここら辺でsystemdで起動する方法も書いてますし、その場合は設定ファイルから各種情報を読み込めます。



