問題 No.1947
データベースのトランザクション処理において、一連の処理が正常に終了した際、その変更内容をデータベースに対して永続的に確定させる操作を表す用語はどれか。
【正解の解説】
コミット
これはオンラインショッピングで決済ボタンを押し、注文手続きが完全に完了して「もう引き返せない、注文が正式に通った状態」にするのと同じです。途中でエラーが起きず、すべての処理が成功したときに初めて実行され、データが確実に記録されます。
スポンサーリンク
【その他の選択肢の解説】
ロールバック
コミットが「セーブして進む」のに対し、こちらは「ゲームで全滅したときに直前のセーブポイントからやり直す」ような状態を指します。処理が中途半端なままデータが壊れるのを防ぐために使われるため、コミットと常にペアで覚えておく必要があります。
チェックポイント
これは長いゲームの途中で定期的に「オートセーブ」が入るようなものです。いざシステムがクラッシュした際、最初からやり直すのではなく、このチェックポイントの時点から復旧できるため、データの安全性を保つための重要な目印となります。
デッドロック
これは一本道で向かい合った二人の人が、お互いに「どうぞ」「いやどうぞ」と譲り合った結果、一歩も進めなくなってしまう状態に似ています。データベースでもよくあるトラブルの一つで、正常な処理を確定させるコミットとはまったく意味が異なります。