事务管理器和数据库管理器之间有什么区别?

时间:2010-11-12 19:17:37

标签: database transactions

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

3 个答案:

答案 0 :(得分:4)

除了Oded已经说过的话:

事务管理器管理事务 - 事务可以包括/寻址除数据库之外的其他资源。我曾经在某些场合给过打印机的例子。

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

然而,区别主要是相当迟钝,因为:

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

只是为了确保理解:

Transaction Manager处理多个级别的控制和物理数据库。

数据库管理器处理对物理数据库的直接访问。

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