DOC PREVIEW
USF CS 682 - Transactions

This preview shows page 1-2-3 out of 9 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

{small lecturenumber - heblocknumber :} Transactionsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Transactionsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Exampleaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Example transactionaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Committing and Abortingaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} ACIDaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Atomicityaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Consistencyaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Isolationaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Isolationaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Durabilityaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Common problems in transaction processingaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Lost updatesaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Lost updatesaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Inconsistent retrievalsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Inconsistent retrievalsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Serial equivalenceaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Conflicting operationsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Conflicting operationsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Lockingaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Locking exampleaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Lockingaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Lockingaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Locksaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Deadlocksaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Deadlock exampleaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Preventing deadlockaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Detecting deadlockaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Distributed Transactionsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Nested transactionsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Nested transactionsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Committing in nested transactionsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Flat and Nested Distributed transactionsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Coordinatorsaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Two-phase commitaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Two-phase commitaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Two-phase commitaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Two-phase commitaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Two-phase commitaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Two-phase commitaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Two-phase commitaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Nested two-phase commitaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Failure in Two-phase commitaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Locking and Deadlockaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Distributed Deadlockaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Edge chasingaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Edge chasingaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Edge Chasing Exampleaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Edge Chasing Exampleaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Edge Chasing Exampleaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Edge Chasing Exampleaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Breaking deadlockaddtocounter {blocknumber}{1}{small lecturenumber - heblocknumber :} Summaryaddtocounter {blocknumber}{1}Distributed Software DevelopmentTransactionsChris BrooksDepartment of Computer ScienceUniversity of San FranciscoDepartment of Computer Science — University of San Francisco – p.1/??17-0: TransactionsFeatures of transactionsSerial equivalenceLocking and deadlockDistributed transactionsTwo-phase commitDistributed deadlockDepartment of Computer Science — University of San Francisco – p.2/??17-1: TransactionsA transaction is a sequence of operations between a clientand a server.Goal: make sure that:Objects remain in a consistent stateSystem is tolerant to crash failuresTransaction effects are independent of othertransactionsTransactions are either completed or not started.Department of Computer Science — University of San Francisco – p.3/??17-2: ExampleAs an example, we’ll look at an interface to a bankingsystem.We’d like to be able to do the following operations onaccounts:deposit(amt)withdraw(amt)getBalance()setBalance(amt)We’d also like the following operations to be available forbranches:CreateAccount(name)lookUpAccount(name)totalAccounts()Department of Computer Science — University of San Francisco – p.4/??17-3: Example transactionA transaction may involve several operations, each ofwhich changes the state of a different object:Transaction T:1. alexAcct.withdraw(100)2. nancyAcct.deposit(100)3. nancyAcct.widthdraw(200)4. brooksAcct.deposit(200)We can’t stop in the middle, lose any of the operations,or do them in the wrong order.Department of Computer Science — University of San Francisco – p.5/??17-4: Committing and AbortingA transaction may be either committed or aborted.When all operations are complete and the transaction isready to be accepted, it is committed.Written to permanent storageAfter this point, it cannot be undoneIf the server decided that a transaction cannot beprocessed (undone by the client, or it will leave the systemin an inconsistent state), it is aborted.All operations are


View Full Document

USF CS 682 - Transactions

Documents in this Course
Load more
Download Transactions
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Transactions and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Transactions 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?