ACID
「Atomicity, Consistency, Isolation, Durability」の略です。ACIDという略語は、データの整合性を確保するために、データベースが備える必要のある4つの特性を表します。具体的には、これらの特性はデータベースにデータを書き込むデータベース操作に適用されます。例として、レコードの挿入、更新、削除などがあります。
ACIDを構成する4つの要素を以下に示します。
1. 原子性(Atomicity)
原子性は、各トランザクションが「すべて実行されるか、まったく実行されないか」の処理であることを保証します。つまり、完全に成功するか、完全に失敗します。原子的な操作では、部分的なトランザクションを許可しないことで、データの破損を防ぎます。操作を完了できない場合は、何も起こらなかったかのように、前の状態へ「ロールバック」されます。
2. 一貫性(Consistency)
一貫性とは、有効なデータだけがデータベースに書き込まれることを保証するものです。たとえば、データベースは無効なトランザクションや認識できないデータを受け付けません。また、新しいトランザクションを一時的に保存する「ダブルライトバッファー」を使用する場合もあります。データベースまたはホストシステムが予期せずクラッシュした場合、データはバッファーから復元できます。
3. 独立性(Isolation)
独立性は、各トランザクションが個別に処理されることを保証します。データベースによっては、1秒間に何度もデータを読み書きするため、同時実行されるトランザクションが必要になることがあります。トランザクションが同時に行われる場合でも、それぞれを互いに分離できます。たとえば、1つの操作が失敗しても、同時に行われている他の操作には影響しません。独立性は、あるトランザクションのデータが別のトランザクションから見えないようにするため、データベースのセキュリティにも不可欠です。
4. 永続性(Durability)
永続性は、トランザクションが処理されるか、データベースに「コミット」された後、データが保存されることを保証します。トランザクションがアプリケーションのクラッシュや停電によって失われないように、データを不揮発性メモリへ書き込む必要があります。
データベースソフトウェアはデータベースの永続性の確保に役立ちますが、ハードウェアも重要です。たとえば、RAIDストレージ構成を使用すると、ストレージデバイスに障害が発生した場合でも冗長性を確保できます。UPSバッテリーバックアップを使用すると、主電源を利用できない場合でも電力を維持し、データの損失を防げます。
NOTE:「Acid」(小文字)は、特定のHTMLタグとCSSルールに対するWebブラウザーの対応状況を確認するテストです。最新のテストであるAcid3は、2008年にWeb Standards Projectグループによって作成されました。[/n]
知識をテストする