使用數據庫時,使用事務通常是非常重要的。舉例說,我想將一定數量的錢從account A
轉移到account B
。這涉及兩個查詢:數據庫供應商如何實現交易?
- 減少貨幣在賬戶A
- 增加它在賬戶B.
理論上我可以單獨進行查詢,但錯誤發生。所以,可以肯定的是,我可以將這兩個查詢包含在一個事務中,並確保兩個操作都能定期結束或根本沒有任何變化。沒有錢消失或被創造。
問題是,在我看來,這隻會將責任從我轉移到數據庫供應商。現在由數據庫來做這兩個操作,並確保兩者都做或沒有改變。數據庫開發人員面臨着錯誤發生的相同問題。
數據庫供應商使用什麼技術來確保交易安全?