スポンサーリンク

57-01.トランザクションとACID特性

スポンサーリンク
●このページで解説する内容
トランザクション:データベースに対する一連の処理を1つにまとめたもの
ACID特性:トランザクションが満たすべき4つの特性
[関連用語]原子性、一貫性、隔離性、耐久性
スポンサーリンク

トランザクションとは?

トランザクションとは、データベースに対する一連の処理を1つにまとめたものです。

受注時に在庫データベースの在庫データを更新する処理を考えます。このとき、在庫データベースでは、次の処理を実施します。

①在庫数の参照(在庫があるかの確認)
②在庫数の更新(受注した個数を在庫から差し引く)

この①と②のように、一連の処理を合わせたものトランザクションです。

スポンサーリンク

ACID特性とは?

ACID特性とは、トランザクション処理が満たすべき4つの特性です。「原子性(Atomicity)」「一貫性(Consistency)」「隔離性(Isolation)」「耐久性(Durability)」になります。4つの特性の頭文字をとって、ACID特性と呼ばれます。

・原子性:トランザクション処理が正常な場合に更新、異常な場合は元に戻す特性
・一貫性:トランザクション処理により、データが矛盾せず、整合性が保たれる特性
・隔離性:複数のトランザクション処理を同時にしても、データの整合性が保たれる特性
・耐久性:障害が生じても、トランザクション処理の結果が失われない特性

原子性(Atomicity)

原子性(Atomicity)とは、トランザクションが正常に処理された場合のみデータベースが更新され、異常が発生した場合には、元の状態に戻せる特性です。

また、データベースの更新コミット元に戻す処理ロールバックといいます。

コミット、ロールバック(原子性)

原子性によって、トランザクションは「コミット」もしくは「ロールバック」のいずれかの状態になります。

一貫性(Consistency)

一貫性(Consistency)とは、トランザクションを処理しても、データベースのデータが矛盾せず、整合性が取れることです。

一貫性を高める方法として、データの正規化が挙げられます。

隔離性(Isolation)

隔離性(Isolation)とは、複数のトランザクションを同時処理しても、データの整合性が保たれる特性のことです。あるトランザクション処理が、他のトランザクション処理に影響を与えないという意味で、隔離性と呼びます。

例えば、複数のトランザクション処理では、同時実行制御(排他制御)と呼ばれるデータのロックにより、隔離性を保ちます。

耐久性(Durability)

耐久性(Durability)とは、コミットしたトランザクションは、システムに障害が生じても、その結果が失われないことです。

例えば、データベースのトランザクション処理を記録したログのファイル(ジャーナル)を保存し、障害時の復旧に備えることで、耐久性を高めることができます。

スポンサーリンク

【まとめ】ACID特性

それでは最後におさらいをしておきましょう!

用語説明
トランザクションデータベースに対する一連の処理を1つにまとめたもの
ACID特性トランザクション処理が満たすべき4つの特性
原子性(Atomicity)、一貫性(Consistency)、隔離性(Isolation)、耐久性(Durability)の4つの頭文字
原子性トランザクション処理が正常な場合に更新(コミット)、
異常な場合は元に戻す(ロールバック)特性
一貫性トランザクション処理により、データが矛盾せず、整合性が保たれる特性
隔離性複数のトランザクション処理を同時にしても、データの整合性が保たれる特性
耐久性障害が生じても、トランザクション処理の結果が失われない特性

コメント

タイトルとURLをコピーしました