平成30年度 秋期 ITパスポート試験 公開問題 問75 解説 トランザクションの特性
DBMSにおいて,一連の処理が全て成功したら処理結果を確定し,途中で失敗したら処理前の状態に戻す特性をもつものはどれか。
- ア インデックス
- イ トランザクション ✓ 正答
- ウ レプリケーション
- エ ログ
解説
問題文にある「全て成功したら確定(コミット)」「失敗したら元の状態に戻す(ロールバック)」というキーワードは、トランザクションの最も重要な特性を指しています。データベース操作において、分割できない一連の処理単位をトランザクションと呼ぶため、この定義そのものを問うていると判断して選択肢イを選びます。
トランザクションの概念と特性
データベースでは、例えば「銀行の口座からお金を引き出し、別の口座へ振り込む」といった処理を行う際、引き出し処理だけ成功して振り込み処理が失敗すると、お金が消えてしまうという重大な問題が発生します。このような不整合を防ぐため、関連する一連の処理をひとまとめの単位として扱う仕組みがトランザクションです。
トランザクションには「ACID特性」と呼ばれる4つの重要な性質があります。試験でも頻出の用語ですので、意味をセットで押さえておきましょう。
・原子性(Atomicity):一連の処理がすべて実行されるか、あるいは全く実行されないかのどちらかであることを保証する性質。問題にある「成功すれば確定、失敗すれば戻す」はこの原子性のことを指します。 ・一貫性(Consistency):トランザクションの前後でデータベースの整合性が保たれること。 ・独立性(Isolation):同時に実行されている他の処理の影響を受けず、独立して実行されること。 ・永続性(Durability):一度完了(コミット)した処理は、その後システム障害などが起きても失われないこと。
他の選択肢について
アのインデックスは、データベースの検索を高速化するための「索引」のことです。本の巻末にある索引のように、データの場所を素早く探すための仕組みであり、一連の処理の整合性とは関係ありません。
ウのレプリケーションは、データベースの内容を別のサーバーに複製し、冗長化や負荷分散を行う技術です。バックアップや可用性向上には役立ちますが、処理の確定・取り消しの仕組みではありません。
エのログは、データベースへの操作内容を記録した履歴データです。障害が発生した際に、どこまで処理が進んでいたかを追跡するために使われますが、ログ自体は記録そのものであり、一連の処理を制御する概念はトランザクションです。
実際の試験では、銀行の振込処理などの具体例を出しながら、「処理の整合性を保つ機能は何か」と問うパターンが非常に多いです。もし「障害時に元の状態に戻す」という記述があれば、それはトランザクションによるロールバックという機能だと結びつけて覚えておきましょう。
- データベースのACID特性を分かりやすく解説(Qiita)