0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DBについてのノート

Posted at

DBMSの障害対応について

DBログ

  • ログとはデータのACID特性を実現するための変更内容の記録のことである。
  • アルファペットは覚えられないので原子性(Atomicity)、一貫性(Consistency)、独立性(Isolation)、耐久性(Durability)、原一独耐で覚えることにする。
  • ログはログバッファとしてメモリ上に保存され、DBMSが記憶装置のログファイルに出力する。
  • ログには更新前ログファイルと更新後ログファイルの2種類がある。
  • ログにはデータ更新時に更新前の状態とと更新後の状態に加えてcommitもログに書き出す。
  • チェックポイントでハードディスクへの書き込みが行われる。
  • WAL(Write Ahead logログ先行書き出し)プロトコルとは更新前レコードの書き出し、更新後レコードの書き出し、実データの更新の順にデータ処理を行うことである。

障害対応

  • コミット前の障害は更新前ログからロールバックして復旧する。
  • コミット後の障害は更新後ログからロールフォワードして復旧する。
  • UNDOはロールバックの操作である。
  • REDOはロールフォワードの操作である。
  • UNDOとREDOは冪等性を持つ。
  • 冪等性(idempotent)とは1回実行したときと複数回実行した時が同じ結果になることである。

障害回復処理

  • トランザクション障害とはDBMSは正常に動いているが、DBMS内部で起きた障害のことである。ロールバックを行う。
  • ソフトウェア障害およびシステム障害はDBMS自体が正常に動かない場合やアプリケーションでの障害である。
  • ログを確認してコミットの状態に応じてロールバックまたはロールフォワードのどちらを行うか判断する。
  • ハードウェア障害およびメディア障害はバックアップを用いてロールフォワードを実行する。
  • バックアップにはフルバックアップ、差分バックアップ、増分バックアップがある。

分散データベース

  • 分散データベースとは複数のDBMSが連携して一つのDBMSとして動作するデータベースである。
  • ネットワーク経由で結合する(仮想サーバみたいだな)
  • CAP定理とACID特性のうちC、Consistencyは共通のため、グラフになるのではないか
  • これも覚えられないので一貫性(Consistency)、可用性(Availability)、分断耐性(Partition-tolerance)、一可分耐で覚える。
  • 分散データベースの位置に対する透過性とはユーザは一つのデータがどこに格納されているかを意識しなくて済むこと
  • 分散データベースの分割に対する透過性とはユーザは一つのデータが物理的に分割されていても意識しなくて済むこと
  • 分散データベースの複製に対する透過性とはユーザは一つのデータが複数のサイトに格納されていても意識しなくて済むこと
  • 2相コミットで担保する。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?