Properties of Transactions • Atomicity - Either all or none of the transaction’s operations are performed. Reasons why a transaction is not completed : » transaction aborts - Transaction recovery
» system crashes - crash recovery
•
Durability - Once the transaction has committed, the system must guarantee that the results of its operations will never be lost, independent of subsequent failures.
» database recovery
•
Serializability - If several transactions are executed concurrently, the result must be the same as if they were executed serially in same order. » concurrency control
•
Isolation - An incomplete transaction cannot revel its results to other transactions before its commitment.
» Cascading aborts
Distributed Transactions • There exists a root agent which starts the whole transaction,
so that when the user request the execution of an application, the root agent is started; the site of the root agent is called the site of origin of the transaction. • The root agent has the responsibility of issuing the
begin_transaction, commit and abort primitives. • Only the root agent can request the creation of new agent.
Example – bank transactions
fund transfer at global level Read( terminal, $AMOUNT, $FROM_ACC), $TO_ACC); Begin _transaction; select AMOUNT into $FROM_AMOUNT from ACCOUNT where ACCOUNT_NUMBER=$FROM_ACC; If $FROM_AMOUNT-$AMOUNT
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.