アトミックコミット
データベースシステムでのアトミックコミットは、 ACIDの2つの重要な特性である不可分性と一貫性を満たす。一貫性は、アトミックコミットの各変更が一貫している場合にのみ達成される。
例に示されているように、アトミックコミットは、データベースでのマルチステップ操作にとって重要である。データベースが存在する物理ディスクの最新のハードウェア設計により、真のアトミックコミットは存在できません。ディスクに書き込むことができる最小の領域は、セクターと呼ばれます。 1つのデータベースエントリが複数の異なるセクターにまたがる場合があります。一度に書き込むことができるセクターは1つだけです。この書き込み制限が、真のアトミックコミットが不可能な理由です。メモリ内のデータベースエントリが変更された後、それらはディスクに書き込まれるためにキューに入れられます。これは、例で特定されたのと同じ問題が再発したことを意味する。この問題は、どんなアルゴリズムを使っても必ず二人の将軍問題に遭遇し完全な解決ができない。2相コミットと3相コミットの手法は、アトミックコミットと関連するいくつかの問題を一部解決する。
2相コミットプロトコルでは、調整者が、問題が発生した場合にデータベースの元の状態を回復するために必要なすべての情報を維持する必要があります。
アトミックコミット (英: atomic commit)は、計算機科学の分野では、一連の個別の変更が単一の処理として実行される処理のこと。すべての変更が適用された場合、アトミックコミットは成功したと表現される。アトミックコミットを完了する前に障害が発生した場合、"コミット"は中止され、すべての変更が取り消されます (ロールバック)。これにより、システムは常に一貫した状態に保たれる。もう1つの重要な特性は、不可分操作としての性質に由来する。トランザクション分離により、一度に1つのアトミックコミットのみが処理される。アトミックコミットの最も一般的な用途は、データベースシステムとバージョン管理システムである。
アトミックコミットの課題は、複数のシステム間の調整が必要であることだ。 コンピュータネットワークは信頼性の低いサービスであるため、これは、二人の将軍問題で証明されているように、すべてのシステムと調整できるアルゴリズムがないことを意味する。データベースがますます分散されるにつれて、この調整により、真のアトミックコミットを行うことが難しくなる。