ACIDデータベースモデル

ACIDはデータベースのデータを保護します

データベース設計のACIDモデルは、データベース理論の最も古く重要な概念の1つです。 これは、すべてのデータベース管理システムが達成すべき、アトミック性、一貫性、隔離性、耐久性の4つの目標を設定します。 これら4つの目標のいずれかを満たしていないリレーショナルデータベースは、信頼できるとはみなされません。 これらの特性を持つデータベースは、ACIDに準拠しているとみなされます。

定義されたACID

これらの特性を詳細に調べてみましょう。

ACIDがどのように実際に働くか

データベース管理者は、ACIDを実施するためのいくつかの戦略を使用します。

アトミック性と耐久性を強化するために使用されるものは、 ライト・アヘッド・ロギング (WAL)です。トランザクションの詳細が、REDOとUNDO情報の両方を含むログに最初に書き込まれます。これにより、ログを記録し、その内容をデータベースの状態と比較します。

原子性と耐久性に対処するために使用されるもう1つの方法は、データを変更するときにシャドウページを作成するシャドウページングです。 クエリの更新は、データベース内の実際のデータではなく、シャドウページに書き込まれます。 データベース自体は、編集が完了したときにのみ変更されます。

別の戦略は、 2フェーズコミットプロトコルと呼ばれ、分散データベースシステムで特に役立ちます。 このプロトコルは、データを変更する要求を、コミット要求フェーズとコミットフェーズの2つのフェーズに分けます。 要求フェーズでは、トランザクションの影響を受けるネットワーク上のすべてのDBMSは、トランザクションを受信したことを確認し、トランザクションを実行する能力を持っている必要があります。 すべての関連DBMSから確認が受信されると、データが実際に変更されるコミット・フェーズが完了します。