Traker
Traker

Reputation: 2187

What's the difference between a transaction manager and a database manager?

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

Upvotes: 3

Views: 3643

Answers (3)

Mikeez
Mikeez

Reputation: 127

Just to ensure understanding:

Transaction Manager deals with multiple levels of control and the physical database.

Database Manager deals with the direct access of the physical database.

I would also like to add to both of these answers that the transaction manager is also responsible to enforce ACID (Atomicity, Consistency, Isolation, and Durability). I was pretty much confused as well.

Upvotes: 0

Erwin Smout
Erwin Smout

Reputation: 18408

In addition to what Oded already said:

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.

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.

Upvotes: 4

Oded
Oded

Reputation: 499312

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...

Upvotes: 3

Related Questions