Presentation is loading. Please wait.

Presentation is loading. Please wait.

LeongHW, SOC, NUS (UIT2201:3 Database) Page 1 Copyright © 2007-9 by Leong Hon Wai Database – Info Storage and Retrieval  Aim: Understand basics of  Info.

Similar presentations


Presentation on theme: "LeongHW, SOC, NUS (UIT2201:3 Database) Page 1 Copyright © 2007-9 by Leong Hon Wai Database – Info Storage and Retrieval  Aim: Understand basics of  Info."— Presentation transcript:

1 LeongHW, SOC, NUS (UIT2201:3 Database) Page 1 Copyright © 2007-9 by Leong Hon Wai Database – Info Storage and Retrieval  Aim: Understand basics of  Info storage and Retrieval;  Database Organization;  DBMS, Query and Query Processing;  Work some simple exercises;  Concurrency Issues (in Database)  Readings:  [SG] --- Ch 13.3  Optional:  Some experiences with MySQL, Access

2 LeongHW, SOC, NUS (UIT2201:3 Database) Page 2 Copyright © 2007-9 by Leong Hon Wai Coffee Awards in UIT2201 Coffee awards goes to  interesting, creative things done in tutorials,  good attempt on A-problems,  interesting suggestions or comments in class  Claim them anytime  Just email me  To get a coffee and chat

3 LeongHW, SOC, NUS (UIT2201:3 Database) Page 3 Copyright © 2007-9 by Leong Hon Wai Concurrency Issues  Concurrency  When 2 processes access S at the same time!  Can cause all kinds of problems  Important issue in all areas  Illustrate with concurrency issue in database  Readings for Concurrency Issues  Record Locking – Wikipedia u http://en.wikipedia.org/wiki/Record_locking  Read [SG3] Section 6.4.1 (pp. 268--272) u Efficient Allocation and Safe Use of Resources

4 LeongHW, SOC, NUS (UIT2201:3 Database) Page 4 Copyright © 2007-9 by Leong Hon Wai Concurrency Issue: Example  Bank account info: Withdraw-P (amt); begin check balance; bal  bal - amt; end; Deposit-P (amt); begin check balance; bal  bal + amt; end;  Deposit and Withdrawal Processes B ANK -A CCOUNT-DB Account #NameBalanceOther Info… 2201-1022Albert Bank5000…

5 LeongHW, SOC, NUS (UIT2201:3 Database) Page 5 Copyright © 2007-9 by Leong Hon Wai Normal Operations (1/2) Bank-Account-DB 2201-1022 5000 Withdraw-P(1000);Deposit-P(2000); TWTW TDTD Time Withdraw-P(1000) Deposit(2000) Balance TWTW Check balance [5000]5000 T W +1Bal  Bal – 10004000... 4000 TDTD Check balance [4000]4000 T D +1Bal  Bal + 20006000 If (T W < T D ), then Correct balance

6 LeongHW, SOC, NUS (UIT2201:3 Database) Page 6 Copyright © 2007-9 by Leong Hon Wai Normal Operations (2/2) Bank-Account-DB 2201-1022 5000 Withdraw-P(1000);Deposit-P(2000); TWTW TDTD Time Withdraw-P(1000) Deposit(2000) Balance TDTD Check balance [5000]5000 T D +1Bal  Bal + 20007000... 7000 TWTW Check balance [7000]7000 T W +1Bal  Bal – 10006000 If (T W > T D ), then Correct balance

7 LeongHW, SOC, NUS (UIT2201:3 Database) Page 7 Copyright © 2007-9 by Leong Hon Wai Concurrency Issue (1/4) But… What if two processes accesses the same database record at the same time?  Which process get access first?  Does it matter?

8 LeongHW, SOC, NUS (UIT2201:3 Database) Page 8 Copyright © 2007-9 by Leong Hon Wai Concurrency Problem (2/4) Bank-Account-DB 2201-1022 5000 Withdraw-P(1000);Deposit-P(2000); TWTW TDTD Time Withdraw-P(1000) Deposit(2000) Balance TDTD Check balance [5000]5000 T D +1Check balance [5000]5000 T D +2 Bal  Bal + 20007000 T D +3Bal  Bal – 10004000 If (T W = T D ), and Deposit-process “got in” first Wrong balance

9 LeongHW, SOC, NUS (UIT2201:3 Database) Page 9 Copyright © 2007-9 by Leong Hon Wai Concurrency Problem (2/3) Bank-Account-DB 2201-1022 5000 Withdraw-P(1000);Deposit-P(2000); TWTW TDTD Time Withdraw-P(1000) Deposit(2000) Balance TWTW Check balance [5000]5000 T W +1 Check balance [5000]5000 T W +2Bal  Bal – 10004000 T W +3Bal  Bal + 20007000 If (T W = T D ), and Withdraw-process “got in” first Wrong balance

10 LeongHW, SOC, NUS (UIT2201:3 Database) Page 10 Copyright © 2007-9 by Leong Hon Wai Concurrency Problem (3/3)  Operations of the two processes are interleaved  Withdraw-Process and Deposit-Process “interfere” with each other  Wrong balance for both cases  Since one of the operations is over-written

11 LeongHW, SOC, NUS (UIT2201:3 Database) Page 11 Copyright © 2007-9 by Leong Hon Wai Concurrency Solution: Lock operation IDEA: If one process P is changing balance, make sure that other processes do not access the same balance until P is done Solution: The process that “get-in” first, locks up the record. This makes sure other processes will not be to access the same record. Unlock the record after update is done.

