1. A distributed database management system for transaction processing comprising: two or more query processors with a common data source; a transaction analyzer for checking if a transaction can be processed by more than one query processor; a query processor optimizer for locating an optimum query processor for each query in the transaction based on workload of each query processor; a workload balancer for directing each query to the optimum query processor based on an idleness factor for each query processor if the transaction can be processed by more than one query processor, wherein the idleness factor is based on a relative capacity for each query processor, a transaction type, and transaction length; and a lock mechanism for locking portions of the common data source at a query level to a new query processor, wherein the lock mechanism can be transferred to the new query processor when a transaction is transferred to the new query processor and using existing global lock and cache data, and the transaction is transferred as a whole; wherein the workload balancer balances a workload for each query processor in the more than one query processors, using the lock mechanism, such that a processing speed and the idleness factor of each query processor is balanced with respect to the other query processors in more than one query processors; a logging engine for log records of events pertaining to changes to the common data source; and wherein the transaction analyzer identifies open cursors and aborting a transfer if an open cursor is identified; and wherein the transaction analyzer is configured for determining that a tag indicating that the transaction is distributable is associated with the transaction, and for determining that a tag indicating that the transaction is a long running or a short running transaction.