Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner.

Similar presentations


Presentation on theme: "Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner."— Presentation transcript:

1 cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner

2 cs4432recovery2 Transactions, etc. Crash recovery Ch.8 [17] Concurrency control Ch.9 [18] Transaction processing Ch.10 [19]

3 cs4432recovery3 All about Project 3.

4 cs4432recovery4 Integrity or correctness of data ? We would like data in our database to be “accurate” ( “correct” ) at all times. EMP How DBMS decides if data is consistent? Name White Green Gray Age 52 3421 1

5 cs4432recovery5 Integrity or consistency constraints Utilize predicates data must satisfy Examples: - x is key of relation R - x  y holds in R - Domain(x) = {Red, Blue, Green}  is valid index for attribute x of R - no employee should make more than twice the average salary

6 cs4432recovery6 Definitions: Consistent state: satisfies all constraints Consistent DB: DB in consistent state

7 cs4432recovery7 Such Constraints may not capture “full correctness” Example 1 : Transaction constraints When salary is updated, new salary > old salary When account record is deleted, balance = 0

8 cs4432recovery8 Example 2 Database should reflect real world DB Reality Constraints ( as we use here) may not capture “full correctness”

9 cs4432recovery9  in any case, continue with constraints... Observation: DB cannot be consistent always Example: Constraint : a 1 + a 2 +…. a n = TOT Action: Deposit $100 in a 2 : a 2  a 2 + 100 TOT  TOT + 100

10 cs4432recovery10 a 2 TOT.... 50.... 1000.... 150.... 1000.... 150.... 1100 Example: a 1 + a 2 +…. a n = TOT ( constraint ) Deposit $100 in a 2 : a 2  a 2 + 100 TOT  TOT + 100

11 cs4432recovery11 Transaction: a collection of actions that preserve consistency Consistent DBConsistent DB’ T

12 cs4432recovery12 Big assumption: If T starts with consistent state AND T executes in isolation  T leaves consistent state

13 cs4432recovery13 Correctness (informally) If we stop running transaction(s), DB left consistent Each transaction sees a consistent DB

14 cs4432recovery14 How can constraints be violated? Transaction bug DBMS bug Hardware failure e.g., disk crash alters balance of account Data sharing e.g.: T1: give 10% raise to programmers T2: change programmers  systems analysts

15 cs4432recovery15 Will not consider: How to write correct transactions How to write correct DBMS system Constraint checking & repair

16 cs4432recovery16 How can we prevent/fix violations? Chapter 8[17]: due to failures only Chapter 9[18]: due to data sharing only Chapter 10[19]: due to failures and sharing

17 cs4432recovery17 Chapter 8 [17]: Recovery First : Failure Model

18 cs4432recovery18 Events Desired Undesired Expected Unexpected

19 cs4432recovery19 Our failure model processor memory disk CPU M D

20 cs4432recovery20 Desired events: see product manuals…. Undesired expected events: System crash - memory lost - cpu halts, resets Undesired Unexpected: Everything else! that’s it!!

21 cs4432recovery21 Examples: Disk data is lost Memory lost without CPU halt CPU implodes wiping out universe…. You name it … Undesired Unexpected: Everything else!

22 cs4432recovery22 Is this model reasonable? Approach: Add low level checks + redundancy to increase probability that model holds E.g., Replicate disk storage (stable store) Memory parity CPU checks


Download ppt "Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner."

Similar presentations


Ads by Google