・トランザクション:データベースに対する一連の処理を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つの頭文字 |
原子性 | トランザクション処理が正常な場合に更新(コミット)、 異常な場合は元に戻す(ロールバック)特性 |
一貫性 | トランザクション処理により、データが矛盾せず、整合性が保たれる特性 |
隔離性 | 複数のトランザクション処理を同時にしても、データの整合性が保たれる特性 |
耐久性 | 障害が生じても、トランザクション処理の結果が失われない特性 |
コメント