概要
ACID特性とは、信頼性のあるデータベースにおけるトランザクション(データのやり取り)の持つべき性質をまとめたものです。ACIDとは、それら性質の頭文字をとったものです。
データベースを実際に作る時に最低限知っておくべき知識なので、しっかりインプットしておきたい概念です。
項目について
-
Atomicity(原子性)
トランザクションに含まれる一連の処理は、全体として実行されるか、実行されないかのいずれかであることが保証されるという性質。
何らかの障害により処理が途中で止まってしまった場合、処理途中のデータを格納するのではなく、処理を実行していない状態を維持するということ。 -
Consistency(一貫性)
あらかじめ指定したルールに沿った形で処理が行われるという性質。
例えば、あるカラムに対してuniqueという条件を指定した場合に、そのカラム内で重複しないことを保証するもの。 -
Isolation(独立性)
ある処理について、外部から見ることができるのは実行前と実行後のデータだけであり、実行中のデータの状態を見ることができないという性質。 -
Durability(永続性)
ある処理が完了した段階で、その出力結果は永続的に失われることのないものとしてデータベースに記録されるという性質。