0

私はデータベーストランザクションのACIDプロパティを理解しようとしています。どの部分が原子性で、どの部分が耐久性などです。

A2つのアクションを持つトランクションがあるとしましょうB。残念ながら、実行時にシステムの電源がオフになりましaction Bた。システムのリセット後、データベースはを実行する前の状態を(sqliteのロールバックジャーナルを介して)保持することがわかっていますaction A。では、これはどのACIDプロパティ、原子性または耐久性を示していますか?

別のケース:実行action B中にエラーが発生し、アプリケーションに通知され、アプリケーションがロールバックされたとします。これは、データベースエンジンではなく、ユーザーによって達成される純粋な原子性であると私は考えています。私は正しいですか?

4

1 に答える 1

1

どちらの例も原子性を強調しています。AとBの両方がコミットされているか、どちらもコミットされていません。

耐久性は、トランザクションがコミットされた後にのみ画像に現れるプロパティです。アプリケーションは、COMMIT呼び出しが成功した場合、永続的であると安心できます。システムのリセットまたは電源オフは、コミットされたトランザクションの効果を元に戻さないため、その耐久性があります。

于 2009-11-09T06:54:14.867 に答える