【问题标题】:What's the difference between a transaction manager and a database manager?事务管理器和数据库管理器有什么区别?
【发布时间】:2019-09-15 07:35:08
【问题描述】:

阅读两者似乎他们都有类似的责任来管理资源的共享和完整性以及优先执行,但我似乎无法找到它们有何不同?有人可以澄清这个误解。 谢谢你

【问题讨论】:

  • 您知道您可以在通常不称为数据库的事物中进行事务吗?

标签: database transactions


【解决方案1】:

除了奥德已经说过的话:

事务管理器管理事务 - 事务可以包含/处理其他资源,而不仅仅是数据库。我之前在某些场合给出过打印机的例子。

数据库管理器管理数据 - 不一定以事务方式。有一个非常流行的 SQL 系统,其 1.0 版本没有提交/回滚,iow,没有提供事务功能,因此对数据完整性没有提供太多支持。

然而,这种区别大多相当模糊,因为:

  • 许多现实生活中的事务除了数据库之外不涉及其他可恢复资源,
  • 为了保证数据的一致性,DBMS 无法避免必须提供大部分(如果不是全部)事务功能。

【讨论】:

    【解决方案2】:

    事务管理器管理事务 - 这些事务可以分布(即涉及多个数据库/系统)。

    数据库管理器处理单个数据库 - 在磁盘上管理它、内存消耗、查询解析等......

    【讨论】:

      【解决方案3】:

      只是为了确保理解:

      事务管理器处理多级控制和物理数据库。

      Database Manager 处理物理数据库的直接访问。

      我还想在这两个答案中添加事务管理器还负责强制执行 ACID(原子性、一致性、隔离性和持久性)。我也很困惑。

      【讨论】:

        猜你喜欢
        • 2015-01-18
        • 1970-01-01
        • 2018-03-01
        • 2016-12-02
        • 1970-01-01
        • 2017-01-27
        • 1970-01-01
        • 2020-04-22
        • 2017-11-13
        相关资源
        最近更新 更多