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で起動する方法も書いてますし、その場合は設定ファイルから各種情報を読み込めます。

類似投稿