DB の変更履歴ログ
DBのデータがどのように変更されたか、追跡しやすいようにログを残しておきたいケースがある。
障害や不具合時の調査
カスタマーサポート
場合によっては、Audit ログと呼ぶかもしれないが、目的としては上記の二点が大きい。
どこまで厳密である必要があるか
変更がログに漏れるケース
トランザクションがロールバックされたケース
ログの残し方
差分(操作)のみ
スナップショット
頻度とレコードの内容によっては、データ量
考えられる方法
アプリケーションログ
リポジトリレイヤで共通でとる
アプリの外でSQL実行とかされると…
データがどのように更新されてきたのか追跡する
DBログ
DBに近いところでとるのが一番確実
postgresql
https://www.slideshare.net/ooyamams/postgresql-76893934
log_statement = all
性能 ?
あいだにproxyを挟む
あなたの知らないデータベースのロギングの世界
envoy でできると嬉しい
そもそもテーブル設計?
データによっては履歴テーブルを作り、イベント履歴を記録していくべきでは
履歴テーブルについて
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介
私の考えた最強のログ&モニタリング設計#DBに残さないログの取り扱い
#インフラ #モニタリング