問75
頻出度★☆☆
DBMS において,一連の処理が全て成功したら処理結果を確定し,途中で失敗したら処理前の状態に戻す特性をもつものはどれか。
この問題の解説と、これまでの解答の記録です。
DBMS において,一連の処理が全て成功したら処理結果を確定し,途中で失敗したら処理前の状態に戻す特性をもつものはどれか。
「インデックス」は表の特定の列に対する検索を高速化するための索引データ構造。データ抽出の性能向上が目的で、処理の確定・取消しといった原子性とは無関係。
正解 イ「トランザクション」。トランザクションは DBMS における処理のひとまとまり (論理的な作業単位) で、含まれる一連の処理が全て成功して初めて結果を確定 (コミット) し、途中で一つでも失敗したら処理をすべて取り消して処理前の状態に戻す (ロールバック)。この「全部成功か、さもなくば全部無かったことにする」という all-or-nothing の性質を原子性 (Atomicity) といい、ACID 特性の一つ。設問の文言はこの原子性の説明そのもので、正解は「トランザクション」。
「レプリケーション」はデータを別のサーバなどに複製して保持する仕組みで、可用性向上や負荷分散が目的。一連の処理の成功可否で結果を確定・巻き戻す特性を指す語ではない。
「ログ」は処理の履歴を記録したもの。障害時にはログを使ってロールバックやロールフォワードを行うが、ログ自体は記録であって「全成功で確定・失敗で処理前に戻す」という特性そのものではない。その特性を持つ単位はトランザクション。