SlideShare uma empresa Scribd logo
1 de 58
Gegevensbanken 2010 Begrippen van transactieverwerking Bettina Berendt www.cs.kuleuven.be/~berendt
Begrippen van transactieverwerking :  Motivatie & Samenvatting
Waar zijn we? query processing indexing II and higher-dimensional structures Les Nr. wie wat 1 ED intro, ER 2 ED EER 3 ED relational model 4 ED mapping EER2relational 5 KV relational algebra, relational calculus 6 KV SQL 7 KV vervolg SQL 8 KV demo Access, QBE, JDBC 9 KV functional dependencies and normalisation 10 KV functional dependencies and normalisation 11 BB file structures and hashing 12 BB indexing I 13 BB 14 BB 15 BB transactions 16 BB transactions II: concurrentie & herstel 17 BB Data warehousing and mining 18 ED XML, oodb, multimedia db Fysisch model / vragen
Dat willen wij niet! t reserveer! Nog een plaats! U heeft hem U heeft hem reserveer!
Agenda Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL
Agenda Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL
Inleiding tot concurrentie en herstel ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
interleaved - 1 processor simultaneous - 2 processors Interleaved en simultaneous verwerking
Concurrentie ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],Verloren aanpassing T1  T2  lees(X)  X := X-N lees(X) X := X+M schrijf(X) lees(Y) schrijf(X) Y := Y+N schrijf(Y) vb:  X = 84 N = 5 M = 4 resultaat: X = 88 i.p.v. 83
Tijdelijke aanpassing  (dirty read) ,[object Object],[object Object],T1  T2  lees(X)  X := X-N schrijf(X) lees(X) X := X+M schrijf(X) lees(Y) Y := Y+N schrijf(Y) T1 afgebroken    aan X wordt terug de oorspronkelijke  waarde toegekend
Foutieve sommering ,[object Object],[object Object],T1  T3  som := 0 lees(A) som := som+A ... lees(X)  X := X-N schrijf(X) lees(X) som := som+X lees(Y) som := som+Y lees(Y) Y := Y+N schrijf(Y) T3 berekent het totaal aantal reservaties op vluchten terwijl T1 wordt uitgevoerd
Niet herhaalbare lezing  (nonrepeatable read) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Herstel ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mogelijke falingen  die tijdens de uitvoering van een transactie kunnen optreden ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL
Transacties: begrippen ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Lezen en schrijven ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Status van de transactie ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Andere bewerkingen ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Overgangsdiagram tussen de statussen van de uitvoering van een transactie
Systeemlog ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Herstellen na faling ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Commit points  (bindpunten) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bij faling ,[object Object],[object Object],[object Object]
Checkpoints  (controlepunten) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Gewenste eigenschappen van transacties  (“ACID properties”) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL
Transactieroosters  (schedules) ,[object Object],[object Object],[object Object],[object Object]
 
