トランザクションとは

トランザクションとは、データベースに対して実行されるアプリケーション定義の作業単位です。トランザクションが開始され、データベースに対して変更が加えられた後、トランザクションはコミットまたはロールバックされます。トランザクションがコミットされると、そのトランザクションで実行された変更内容は、他のユーザやアプリケーションから参照できるようになります。

トランザクションは、ユーザおよびアプリケーションが依存する、「ACID」と呼ばれる標準的な性質を保持しています。

Atomic(原始性)─ トランザクションは「すべてのタスクを実行するか、まったく実行しないか」のどちらかです。トランザクションがコミットされると、その変更はすべてデータベースに適用されます。トランザクションがロールバックされた場合、その変更は一切適用されません。

Consistent(一貫性) ─ トランザクションの実行に対してデータベースは常に整合性を保ちます。

Isolation(独立性) ─ トランザクションは、コミットされていない変更を他のトランザクションから隔離することができます。この場合他のユーザが進行中のトランザクションの中間的な状態を参照することはありません。

Durable(永続性) ─ トランザクションがコミットした結果は永続化されます。

これらの特性を実現するために、DBMS はさまざまなロック メカニズムを使用して、同時に実行される複数のトランザクションを互いに隔離します。


7/10/2012