Search code examples
transactionsdistributed-database

Difference between Transaction Co-ordinator and Transaction Manager


What is the difference between Transaction Co-ordinator and Transaction Manager in context of Distributed Database Management System?I tried finding it on Internet and the only information I got is that the Transaction manager manages(how?) transactions on the local sites while transaction coordinator manages(again how?) transactions at global level.Are they separate entities or the names are used interchangebly?Thanking you in anticipation


Solution

  • In the context of distributed databases, a transaction coordinator as the name implies co-ordinates the overall execution of the transaction by issuing transactional messages to other nodes of the distributed system. On each of the nodes a transaction manager can locally execute operations as part of the transaction. A coordinator typically acts as a proxy to receive transactional operations from a client and is therefore aware of the order of operations and is responsible for the overall result of the transaction, while the individual managers may typically be responsible for managing the life of the transaction within the individual nodes. Depending on the semantics of the transaction implementation (single phase/two phase/etc), the coordinator and the transaction managers can communicate with each other information about transactional states, actual data or control messages for prepare/commit/etc or failure conditions such as inability to take locks or conflicts with other transactions, etc.

    Hope this helps.