PostgreSQL: Transactions
模範解答
🔑 トランザクションの原子性が、複数の更新を不可分な1単位にまとめ、不整合や中途半端な状態を防ぐという本質を理解しているかを問う。
回答履歴 (1回)
あなたの回答
送金側の処理のみが成功して受け取り側が失敗するなど、一連の処理の一部のみが成功することによる状態の不整合が発生しない様にするために、トランザクション内の一部でも失敗したものがあれば全体をロールバックする。 これによって不整合が起こる前の状態に戻し、整合性のある状態を保証できる
フィードバック
ユーザー回答は、送金処理の一部のみ成功して不整合が生じる問題を防ぐ点を正しく説明しており、「一部でも失敗したら全体をロールバックする」という all-or-nothing の性質を適切に述べています。ただし、「複数の更新処理を1つのまとまりとして扱う」という観点がやや暗黙的であり、その点を明示できると模範解答により近づきます。全体として、トランザクションの原子性と整合性保証の理解は概ね良好です。