Download presentation
Presentation is loading. Please wait.
1
Databases & Consistency
2
Database Relational databases : dominant information storage/retrieval system
3
Activity…
4
Consistency Consistent : no contradictions
5
Consistency Inconsistent : contradictions
6
How Do we Become Inconsistent?
Only one row can be saved at a time… Make Rosina and Jingyi friends
7
How Do we Become Inconsistent?
Only one row can be saved at a time… Make Rosina and Jingyi friends
8
How Do we Become Inconsistent?
Only one row can be saved at a time… Make Rosina and Jingyi friends CRASH!!!!
9
Even Worse
10
Concurrency Issues Concurrency : two things happening at the same time
Many things are hard to share: Printers Shared memory
11
Concurrency Issues Race Condition : unpredictable result based on timing of concurrent operations
12
Concurrency Issues X starts as 5, 3 possible answers: Case 1 Case 2
A runs, x = 15 B runs, x =16 B runs, x = 6 A runs, x = 16 A gets x (5) B gets x (5) A adds 10 (has 15) B adds 1 (has 6) A stores x = 15 B stores x = 6 B gets x (5) A adds 10 (has 15) B adds 1 (has 6) B stores x = 6 A stores x = 15
13
Locks Can prevent concurrency problems with locks:
14
Atomicity Transaction must LOCK all rows it will modify before starting Want to transfer money from Marie to Pedro
15
Deadlock Workers A and B both want to use locked resources X and Y:
16
Deadlock Busting Database can resolve: Roll back one transaction
Give up its locks Make it restart AFTER other is complete
17
To Do List Trick Make a list of what you intend to do and save it:
18
To Do List Trick Make a list of what you intend to do and save it:
19
To Do List Trick Make a list of what you intend to do and save it:
20
To Do List Trick Delete list when you are done:
21
To Do List Trick A crash…
22
Idempotent Idempotent action : same effect no matter how many times you execute it "Change checking balance to $600" Non-idempotent "Subtract $200 from checking"
23
To Do List If every instruction is:
Idempotent Reversible : Know how to restore original state Can resume or reverse any partial transaction
24
Atomicity Atomic operation : indivisible / one unit
Never see results of half done transaction
25
Transactional Memory Current research area : Design regular software with transactional memory interactions
26
Replication Databases must be replicated
Redundancy Speed Copies must remain consistent on the fly
27
Prepare Then Commit Trick
Master DB initiates transaction
28
Prepare Then Commit Trick
Master DB initiates transaction Asks each other DB to do same… waits for OK Prepare
29
Prepare Then Commit Trick
Master DB initiates transaction Asks each other DB to do same… waits for OK Prepare Once everyone complete, sends signal to end transaction Commit
30
Prepare Then Commit Trick
Master DB initiates transaction Asks each other DB to do same… waits for OK ERROR
31
Prepare Then Commit Trick
Master DB initiates transaction Asks each other DB to do same… waits for OK ERROR Rollback instead of committing
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.