MySQLのトランザクションの4つの特性
MySQLトランザクションの4つの主要特性は、原子性、一貫性、隔離性、耐久性です。
- トランザクションは分割できない操作単位であり、すべてが成功するかすべてが失敗してロールバックされます。トランザクションの一部でエラーが発生した場合、トランザクション全体が初期状態に戻され、データベースには影響が生じません。
- 日本語で言い換えると、次のようになります:トランザクションの実行前後、データベースの状態は一貫性を保持する必要があります。これは、トランザクションの操作がデータベースの整合性制約(主キーや外部キー、一意キーなど)を壊してはならないということを意味します。
- 隔離性: トランザクションの隔離性は、複数のトランザクションが同時に実行される際に、それぞれのトランザクションが他のトランザクションの存在を認識できることを保証します。異なる隔離レベルは、未コミット読み取り、コミット済み読み取り、繰り返し読み取り、および直列化など、異なる程度の隔離性を提供します。
- デュラビリティ:トランザクションがコミットされると、データベースの変更は永続的であり、障害が発生しても失われることはありません。これはデータをディスクや他の永続性ストレージメディアに書き込むことで実現されています。