cs4432recovery1 cs4432: database systems ii lecture #19 database consistency and violations?...
Post on 21-Dec-2015
230 views
TRANSCRIPT
![Page 1: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/1.jpg)
cs4432 recovery 1
CS4432: Database Systems IILecture #19
Database Consistency and Violations?
Professor Elke A. Rundensteiner
![Page 2: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/2.jpg)
cs4432 recovery 2
Transactions, etc.
• Crash recovery Ch.8 [17]• Concurrency control Ch.9 [18]• Transaction processing Ch.10 [19]
![Page 3: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/3.jpg)
cs4432 recovery 3
All about Project 3.
![Page 4: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/4.jpg)
cs4432 recovery 4
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
WhiteGreenGray
Age
523421
1
![Page 5: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/5.jpg)
cs4432 recovery 5
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
![Page 6: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/6.jpg)
cs4432 recovery 6
Definitions:
• Consistent state: satisfies all constraints
• Consistent DB: DB in consistent state
![Page 7: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/7.jpg)
cs4432 recovery 7
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
![Page 8: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/8.jpg)
cs4432 recovery 8
Example 2 Database should reflect real world
DBReality
Constraints (as we use here) may not capture “full
correctness”
![Page 9: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/9.jpg)
cs4432 recovery 9
in any case, continue with constraints...
Observation: DB cannot be consistent always
Example: Constraint : a1 + a2 +…. an = TOT Action:
Deposit $100 in a2: a2 a2 + 100TOT TOT + 100
![Page 10: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/10.jpg)
cs4432 recovery 10
a2
TOT
.
.50
.
.1000
.
.150
.
.1000
.
.150
.
.1100
Example: a1 + a2 +…. an = TOT (constraint)Deposit $100 in a2: a2 a2 + 100
TOT TOT + 100
![Page 11: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/11.jpg)
cs4432 recovery 11
Transaction: a collection of actions
that preserve consistency
Consistent DB Consistent DB’T
![Page 12: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/12.jpg)
cs4432 recovery 12
Big assumption:
If T starts with consistent state ANDT executes in isolation
T leaves consistent state
![Page 13: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/13.jpg)
cs4432 recovery 13
Correctness (informally)
• If we stop running transaction(s),DB left consistent
• Each transaction sees a consistent DB
![Page 14: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/14.jpg)
cs4432 recovery 14
How can constraints be violated?
• Transaction bug• DBMS bug• Hardware failure
e.g., disk crash alters balance of account
• Data sharinge.g.: T1: give 10% raise to programmers
T2: change programmers systems analysts
![Page 15: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/15.jpg)
cs4432 recovery 15
Will not consider:
• How to write correct transactions• How to write correct DBMS system• Constraint checking & repair
![Page 16: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/16.jpg)
cs4432 recovery 16
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
![Page 17: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/17.jpg)
cs4432 recovery 17
Chapter 8 [17]: Recovery
• First : Failure Model
![Page 18: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/18.jpg)
cs4432 recovery 18
Events Desired Undesired Expected
Unexpected
![Page 19: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/19.jpg)
cs4432 recovery 19
Our failure model
processor
memory disk
CPU
M D
![Page 20: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/20.jpg)
cs4432 recovery 20
Desired events: see product manuals….
Undesired expected events:System crash
- memory lost- cpu halts, resets
Undesired Unexpected: Everything else!
that’s it!!
![Page 21: Cs4432recovery1 CS4432: Database Systems II Lecture #19 Database Consistency and Violations? Professor Elke A. Rundensteiner](https://reader036.vdocuments.mx/reader036/viewer/2022081515/56649d5d5503460f94a3c082/html5/thumbnails/21.jpg)
cs4432 recovery 21
Examples:• Disk data is lost• Memory lost without CPU halt• CPU implodes wiping out
universe….• You name it …
Undesired Unexpected: Everything else!