データベーストランザクションと分離レベルの4つの特徴

トランザクションデータベース:一連の操作オブジェクト・トランザクションは、データの単一の論理ユニットで構成され、データベースは、データベースの究極の目標は、別の一貫性のある状態にある一貫した状態へ変換することです。

トランザクション(ACID)の4つの特徴:

  • 含まれるすべてのデータベース操作のアトミックアトミックものはどちらかのすべてが成功するか、すべてロールバックに失敗します
  • トランザクションの実行前と後の整合性一貫性は、一貫した状態である必要があります
  • ビジネス分離分離結果コミットされていないトランザクションが他のトランザクションには見えません
  • 永続的な耐久性一度トランザクションは、データベース内のデータへの変更が永続的であると提出されます

読み書きデータベースのセキュリティ問題:

  • ダーティリードトランザクションデータが使用されるが、まだ、Bはまた、このデータへのアクセス権を持っている別のトランザクションが、また、このデータの使用をコミットしていないされています。
  • これら複数回の途中で複数の動作中の非反復読み取りトランザクションデータは、データにアクセスするために、データオブジェクトBも動作し、その値は二回同じトランザクションにAを導く、変化しました非反復可能読み取り値が同じではない、このデータの操作、。
  • ファントムは、トランザクションが現象が独立して実行されません生産読みください。読み取りライントランザクションは複数の結果セットAを変更するために取引方法を挿入または削除するには、検索条件、および他のトランザクションBに一致し、その後、提出しました。この結果は、元の実行をもたらすことは幻覚に相当し、二つは本来無関係の実行結果Bを含みます。

データベース(同時トランザクション)の四つの分離レベル:

  • あなたは、不足している更新を避けるために、他の書き込みトランザクションを防ぐためにコミットされていない未コミット読み取り書き込みトランザクションを読み取ることができます。しかし、それは他の読み取りトランザクションを防ぐことはできません。
  • 他のトランザクションを防ぐことはできませんトランザクションを読んで、他の読み取りを防止し、トランザクションを書きますCOMMITED読める提出書かれたものを読みます。
  • 反復は、反復が他の書き込みトランザクションを防ぐことができますが、他の読み取りトランザクションを妨げないものを読んで読んで読んで。MySQLのデフォルトの分離レベル。
  • シリアライズシリアライズファントム読み取りを回避することができます。共有ロック、プラス排他的な書き込みロックを読み取ります。

 問題に対処できる4つの分離レベルは次のとおりです。

 

参考:

https://blog.csdn.net/qq_34569497/article/details/79064208

 

おすすめ

転載: www.cnblogs.com/colin220/p/11433986.html