トランザクション
例:銀行の口座振込み
Aさんの口座(残高:10,000円)から5,000円、Bさんの口座(残高:20,000円)へ振り込むケースを考えます。これは以下の処理から構成されます。
1. Aさんの口座から5,000円分差し引き、残高10,000 - 5,000 = 5,000円にする。
2. Bさんの口座へ5,000円分プラスし、残高20,000 + 5,000 = 25,000円にする。
1.の処理がうまくいって、2.の処理が何らかの原因で失敗したとします。そうなると、Aさんの口座残高は5,000円になっているいる一方で、Bさんの口座残高は20,000円のままで、5000円が「消失」してしまうことになります。
見方を変えると、1.の処理と2.の処理をまとめて「1つの処理」として扱うことにより、仮に1.がうまくいって2.がうまくいかなかったとしても、この「1つの処理」としては失敗したことになるので、最初からなかったことにすることで5000円が消失してしまうのを避けることができるというわけです。