原子性、一貫性、分離、耐久性
トランザクションの原子性とは、トランザクションに含まれるプログラムがデータベースの論理的な作業単位として機能することを意味します。データ変更操作が実行されるか、何も実行されません。この性質は原子性と呼ばれます。
トランザクションの原子性要件。トランザクションがプログラムとみなせる場合、トランザクションは完全に実行されるか、まったく実行されないかのどちらかです。つまり、トランザクションの操作シーケンスはデータベースに完全に適用されるか、データベースにまったく影響を与えません。この性質は原子性と呼ばれます。
ユーザーがトランザクション内でデータベースの更新を完了した場合、すべての更新が外部から見えるようにする必要があります。そうしないと、更新がまったく存在しない可能性があります。前者はトランザクションがコミットされたことを示し、後者はトランザクションがキャンセル (または中止) されたことを示します。 DBMS は、正常に送信されたトランザクションによって完了したすべての操作がデータベースに完全に反映され、失敗したトランザクションがデータベースにまったく影響を与えないことを保証する必要があります。
トランザクションの一貫性とは、トランザクションの実行前後でデータベースが一貫した状態にある必要があることを意味します。このプロパティはトランザクションの一貫性と呼ばれます。データベースの状態がすべての整合性制約を満たしている場合、データベースは一貫性があると言われます。
整合性は、データベース内のすべてのセマンティック制約の保護を処理します。たとえば、データベースが整合性状態 S1 にある場合、トランザクションの実行中にデータベースの状態は不整合状態になっていると見なされます。一貫性状態 S2。
分離とは、同時トランザクションが互いに分離されることを意味します。つまり、トランザクション内の操作と操作されるデータはブロックされ、それを変更しようとする他のトランザクションからは見えないようにする必要があります。
分離性は、同時トランザクション間の競合に対して DBMS によって提供されるセキュリティ保証です。 DBMS は、ロックを通じて、同時に実行されるトランザクション間にさまざまなレベルの分離を提供できます。同時トランザクションの実行を制御できない場合、同じ共有オブジェクトを操作する複数の同時トランザクションの実行により、異常な状態が発生する可能性があります。
DBMS は、同時に実行されるトランザクション間にさまざまなレベルの分離を提供できます。分離レベルと同時トランザクションのスループットの間には反比例の関係があります。トランザクションの分離性が高まると、競合が増加し、トランザクションの中止が増える可能性があります。中止されたトランザクションはリソースを消費するため、これらのリソースには再度アクセスする必要があります。したがって、高レベルの分離を保証する DBMS では、より多くのオーバーヘッドが必要になります。
永続性とは、システムまたはメディアの障害が発生したときに、コミットされたトランザクションの更新が失われないようにすることを意味します。つまり、トランザクションがコミットされると、DBMS はデータベース内のデータへの変更が永続的であり、システム障害に耐えられることを保証します。 つまり、耐久性は主に DBMS の回復パフォーマンスに依存します。 データベースのバックアップとリカバリにより耐久性が保証されます。
//m.sbmmt.com/
上記は、mysql Advanced (twenty-three) データベーストランザクションの 4 つの主要な機能の内容です。さらに関連する内容については、こちらをご覧ください。 PHP 中国語 Web サイト (m.sbmmt.com)!