「トランザクションのACID特性」を理解する:「データベーススペシャリスト試験」戦略的学習のススメ(21)
あの“津崎さん”も保有する難関資格「データベーススペシャリスト」。本企画では、データベーススペシャリスト試験 午前/午後試験対策のための「基礎知識」を抜粋してお届けします。今回は「トランザクションのACID特性」の基礎を解説します。
書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍ポケットスタディ データベーススペシャリスト [第2版](2015年12月22日発行)』からの抜粋です。
ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
※編集部注:前回記事「「カーソル」を理解する」はこちら
トランザクションのACID特性
出題頻度 午前II:--- 午後I:--- 午後II:---
●--:過去14年間での過去問出題数が1〜9回
●●-:過去14年間での過去問出題数が10〜19回
●●●:過去14年間での過去問出題数が20回以上
Key Word
●トランザクション、ACID特性、原子性、一貫性、独立性、耐久性
トランザクション
トランザクションとは、下図のようにある目的をもつ業務処理のひとまとまりのことを指します。DBMS(データベース管理システム)はトランザクションを受け、データに反映する機能があります。
トランザクションの例 | 銀行口座からの預金引き出し | オークションの入札 |
---|---|---|
ひとまとまりの業務処理 | <1>引き出しが行えるか確認 <2>指定金額を引き出し <3>預金残高を更新 |
<1>オークションの現在価格の確認 <2>持金から入札可能かどうかを確認 <3>入札 |
DBMSはトランザクションを適切に処理する必要があります。例えば、上図左の預金引き出しの処理では、<1><2><3>の処理を連続して行い、一連の流れとしてすべて完了させなければなりません。障害等により、仮に<1><2>だけ行われ、<3>を行わずに止まってしまうと、預金がいくら残っているかが解らなくなってしまいます。このようなことを防ぐため、DBMSのトランザクション処理に求められる要件をとりまとめてACID特性と呼びます。
トランザクションのACID特性
トランザクションのACID特性は以下の表のようにまとめられます。それぞれの特性を守るためDBMSには、「コミットメント制御」「排他制御」「障害回復機能」等が備わっています。
午前問題では「ACID特性の○○性の説明として正しいものはどれか?」という形でよく問われます。以下の表には、問題で問われるパターンもまとめておきましたので、確認しておいて下さい。
本試験過去問題による類題演習 | |
---|---|
□H16 午前問39 | ACID 特性、原子性(atomicity)の説明 |
□H17 午前問42 | DBMS に実装すべき原子性 |
□H23 午前II問14 | ACID 特性、一覧性(consistency)の説明 |
□H20 午前問41 | ACID 特性、耐久性(durability)の説明 |
Chance問題
Point check
オンライントランザクションの原子性(atomicity)の説明として、適切なものはどれか。
(H18春DB午前問41)
ア データの物理的格納場所やアプリケーションプログラムの実行場所を意識することなくトランザクション処理が行える。
イ トランザクションが完了したときの状態は、処理済みか未処理のどちらかでしかない。
ウ トランザクション処理においてデータベースの一貫性が保てる。
エ 複数のトランザクションを同時に処理した場合でも、個々の処理結果は正しい。
解答 Point check イ
*囲み内をクリックすると解答を表示します(表示後ページをリロードすると、再び非表示になります)
Copyright © ITmedia, Inc. All Rights Reserved.