Download
outline n.
Skip this Video
Loading SlideShow in 5 Seconds..
Outline PowerPoint Presentation

Outline

209 Vues Download Presentation
Télécharger la présentation

Outline

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Outline • Introduction • Background • Distributed DBMS Architecture • Distributed Database Design • Distributed Query Processing • Distributed Transaction Management • Transaction Concepts and Models • Distributed Concurrency Control • Distributed Reliability • Building Distributed Database Systems (RAID) • Mobile Database Systems • Privacy, Trust, and Authentication • Peer to Peer Systems

  2. Properties of Transactions ATOMICITY • all or nothing CONSISTENCY • no violation of integrity constraints ISOLATION • concurrent changes invisible to other transactions DURABILITY • committed updates persist

  3. Atomicity • Either all or none of the transaction's operations are performed. • Atomicity requires that if a transaction is interrupted by a failure, its partial results must be undone. • The activity of preserving the transaction's atomicity in presence of transaction aborts due to input errors, system overloads, or deadlocks is called transaction recovery. • The activity of ensuring atomicity in the presence of system crashes is called crash recovery.

  4. Consistency • Internal consistency • A transaction which executes alone against a consistent database leaves it in a consistent state. • Transactions do not violate database integrity constraints. • Transactions are correct programs

  5. Consistency Degrees • Degree 0 • Transaction T does not overwrite dirty data of other transactions • Dirty data refers to data values that have been updated by a transaction prior to its commitment • Degree 1 • T does not overwrite dirty data of other transactions • T does not commit any writes before EOT

  6. Consistency Degrees (cont’d) • Degree 2 • T does not overwrite dirty data of other transactions • T does not commit any writes before EOT • T does not read dirty data from other transactions • Degree 3 • T does not overwrite dirty data of other transactions • T does not commit any writes before EOT • T does not read dirty data from other transactions • Other transactions do not dirty any data read by T before T completes.

  7. Isolation • Serializability • If several transactions are executed concurrently, the results must be the same as if they were executed serially in some order. • Incomplete results • An incomplete transaction cannot reveal its results to other transactions before its commitment. • Necessary to avoid cascading aborts.

  8. Isolation Example • Consider the following two transactions: • T1: Read(x) T2: Read(x) • xx1 xx+1 • Write(x) Write(x) • Commit Commit • Possible execution sequences: T1: Read(x) T1: Read(x) T1: xx1 T1: xx+1 T1: Write(x) T2: Read(x) T1: Commit T1: Write(x) T2: Read(x) T2: xx+1 T2: xx+1 T2: Write(x) T2: Write(x) T1: Commit T2: Commit T2: Commit

  9. SQL-92 Isolation Levels Phenomena: • Dirty read • T1 modifies x which is then read by T2 before T1 terminates; T1 aborts T2 has read value which never exists in the database. • Non-repeatable (fuzzy) read • T1 reads x; T2 then modifies or deletes x and commits. T1 tries to read x again but reads a different value or can’t find it. • Phantom • T1 searches the database according to a predicate while T2 inserts new tuples that satisfy the predicate.

  10. SQL-92 Isolation Levels (cont’d) • Read Uncommitted • For transactions operating at this level, all three phenomena are possible. • Read Committed • Fuzzy reads and phantoms are possible, but dirty reads are not. • Repeatable Read • Only phantoms possible. • Anomaly Serializable • None of the phenomena are possible.

  11. Durability • Once a transaction commits, the system must guarantee that the results of its operations will never be lost, in spite of subsequent failures. • Database recovery

  12. Characterization of Transactions Based on • Application areas • non-distributed vs. distributed • compensating transactions • heterogeneous transactions • Timing • on-line (short-life) vs batch (long-life) • Organization of read and write actions • two-step • restricted • action model • Structure • flat (or simple) transactions • nested transactions • workflows

  13. Transaction Structure • Flat transaction • Consists of a sequence of primitive operations embraced between a begin and end markers. Begin_transaction Reservation … end. • Nested transaction • The operations of a transaction may themselves be transactions. Begin_transaction Reservation … Begin_transaction Airline • … end. {Airline} Begin_transaction Hotel … end. {Hotel} end. {Reservation}

  14. Nested Transactions • Have the same properties as their parents  may themselves have other nested transactions. • Introduces concurrency control and recovery concepts to within the transaction. • Types • Closed nesting • Subtransactions begin after their parents and finish before them. • Commitment of a subtransaction is conditional upon the commitment of the parent (commitment through the root). • Open nesting • Subtransactions can execute and commit independently. • Compensation may be necessary.

  15. Workflows • “A collection of tasks organized to accomplish some business process.” [D. Georgakopoulos] • Types • Human-oriented workflows • Involve humans in performing the tasks. • System support for collaboration and coordination; but no system-wide consistency definition • System-oriented workflows • Computation-intensive & specialized tasks that can be executed by a computer • System support for concurrency control and recovery, automatic task execution, notification, etc. • Transactional workflows • In between the previous two; may involve humans, require access to heterogeneous, autonomous and/or distributed systems, and support selective use of ACID properties

  16. T1 T2 T3 T4 T5 Workflow Example T1: Customer request obtained T2: Airline reservation performed T3: Hotel reservation performed T4: Auto reservation performed T5: Bill generated Customer Database Customer Database Customer Database

  17. Transactions Provide… • Atomic and reliable execution in the presence of failures • Correct execution in the presence of multiple user accesses • Correct management of replicas(if they support it)

  18. Transaction Processing Issues • Transaction structure (usually called transaction model) • Flat (simple), nested • Internal database consistency • Semantic data control (integrity enforcement) algorithms • Reliability protocols • Atomicity & Durability • Local recovery protocols • Global commit protocols

  19. Transaction Processing Issues • Concurrency control algorithms • How to synchronize concurrent transaction executions (correctness criterion) • Intra-transaction consistency, Isolation • Replica control protocols • How to control the mutual consistencyof replicated data • One copy equivalence and ROWA

  20. Begin_transaction, Read, Write, Commit, Abort Distributed Execution Monitor With other With other TMs SCs Scheduler (SC) To data processor Architecture Revisited Results Transaction Manager (TM) Scheduling/ Descheduling Requests

  21. User Application User Application Centralized Transaction Execution … Begin_Transaction, Read, Write, Abort, EOT Results & User Notifications Transaction Manager (TM) Read, Write, Abort, EOT Results Scheduler (SC) Scheduled Operations Results Recovery Manager (RM)

  22. User application Distributed Transaction Execution Results & User notifications Begin_transaction, Read, Write, EOT, Abort Distributed Transaction Execution Model TM TM Replica Control Protocol Read, Write, EOT, Abort Distributed Concurrency Control Protocol SC SC Local Recovery Protocol RM RM