13 terms

Transactions

STUDY
PLAY

Terms in this set (...)

transaction
group several statements into single unit
transaction properties
ACID
1. atomicity - all or nothing execution

2. consistency - transactions do not leave database in inconsistent state

3. isolation - executed as if no other transaction is running (emulates serialised execution of transactions)

4. durability - results of committed transaction are not lost (DBMS provides mechanisms to recover from system crashes - hardware & software)
transaction commands
start transaction - explicitly starts a transaction

commit

rollback

set transaction - set isolation level
ensuring atomicity & durability
recovery system:
-executes rollback (maintains log of all changes which are used to restore previous states)
-checks logs to ensure successful transactions saved to disk and aborted transactions rolled back when DBMS starts up
ensuring consistency
up to programmer to ensure using constraints
ensuring isolation
use a concurrency control system (allow concurrent reads or concurrent read/writes if they are on different relations)
isolation levels
1. read uncommitted
2. read committed
3. repeatable read
4. serialisable
read uncommitted
uncommitted data changed by other concurrent transactions can be read (dirty reads)

lowest isolation level - all changes by other transactions immediately visible to this transaction
read committed
only data committed by other concurrent transactions can be read, repeatable reads possible
repeatable read
guarantees all tuples can be returned by a query will be included if the query is repeated, but might return additional newly committed tuples (phantom reads)
serialisable
guarantees isolation (may limit degree of concurrency)
dirty writes
not allowed at any lvl, cannot update data that has been updated by another transaction and not committed
replicated servers & RAID (redundant array of independent/inexpensive disks)
-multi-disk setup that provides extra availability and performance by dividing (striping) and replicating (mirroring) data across disks - guards against disk failures by saving copy of data & recovery data onto second disk
-could replicate the BD computer, DBMS and disks to cope w/computer failures, send DB updates to the replicas