データベース
[1] ログ先行書き込み(Write Ahead Logging、WAL)
[2] 2相コミットメント
[3] リレーションデータベース
[1] ログ先行書き込み
* データベースは一貫性(Integrity)を保たなくてはならない。
⇒ 「to-doリスト(データの不一致を防ぐ)」「ロッキング機能」によって、
アトミック(=ここでは「分割不能」)なトランザクションが実現され、データの一貫性を保障してくれる
[2] 2相コミットメント
* トランザクション処理において、処理内容に矛盾がないように整合性を保つ手法
■ 第一フェーズ
(1) トランザクション処理を行うソフトウェアが、データベース更新作業の最後にコミットの命令を出す。
(2) それを受けたマスターサーバは、その他のサーバに対してコミットが可能か問い合わせる。
(3) 各サーバは、処理が終了しデータベースを更新する準備ができたらコミット可能の報告をマスターサーバに伝える。
■ 第二フェーズ
(1) 全てのサーバからのコミット可能の応答が揃ったら、マスターサーバは全サーバに対してコミット処理を指示
(2) それを受け、いっせいにデータが更新
⇒ 途中でエラーがあった場合、ロールバックする
[3] リレーションデータベース
* 1件のデータを複数の項目(フィールド)の集合として表現し、データの集合をテーブルと呼ばれる表で表す方式。
* ID番号や名前などのキーとなるデータを利用して、データの結合や抽出を容易に行うことができる。