【发布时间】:2019-09-15 07:35:08
【问题描述】:
阅读两者似乎他们都有类似的责任来管理资源的共享和完整性以及优先执行,但我似乎无法找到它们有何不同?有人可以澄清这个误解。 谢谢你
【问题讨论】:
-
您知道您可以在通常不称为数据库的事物中进行事务吗?
标签: database transactions
阅读两者似乎他们都有类似的责任来管理资源的共享和完整性以及优先执行,但我似乎无法找到它们有何不同?有人可以澄清这个误解。 谢谢你
【问题讨论】:
标签: database transactions
除了奥德已经说过的话:
事务管理器管理事务 - 事务可以包含/处理其他资源,而不仅仅是数据库。我之前在某些场合给出过打印机的例子。
数据库管理器管理数据 - 不一定以事务方式。有一个非常流行的 SQL 系统,其 1.0 版本没有提交/回滚,iow,没有提供事务功能,因此对数据完整性没有提供太多支持。
然而,这种区别大多相当模糊,因为:
【讨论】:
事务管理器管理事务 - 这些事务可以分布(即涉及多个数据库/系统)。
数据库管理器处理单个数据库 - 在磁盘上管理它、内存消耗、查询解析等......
【讨论】:
只是为了确保理解:
事务管理器处理多级控制和物理数据库。
Database Manager 处理物理数据库的直接访问。
我还想在这两个答案中添加事务管理器还负责强制执行 ACID(原子性、一致性、隔离性和持久性)。我也很困惑。
【讨论】: