AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

SQLite のバックアップを考えたり考えなかったり

同僚に以下の記事を教えてもらっていた。

note.com

で、ちょっと話題にしたけど、結局 SQLite ってどうやってバックアップするのが一番なんだろうか。

ファイルベース

SQLite がよく言われるのはファイルベースだから物理コピーとればいいじゃん、というやつ。

けどこれ例えば MySQL の binlog みたいに、ポイントバックアップ間で戻りたい (eg. ソシャゲの課金石周りだけロールバック) 時にどうしようもなくない? という気がしている。

ストリームバックアップ

litestream.io

zenn.dev

こういうので履歴を残せたりするんだろうか? SQLite は全然わからないんだよな〜。

結局

ファイル (システム) ベースなら、ハードウェア側で冗長化して RAID1+5 とか? 組んでおきつつ、ログファイルの出力内容を厚くする (user id など、追跡できる個人に紐づかない情報を付与しておいて undo/redo のための側面も持たせる) ように logger をカスタマイズする、というのが、SQLite に限らず有効なのかなあ、という気はしている。

現代において IP アドレスは意味のない値になりつつありますし (IPoE によって IPv4 アドレスがシェアされているので、かならずしも個人を特定できるとは限らない) 。