トランザクションとACID原則
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/12/03 10:02 UTC 版)
「並行性制御」の記事における「トランザクションとACID原則」の解説
詳細は「トランザクション」および「ACID (コンピュータ科学)」を参照 「データベース・トランザクション」(または「アトミック・トランザクション」)の概念は、衝突がいつでも発生しうる不完全な環境でのデータベースシステムの動作をよく理解し、その上で衝突から回復できるよう発展してきた。データベース・トランザクションは仕事の単位であり、データベース上のいくつかの操作(データベースオブジェクトの読み取り、書き込み、ロック取得など)をカプセル化するのが一般的で、データベースや他のシステムでの抽象概念である。個々のトランザクションは、どのプログラム/コードの実行がそのトランザクションに含まれているかで境界が明確に定義され、プログラマが特別なトランザクションコマンドを使って決定する。データベースシステムは全てのトランザクションが以下の原則に従うことを要求する。 原子性 (Atomicity) 操作は全体が行われるか全く行われないかのいずれかである。換言すればトランザクションは外から見て不可分に行われる。 一貫性 (Consistency) 全てのトランザクションはデータベースの一貫した状態を保つ。データベースについて事前に決定された完全性規則(データベースのオブジェクトについての制約)に従う。トランザクションは、データベースをある一貫した状態から別の一貫した状態へと遷移させる。データベースを変化させるのはトランザクションだけであり、データベースの状態は常に一貫している。途中で中断されたトランザクションは(原子性により)トランザクション開始前のデータベース状態を変更しない。 独立性 (Isolation) トランザクション同士が互いに影響を与えることはできない。さらに言えば、中断されたトランザクションの効果は他のトランザクションから見えない。独立性を提供することが並行性制御の主な目的である。 永続性 (Durability) コンピュータシステムがクラッシュしても成功したトランザクションの結果は失われない。一般に不揮発性メモリにトランザクションの効果とそのコミットというイベントを記録しておく。 アトミック・トランザクションの概念から、時間をかけてビジネストランザクション管理(英語版) (BTM) へと発展したが、BTMは実際にはワークフローの実装でありアトミックではない。しかし、そのように発展したトランザクションもコンポーネントとしてアトミック・トランザクションを利用している。
※この「トランザクションとACID原則」の解説は、「並行性制御」の解説の一部です。
「トランザクションとACID原則」を含む「並行性制御」の記事については、「並行性制御」の概要を参照ください。
- トランザクションとACID原則のページへのリンク