その他 データを守るACID特性
ある作業をいくつかの小さな作業に分割して行う場合を考えてみましょう。分割したそれぞれの作業は、全体の一部なので、すべてが完了して初めて本来の作業が完了します。しかし、作業途中に問題が発生し、ある一部分だけが完了し、残りが未完了という状態になるかもしれません。このような状態は、様々な問題を引き起こす可能性があります。例えば、銀行口座から別の口座にお金を送る作業を考えてみましょう。この作業は、「送る側の口座からお金を引き出す」作業と、「受け取る側の口座にお金を入金する」作業に分割できます。もし、「送る側の口座からお金を引き出す」作業だけが完了し、「受け取る側の口座にお金を入金する」作業が完了しなかった場合、お金が消えてしまうことになります。このような問題を防ぐために、分割した作業を全体としてまとめて扱う必要があります。つまり、すべての作業が完了するか、あるいは全く作業が行われていない状態かのどちらかしか存在しないようにする必要があります。これを「分割できない処理」と呼びます。分割できない処理では、作業全体が成功するか失敗するかの二択になり、中途半端な状態はありえません。データベースのような情報を管理する仕組みでは、この分割できない処理が非常に重要です。分割できない処理のおかげで、途中で問題が発生しても、情報の状態が壊れることなく、常に正しい状態を保つことができます。まるで、物質を構成する最小単位である原子のように、分割できない処理は情報処理の基礎単位として、情報の安全性を守る上で大切な役割を果たしているのです。
