トランザクション

概要

トランザクションとは、データベースを更新する一つの処理単位のことを言う。
例えば、商品の入庫処理を行う場合、入庫データの記録と在庫残高の更新は同時に行われる必要があり、片方のみが成功する状態は許されない。このように複数の処理をまとめてトランザクションとすることで、必要な処理が全て成功した場合にのみデータベースを更新するといった制御を行う。
これの実現にはロックという排他制御機構が必要になる。

ロック

データベースロックのみを使う。
つまり1度に1ユーザのトランザクションしか処理しないということ。
これにより全リソースを1トランザクションに投入でき、デッドロック完全回避、使えるリソースが増える、といったメリットが得られる。
同時実行性がさがるという批判もある。
しかし1トランザクションのスループットが大きくなることで実質上の同時実効性は上がることが期待できる。
並列処理をしないことでインスタンスクラスの一部をスタティッククラスに変更できる。
そうすることでthisポインタを介した処理がなくなり高速化される。

実装

コミット、ロールバックはスタックに構築できる概念を持っている。
最終更新:2008年11月30日 14:55
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。