12 LeongHW, SOC, NUS (UIT2201:3 Database) Page 12 Copyright © 2007-9 by Leong Hon Wai Concurrency Solution: (2/4) Withdraw-P (amt); begin Get & lock record; bal  bal - amt; unlock record; end; Deposit-P (amt); begin Get & lock record; bal  bal + amt; unlock record; end;  Deposit and Withdrawal Processes Bank-Account-DB 2201-1022 5000

13 LeongHW, SOC, NUS (UIT2201:3 Database) Page 13 Copyright © 2007-9 by Leong Hon Wai Concurrency Solution: (3/4) Bank-Account-DB 2201-1022 5000 Withdraw-P(1000);Deposit-P(2000); TWTW TDTD Time Withdraw-P(1000) Deposit(2000) Balance TWTW Get & Lock record;5000 T W +1 Get...; [blocked]5000 T W +2Bal  Bal – 1000; Unlock record; 4000 T W +3Get & Lock record;4000 T W +4Bal  Bal + 2000; Unlock record; 6000 If (T W = T D ), and Withdraw-process “got in” first

14 LeongHW, SOC, NUS (UIT2201:3 Database) Page 14 Copyright © 2007-9 by Leong Hon Wai Concurrency Solution: (4/4) Bank-Account-DB 2201-1022 5000 Withdraw-P(1000);Deposit-P(2000); TWTW TDTD Time Withdraw-P(1000) Deposit(2000) Balance TWTW Get & Lock record;5000 T W +1Get...; [blocked]5000 T W +2Bal  Bal + 2000; Unlock record; 7000 T W +3Get & Lock record;7000 T W +4Bal  Bal – 1000; Unlock record; 6000 If (T W = T D ), and Deposit-process “got in” first

15 LeongHW, SOC, NUS (UIT2201:3 Database) Page 15 Copyright © 2007-9 by Leong Hon Wai … Case Study: The ATM Machine

16 LeongHW, SOC, NUS (UIT2201:3 Database) Page 16 Copyright © 2007-9 by Leong Hon Wai Simple ATM Scenario (1 of 2) Bank User ATM Machine Bank HQ Inserts ATM card Prompt for PIN # Enter the PIN # Send encoded Acct #, PIN # Send encoded Verified Msg Display Options Choose (Withdraw $100) [Verifies A/C # & Pin #] [Reads card] [encode] network

17 LeongHW, SOC, NUS (UIT2201:3 Database) Page 17 Copyright © 2007-9 by Leong Hon Wai Simple ATM Scenario (2 of 2) Bank User ATM Machine Bank HQ [Verifies balance] [Deduct $100] User collects $100 Send request (W,100) Send Verified Msg Display and Print new Bal Chooses (Withdraw $100) [Counts out $100] Send ack of withdrawal [encode] network

18 LeongHW, SOC, NUS (UIT2201:3 Database) Page 18 Copyright © 2007-9 by Leong Hon Wai … What if something goes wrong?

19 LeongHW, SOC, NUS (UIT2201:3 Database) Page 19 Copyright © 2007-9 by Leong Hon Wai Simple ATM Scenario: Malfunction Bank User ATM Machine Bank HQ Inserts ATM card Prompt for PIN # Enter the PIN # Send encoded Acct #, PIN # Send encoded Verified Msg Display Options Choose (Withdraw $100) [Verifies A/C # & Pin #] [Reads card] [encode] network What if something goes wrong?

20 LeongHW, SOC, NUS (UIT2201:3 Database) Page 20 Copyright © 2007-9 by Leong Hon Wai Simple ATM Scenario: Malfunction… Bank User ATM Machine Bank HQ [Verifies balance] [Deduct $100] User collects $100 Send request (W,100) Send Verified Msg Display and Print new Bal Chooses (Withdraw $100) [Counts out $100] Send ack of withdrawal [encode] network What if something goes wrong?

21 LeongHW, SOC, NUS (UIT2201:3 Database) Page 21 Copyright © 2007-9 by Leong Hon Wai Actually, no technical solution…

22 LeongHW, SOC, NUS (UIT2201:3 Database) Page 22 Copyright © 2007-9 by Leong Hon Wai What to modify/add for future…  Value added Services:  Data Mining – frequent patterns  Targeted marketing (Database marketing)  Credit-card fraud,  Handphone acct churning analysis

23 LeongHW, SOC, NUS (UIT2201:3 Database) Page 23 Copyright © 2007-9 by Leong Hon Wai Topic Summary: Database  Databases: what they are, organization, etc  Database Query:  How query is processed “under the hood”  3 basic DB primitives  Impetus for “Declarative Style of Query”  Concurrency Issues in Databases  How to deal with Concurrency  The ATM Case Study  Database Applications…

24 LeongHW, SOC, NUS (UIT2201:3 Database) Page 24 Copyright © 2007-9 by Leong Hon Wai Thank you!

25 LeongHW, SOC, NUS (UIT2201:3 Database) Page 25 Copyright © 2007-9 by Leong Hon Wai


Download ppt "LeongHW, SOC, NUS (UIT2201:3 Database) Page 1 Copyright © 2007-9 by Leong Hon Wai Database – Info Storage and Retrieval  Aim: Understand basics of  Info."

Similar presentations


Ads by Google