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

时间:2021-01-23 15:50:33

Reading on both it seems that they both have similar responsibilities of managing the sharing and integrity of resources as well as prioritizing execution but I cannot seem to find how they differ? Can someone clarify this misunderstanding. Thank You

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

2 个解决方案

#1


4  

In addition to what Oded already said:

除了Oded已经说过的话:

A transaction manager manages transactions - and a transaction can include/address other resources than just databases. I have given the example of a printer at some occasions before.

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

A database manager manages data - and not necessarily in a transactional way. There is a very popular SQL system whose 1.0 version did not have commit/rollback, iow, did not offer transactional functionality and thus did not offer much of support for data integrity.

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

The distinction is mostly rather obtuse, however, because:

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

  • a great many real-life transactions involve no other recoverable resources than just the database,
  • 许多现实生活中的交易除了数据库之外不涉及其他可恢复的资源,

  • in order to guarantee data consistency, DBMS's cannot avoid having to offer most if not all of the functionality of transactions.
  • 为了保证数据的一致性,DBMS不能避免必须提供大多数(如果不是全部)交易功能。

#2


2  

A transaction manager manages transactions - these can be distributed (i.e. involving several databases/systems).

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

A database manager deals with a single database - managing it on the disk, memory consumption, query parsing etc...

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

#1


4  

In addition to what Oded already said:

除了Oded已经说过的话:

A transaction manager manages transactions - and a transaction can include/address other resources than just databases. I have given the example of a printer at some occasions before.

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

A database manager manages data - and not necessarily in a transactional way. There is a very popular SQL system whose 1.0 version did not have commit/rollback, iow, did not offer transactional functionality and thus did not offer much of support for data integrity.

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

The distinction is mostly rather obtuse, however, because:

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

  • a great many real-life transactions involve no other recoverable resources than just the database,
  • 许多现实生活中的交易除了数据库之外不涉及其他可恢复的资源,

  • in order to guarantee data consistency, DBMS's cannot avoid having to offer most if not all of the functionality of transactions.
  • 为了保证数据的一致性,DBMS不能避免必须提供大多数(如果不是全部)交易功能。

#2


2  

A transaction manager manages transactions - these can be distributed (i.e. involving several databases/systems).

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

A database manager deals with a single database - managing it on the disk, memory consumption, query parsing etc...

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