データが壊れると困る。
そんな時にバックアップ
をとってデータベースの内容を別ファイルにコピーして保管する。
バックアップと次のバックアップ間に更新されるとデータの内容は保護されていない。
なので更新された情報を記録するものがある。
それがジャーナル
だ。
ジャーナルは更新前と更新後の状態の2つに分けられる。
更新前を更新前ジャーナル
更新後を更新後ジャーナル
と言う。
このジャーナルを保存することによってデータベースの更新履歴を管理する。
これらのファイルを使ってロールバック
,ロールフォワード
などの障害回復処理を行う。(この処理で元の状態に戻す)
コミットとロールバック
データベースは、トランザクション単位で更新処理を管理する。
トランザクション(一連の処理)が問題なく完了できた時に最後にその更新を確定することでデータペースへと更新内容を反映させる。
これをコミット
と言う。
トランザクションが完了しなかった場合はコミットは行われない
。
トランザクションのどこかの処理に障害が発生するとデータの整合性が取れなくなってしまうからだ。
こうなってしまうと元の状態に戻してやらなくてはならない。
こう言う時に更新前ジャーナル
を使う。
更新前ジャーナルを使うとトランザクション開始直前の状態に戻る。
このようにトランザクション前の状態に戻す作業をロールバック
と言う。
分散データベースと2層コミット
データベースを扱うサーバーは必ず一つではない。
物理的に分かれているデータベースのを見かけ上に一つのデータベースとして扱えるようにしたシステムがある。
それが分散データベースシステム
だ。
分散していると一部のデータベースだけ更新されていなかったりすること(データの整合性が取れていない)が発生する可能性がある。
そんな時にコミットできるかどうかを各データベースに確認を取る。
確認が取れたら
書くデータベースにコミットする(反映する)
。
またはやり直す時はロールバックを行う。
この確認をとってコミットやロールバックを行う方式を2層コミット
と言う。
データベースを復旧させるロールフォワード
トランザクションの処理中ではなく、ディスク障害などで突然データベースが故障してしまう場合がある。
そう言う時はバックアップファイルからデータを復元するできる。
しかし
最新のバックアップファイルからの更新情報は欠如したままだ。
この欠如した更新情報は更新後ジャーナル
から取得してデータベースを障害発生直前までの状態に復旧させる。
この更新後ジャーナルを使ってバックアップ後の更新情報も加えて復旧することをロールフォワード
と言う。
問題を解いた時に気づいたこと
ログファイルとは?
-
ジャーナルとは、ファイルシステムへの変更や通信記録などの変更を記録すること、または、その変更履歴情報のことである。
「ログファイル」や「ジャーナルファイル」などともと呼ばれる
こともある。
出典 https://www.sophia-it.com/content/%E3%82%B8%E3%83%A3%E3%83%BC%E3%83%8A%E3%83%AB -
ジャーナルもログも情報技術(IT)用語であり、
どちらもほぼ同じ意味
で使用し、専ら、コンピュータなどの機器が不具合を起こした際に使用する履歴情報のことである。ジャーナルは、半自動的に記録したその情報により復旧が可能
なデータベースであり、ログは、起動中、自動的に一定の形式で時系列に記録している情報のことで、それを見ることで何が起きたかを知る
ことができる。
出典 http://koredekaiketu-chigai.lance5.net/z024.html
大体はログファイルとジャーナルファイルも同じ意味として捉えられているのか。
ダンプファイルとは?
-
拡張子が
「.dmp」
-
データとかを、
そのままの形で出力すること
(未加工
、人間が見えるように加工をしていない) -
ファイルの型によっては
人間が読むことはできない
。
出典 https://wa3.i-3-i.info/word14682.html -
コンピュータの
メインメモリ(RAM)やレジスタなどのある瞬間
の内容を、ストレージ(外部記憶装置)上のファイルに丸ごと写し取った
もの。 -
オペレーティングシステム(OS)やアプリケーションソフトが異常終了した際、原因特定の手がかりになるように
最後の瞬間のメモリやレジスタの内容を記録
したダンプファイルが作成されることがある。「メモリダンプ」(memory dump)「クラッシュダンプ」(crash dump)
などとも呼ばれる。 -
データベース管理システム(DBMS)
では、バックアップやシステムの移転などのためにある瞬間のデータベースの内容を丸ごと複製したファイル
をダンプファイルという。 -
機材の故障などでデータが失われた際に、ダンプファイルからデータベースを(ファイル作成時点の状態に)復元することができる。機材の更新などの際にも、
古いシステムで取ったダンプファイルを新しいシステムでリストアすることで円滑にデータベースを移転
することができる。
出典 https://e-words.jp/w/%E3%83%80%E3%83%B3%E3%83%97%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB.html#:~:text=%E3%83%80%E3%83%B3%E3%83%97%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E3%81%AF%E3%80%81%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF,%E3%81%AB%E4%B8%B8%E3%81%94%E3%81%A8%E5%86%99%E3%81%97%E5%8F%96%E3%81%A3%E3%81%9F%E3%82%82%E3%81%AE%E3%80%82