一連の処理をまとめて確定する
- 一連の処理が失敗したとき、未確定の変更を全体として取り消す
- ACIDの性質を具体的な保護対象で区別する
- 2相コミットメントの準備確認と決定を説明する
点線のことばを押すと、意味と使い方を調べられます。
表示・保存
このページの目次 3節・復習と3問
- 1説明を読む
- 2復習する
- 3問題を解く
- 4次へ進む
1まとめて成功か、まとめて取消しか
トランザクションは、分けずに扱う一連の処理の単位。送金なら「送金元を減らす」「送金先を増やす」を一組にする。片方だけ残るとお金の合計が変わってしまう。
全処理が正常ならコミットで確定する。途中で失敗したらロールバックでその処理による変更を取り消す。更新履歴を残すログ、検索を速くするインデックス、別のデータベースへ複製するレプリケーションとは役割が異なる。
2四つの性質で保全を考える
ACIDはAtomicity(原子性)、Consistency(一貫性)、Isolation(独立性・隔離性)、Durability(耐久性・永続性)の頭文字。原子性は全て実行するか全て取り消すか。一貫性は残高や参照関係など定めた制約に矛盾しないこと。
独立性は、同時処理同士が不適切に影響しないようにすること。耐久性は、確定した結果が障害後も失われないようにすること。実際の同時処理で許す見え方は分離レベルなどの設定にもよる。索引や正規化を使うこと自体が原子性なのではない。
3複数拠点の確定をそろえる
2相コミットメントは、複数のデータベースなどにまたがる処理の確定をそろえる方式。第一段階で調整役が各参加者に確定準備ができたか確認する。第二段階で全員の準備が整えば確定を指示し、整わなければ取り消しを指示する。
一方の拠点だけ確定することを防ぐのが狙い。障害時には決定を待つ状態が残ることがある。二段階で同じデータを二重保存するという意味でも、同時更新のロックを二つ持つという意味でもない。
復習
このレッスンを振り返ろう
送金元の減額後、送金先の増額に失敗したらどうしますか。
全実行か全取消しかにする性質と、確定後の結果を失わせない性質は何ですか。
二拠点のうち一方が確定準備不可と答えたとき、他方だけ確定しますか。
答え方と、確認するポイント
しません。準備確認で全参加者が確定可能であることを確認し、そろわなければ取消しを指示して全体の結果をそろえます。
問題で確かめる
学んだことを問題で確かめよう
過去問を参考にした独自問題1問、入門の確認問題2問で、この範囲の考え方を使います。答えを選んだら、正解の理由とほかの選択肢の違いも確かめましょう。
ヒントを見る
移動する前後で、二人の合計ポイントが保存されるか確かめる。
出題準拠オリジナル · シラバス 6.5
3問中0問の答えと解説を確認しました。選んだ答えの理由も確かめてから、次へ進みましょう。
出典・参考資料を確認する
学習範囲:IPA シラバス Ver.6.5 ↗ 項目57。身近な例・会話・図解・確認問題は当サイトのオリジナルです。
学習範囲と参考資料
シラバスは学習範囲の根拠です。説明は参考資料を基に当サイトが作成しています。身近な事例・会話・図の数値は学習用の架空例です。2026年9月10日確認。