【问题标题】:How do transactions (technically) work?交易(技术上)如何运作?
【发布时间】:2013-12-08 18:08:03
【问题描述】:

我知道事务是什么以及它的好处和问题是什么——例如,在谈论面向 SQL 的数据库中的 ACID 模型时。到目前为止,一切顺利。

但我想了解它们在技术上是如何工作的。我猜想,无论是数据库还是文件系统,都存在一种如何使事物具有事务性的一般模式。我如何使事情原子化?

不幸的是,在 Google 上查找此内容时,您会发现很多文章解释了如何使用交易,但我确实知道这一点。我想知道他们是如何工作的

欢迎任何为我指明正确方向的示例、想法、链接、论文或其他东西(甚至是搜索自己的好词)。有什么提示吗?

【问题讨论】:

    标签: transactions


    【解决方案1】:

    交易基于两个重要概念:

    2阶段提交协议 http://en.wikipedia.org/wiki/Two-phase_commit_protocol

    2 锁相 http://en.wikipedia.org/wiki/Two-phase_locking

    【讨论】:

    • 感谢您的链接,他们都完美地解释了我想知道的内容。所以基本上它总是归结为:1. 执行操作,但标记为尚未完成,2. 询问所有参与者这是否有效,以及 3. 如果有效,则提交或回滚。
    • 完全正确。这就是核心概念
    猜你喜欢
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    相关资源
    最近更新 更多