Eigenschappen van transactieroosters ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Herstelbaarheid van roosters ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Voorbeeld T1   T2 read (X) read(X) write(X) read(Y) write(Y) write(X) commit write(Y) commit T1   T2 read (X) write(X) read(X) read(Y) write(X) commit abort T1   T2 read (X) write(X) read(X) read(Y) write(X) write(Y) commit commit T1   T2 read (X) write(X) read(X) read(Y) write(X) write(Y) abort abort schema a schema e schema d schema c herstelbaar, maar wel probleem  van verloren  aanpassing niet herstelbaar, T2 leest item X geschreven door T1,  en commit vooraleer T1 commit, abort van T1 daarna maakt die waarde van X ongeldig  wel herstelbaar: commit van T2 is  uitgesteld tot na commit van T1 wel herstelbaar: indien T1 abort, moet ook T2 een abort uitvoeren
Cascadeloze roosters ,[object Object],[object Object],[object Object],[object Object],[object Object]
Strikte roosters ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
In volgorde van restrictiefheid: herstelbaar – cascadeloos - strikt ,[object Object],[object Object],[object Object]
Agenda Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL
Serialiseren van roosters ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Serialiseerbaarheid ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conflict-equivalentie ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Testen van conflict-serialiseerbaarheid ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],schrijf(X)    lees(X) lees(X)    schrijf(X) schrijf(X)    schrijf(X) i j
Voorbeeld (1)
Voorbeeld (2)
Nog een voorbeeld (1)
Nog een voorbeeld (2)
(roooster E op p. 44)   (roooster F op p. 45)   Nog een voorbeeld (3)
View-equivalentie ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Verschil tussen view-equivalentie en conflict-equivalentie? ,[object Object],[object Object],[object Object],[object Object],T1   T2   T3 read (X) write(X) write(X) write(X) commit commit commit “ blinde” aanpassingen: er gaat geen lezen van X aan vooraf dit rooster is view-serialiseerbaar, want view equivalent met serieel rooster T1 T2 T3 maar het is niet conflict-serialiseerbaar
Voorbeeld van view-equivalente maar niet conflict-equivalente roosters _ T1  T2  T3 ____   X := a schrijf(X) X := b schrijf(X)   lees(X)  X := a schrijf(X) X := c schrijf(X) verplaatsing behoudt view-equivalentie (T2 leest waarde van X geschreven door T3, laatste geschreven waarde van X is geschreven door T3 ) maar niet conflict-equivalentie
In volgorde van restrictiefheid: serieel – conflict-serialiseerbar – view-serialiseerbar ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Testen of verzekeren van serialiseerbarheid ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Agenda Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL
SQL biedt mogelijkheid  om transacties te definiëren ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SQL “serializable” (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SQL “serializable” (2)
Voorbeeld EXEC SQL WHENEVER SQLERROR GOTO UNDO; EXEC SQL SET TRANSACTION READ WRITE DIAGNOSTICS SIZE 5 ISOLATION LEVEL SERIALIZABLE; EXEC SQL INSERT INTO EMPLOYEE (Fname, Lname, Ssn, Dno, Salary)  VALUES('Robert', 'Smith', '991004321', 2, 35000); EXEC SQL UPDATE EMPLOYEE SET Salary = Salary * 1.1 WHERE Dno = 2; EXEC SQL COMMIT; GOTO THE_END; UNDO: EXEC SQL ROLLBACK; THE_END: ...; Een nieuwe rij wordt toegevoegd in de tabel EMPLOYEE daarna worden de salarissen van alle werknemers van dept 2 aangepast Indien ergens een fout optreedt, wordt de hele transactie teruggerold.
Vooruitblik Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL Transacties II: Concurrentie-controle en herstel
Bronnen ,[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Destaque

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destaque (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Gegevensbanken 2010 les15

  • 1. Gegevensbanken 2010 Begrippen van transactieverwerking Bettina Berendt www.cs.kuleuven.be/~berendt
  • 2. Begrippen van transactieverwerking : Motivatie & Samenvatting
  • 3. Waar zijn we? query processing indexing II and higher-dimensional structures Les Nr. wie wat 1 ED intro, ER 2 ED EER 3 ED relational model 4 ED mapping EER2relational 5 KV relational algebra, relational calculus 6 KV SQL 7 KV vervolg SQL 8 KV demo Access, QBE, JDBC 9 KV functional dependencies and normalisation 10 KV functional dependencies and normalisation 11 BB file structures and hashing 12 BB indexing I 13 BB 14 BB 15 BB transactions 16 BB transactions II: concurrentie & herstel 17 BB Data warehousing and mining 18 ED XML, oodb, multimedia db Fysisch model / vragen
  • 4. Dat willen wij niet! t reserveer! Nog een plaats! U heeft hem U heeft hem reserveer!
  • 5. Agenda Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL
  • 6. Agenda Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL
  • 7.
  • 8. interleaved - 1 processor simultaneous - 2 processors Interleaved en simultaneous verwerking
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. Agenda Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Overgangsdiagram tussen de statussen van de uitvoering van een transactie
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. Agenda Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL
  • 29.
  • 30.  
  • 31.
  • 32.
  • 33. Voorbeeld T1 T2 read (X) read(X) write(X) read(Y) write(Y) write(X) commit write(Y) commit T1 T2 read (X) write(X) read(X) read(Y) write(X) commit abort T1 T2 read (X) write(X) read(X) read(Y) write(X) write(Y) commit commit T1 T2 read (X) write(X) read(X) read(Y) write(X) write(Y) abort abort schema a schema e schema d schema c herstelbaar, maar wel probleem van verloren aanpassing niet herstelbaar, T2 leest item X geschreven door T1, en commit vooraleer T1 commit, abort van T1 daarna maakt die waarde van X ongeldig wel herstelbaar: commit van T2 is uitgesteld tot na commit van T1 wel herstelbaar: indien T1 abort, moet ook T2 een abort uitvoeren
  • 34.
  • 35.
  • 36.
  • 37. Agenda Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL
  • 38.
  • 39.
  • 40.
  • 41.
  • 46. (roooster E op p. 44) (roooster F op p. 45) Nog een voorbeeld (3)
  • 47.
  • 48.
  • 49. Voorbeeld van view-equivalente maar niet conflict-equivalente roosters _ T1 T2 T3 ____ X := a schrijf(X) X := b schrijf(X) lees(X) X := a schrijf(X) X := c schrijf(X) verplaatsing behoudt view-equivalentie (T2 leest waarde van X geschreven door T3, laatste geschreven waarde van X is geschreven door T3 ) maar niet conflict-equivalentie
  • 50.
  • 51.
  • 52. Agenda Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL
  • 53.
  • 54.
  • 56. Voorbeeld EXEC SQL WHENEVER SQLERROR GOTO UNDO; EXEC SQL SET TRANSACTION READ WRITE DIAGNOSTICS SIZE 5 ISOLATION LEVEL SERIALIZABLE; EXEC SQL INSERT INTO EMPLOYEE (Fname, Lname, Ssn, Dno, Salary) VALUES('Robert', 'Smith', '991004321', 2, 35000); EXEC SQL UPDATE EMPLOYEE SET Salary = Salary * 1.1 WHERE Dno = 2; EXEC SQL COMMIT; GOTO THE_END; UNDO: EXEC SQL ROLLBACK; THE_END: ...; Een nieuwe rij wordt toegevoegd in de tabel EMPLOYEE daarna worden de salarissen van alle werknemers van dept 2 aangepast Indien ergens een fout optreedt, wordt de hele transactie teruggerold.
  • 57. Vooruitblik Inleiding tot concurrentie en herstel Transacties: begrippen Transactieroosters Serialiseren van roosters Transacties in SQL Transacties II: Concurrentie-controle en herstel
  • 58.

Notas do Editor

  1. http://a1.phobos.apple.com/us/r1000/036/Purple/b8/86/d6/mzl.wdgryvsi.320x480-75.jpg