INF3100 – Databasesystemer Systemfeil og logging Basert på lysark laget av Hector Garcia-Molina Oversatt og bearbeidet av Ragnar Normann.

Slides:



Advertisements
Liknende presentasjoner
12.Studienreise nach Finnland,
Advertisements

Barns utvikling av algoritmer. (Fra Marit Johnsen Høines)
Kvinner og politikk Kvinnelig valgmobilisering i Nord-Norge: Glasstak eller etterslep? Marcus Buck.
Hans Olav Norheim
Etablering av effektiv produksjon på tvers av landegrenser
Når matematikk blir magisk
4 Bruk øynene riktig.
Litt mer om PRIMTALL.
Ti måter å ødelegge en CT-undersøkelse av halsen på
Hjemmeoppgave 1: Å høre etter NAVN: ……………………………….. DATO: ……………………….
Agresso Tips Milestone 3 i Agresso Årsavslutning med ny anleggsmodul.
Grafisk design Visuell kommunikasjon
Velkommen som spiller i aksjespillet.
Sunndalsøra Registertjenester Per Ivar Larsen Sugar
Teknologi for et bedre samfunn 1 Asbjørn Følstad, SINTEF Det Digitale Trøndelag (DDT) Brukervennlig digitalisering av offentlig sektor.
Et bekymringsløst liv – er det mulig? Matteus 6,23-34
Egenskaper til stoff og tidsbegrep: En modell for aspekt i russisk Laura A. Janda UNC-Chapel Hill/University of Tromsø
Kontrollstrukturer (Kapittel 3)
7. Fysisk arbeidsmiljø Jeg er fornøyd med den ergonomiske utformingen av arbeidsplassen min Jeg er fornøyd med inneklimaet på arbeidsplassen.
1 Arbeidssted, bruk av fasiliteter og - mengde 5.
Hobro februar 2010 Kurs om elektrokjemisk tæring
23 Finn ligningen for det planet  som inneholder linja
Møre og Romsdal. 2 Ligger det et bedehus eller et kristelig forsamlingshus (ikke kirke) i nærheten av der du bor? (n=502) i prosent.
NRKs Profilundersøkelse NRK Analyse. Om undersøkelsen • NRK Analyse har siden 1995 gjennomført en undersøkelse av profilen eller omdømmet til NRK.
:50 Evaluering Lysvåken i Bergen domkirke menighet 1 Svarlogg.
Øvingsforelesning 9 Flytnettverk, maksimum flyt og maksimum bipartitt matching Jon Marius Venstad Redigert og forelest av Gleb Sizov.
2. Planter. Del 1 (1–4). Nivå 2. Side 19–24
Fra forelesningene om involveringspedagogikk Et utviklingsarbeid Philip Dammen Manuset er under arbeid.
Gjenfinningssystemer og verktøy II
Kapittel 14 Simulering.
Forelesningsnotater SIF8039/ Grafisk databehandling
Øvingsforelesning 9 Flytnettverk, maksimum flyt og
Kompleksitetsanalyse
P-MP modeller. LOG530 Distribusjonsplanlegging 2 2 Det skal opprettes p fasiliteter (lager) for å betjene en gitt mengde kunder. Kundenodene er også potensielle.
Kap 06 Diskrete stokastiske variable
Avdeling for mikrobiologi og smittevern
Vokabular barneoppdragelse (m) bleie (f/m) blikk (n) bortskjemt (adj.)
Skriv om slik at setningene betyr omtrent det samme
Kapittel 1, oppgave b) å kaste loss å seile uvær (n) kuling (m)
11 IKT-baserte læremidler Arne Ketil Eidsvik Avd. for lærerutdanning.
SINTEF Teknologi og samfunn PUS-prosjektet Jan Alexander Langlo og Linda C. Hald 1 Foreløpig oppsummering – underlag for diskusjon på PUS-forum
GRØNNALGER BRUNALGER RØDALGER
1 BM-dagen 29.okt BM1 Fysisk miljøplanlegging Studieprogram for Bygg- og miljøteknikk Meny Prosjektoppgaven Arealbruk og befolkning Transport og.
Anvendt statistisk dataanalyse i samfunnsvitenskap
1.Blir Gud æret gjennom det? 1Kor 10:31 2.Kommer jeg til å skamme meg over å gjøre dette når Herren kommer tilbake? 1Joh 2:28 3.Er det ”av verden”?Joh.
Eiendomsmeglerbransjens boligprisstatistikk Oktober 2010
Eiendomsmeglerbransjens boligprisstatistikk Juni 2010 Norges Eiendomsmeglerforbund og Eiendomsmeglerforetakenes Forening ECON Poyry og FINN.
Eiendomsmeglerbransjens boligprisstatistikk Februar 2011 Norges Eiendomsmeglerforbund og Eiendomsmeglerforetakenes Forening ECON Poyry og FINN.
Andre funksjoner. Her kommer en beskrivelse av søkefunksjoner, knapper og annen funksjonalitet. 2.
Velkommen! 4/4/2017.
Virksomhetsrapport Oktober Innhold 1. Oppsummering 2. Hovedmål 3. Pasient 5. Aktivitet 4. Bemanning 6. Økonomi 7. Klinikker 2.
En oversikt over personopplysningsloven Dag Wiese Schartum, AFIN.
Avlevering i praksis KDRS-samling
Sett inn preposisjoner eller adverb som passer
INF3100 – – Ellen Munthe-Kaas Indeksering UNIVERSITETET I OSLO © Institutt for Informatikk Utvalgte animerte lysark: lysark nr. 7, 8, 9, 10,
Samhandling og informasjon Kunnskaps- utvikling og refleksjon Menings- danning og over- talelse Skrive- kompetanser Handlinger og formål Kunn- skaps- lagring.
Eksempel: Sletting ved tynn indeks Slett post med a = 60 –Ingen endring nødvendig i indeksen. Slett post med a = 40 –Den første posten i blokken er blitt.
Jæger: Robuste og sikre systemer INF150 Programmering Kapittel 2: Problemløsning Kapittel 3.1 og 3.2.
Inflation og produktion 11. Makroøkonomi Teori og beskrivelse 4.udg. © Limedesign
Virksomhetsrapport August Innhold 1. Oppsummering 2. Hovedmål 3. Pasient 5. Aktivitet 4. Bemanning 6. Økonomi 7. Klinikker 2.
1 Trivsel Utvalg Trives svært godt Trives godt Trives litt Trives ikke noe særlig Trives ikke i det hele tatt Snitt Trivsel Brannfjell skole (Høst 2014)
Dagligbankundersøkelsen Fakta Dagligbankundersøkelsen intervju Befolkning 15 år + TNS Gallup Ansvarlig for grafene Bente Pettersen Roar.
Veivalgsanalyse etter Sørlandsmesterskapet i lang (klassisk) distanse 2004.
Kapittel 1, oppgave i) Sett inn preposisjoner eller adverb som passer.
Dagligbankundersøkelsen Fakta Dagligbankundersøkelsen intervju Befolkning 15 år + TNS Gallup Forfatter Bente Pettersen Roar Thorvaldsen.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Befolkning og arbejdsmarked 7. Mikroøkonomi Teori og beskrivelse © Limedesign
Sett inn preposisjoner eller adverb som passer.
INF3100 – Databasesystemer Transaksjonshåndtering og samtidighetskontroll Ragnar Normann Mange lysark er basert på en original laget av Hector Garcia-Molina.
Blir velene hørt? Medvirkning i planprosessen i Oslo kommune NIBR-rapport 2011:1 Sosiolog Lillin Knudtzon.
Utskrift av presentasjonen:

INF3100 – Databasesystemer Systemfeil og logging Basert på lysark laget av Hector Garcia-Molina Oversatt og bearbeidet av Ragnar Normann

Ragnar Normann, Ifi, UiO Ark 2 av 47 INF Integritet eller korrekthet av data • Vi ønsker at data alltid skal være riktige og nøyaktige Ansatt NavnAlder Hansen Lie Olsen

Ragnar Normann, Ifi, UiO Ark 3 av 47 INF Integritets- eller konsistensregler • Predikater som data må tilfredsstille • Eksempler • X er nøkkel i relasjonen R • X  Y holder i R • Domain(farge) = {R(ød),G(rønn),B(lå)} • Ingen ansatt får tjene mer enn det dobbelte av gjennomsnittslønnen

Ragnar Normann, Ifi, UiO Ark 4 av 47 INF Definisjoner: • Konsistent tilstand: Tilfredsstiller alle integritetsregler • Konsistent database: Databasen er i en konsistent tilstand

Ragnar Normann, Ifi, UiO Ark 5 av 47 INF • Hver gang lønnen oppdateres, gjelder at ny lønn > gammel lønn • Hver gang en konto-forekomst fjernes, gjelder at kontoens saldo = 0 Integritetsreglene ( som vi virkelig håndhever ) trenger ikke å uttrykke “den fulle sannhet” Eksempel 1 Transaksjonsregler

Ragnar Normann, Ifi, UiO Ark 6 av 47 INF Merk: Det siste eksemplet kan vi “fikse” med enkle midler som å legge til et boolsk attributt: Konto Kto#…saldofjernet?

Ragnar Normann, Ifi, UiO Ark 7 av 47 INF Integritetsreglene ( som vi virkelig håndhever ) trenger ikke å uttrykke “den fulle sannhet” Eksempel 2Databasen bør gjenspeile den virkelige verden DB Virkeligheten

Ragnar Normann, Ifi, UiO Ark 8 av 47 INF uansett, fortsett å bruke integritetsregler … Observasjon: Databaser kan ikke alltid være konsistente Eksempel: a 1 + a 2 + … + a n = total (integritetsregel) Sett inn 1000 kroner på konto a 2 : a 2  a total  total Integritetsregelen er midlertidig brutt

Ragnar Normann, Ifi, UiO Ark 9 av 47 INF Eksempel: a 1 + a 2 + … + a n = total (integritetsregel) Sett inn 1000 kroner på a 2 :a 2  a total  total a2 total : 500 : : 1500 : : 1500 : 11000

Ragnar Normann, Ifi, UiO Ark 10 av 47 INF Transaksjoner En transaksjon er en samling aksjoner som bevarer konsistens Konsistent DB T

Ragnar Normann, Ifi, UiO Ark 11 av 47 INF • Viktig antagelse Hvis T starter i en konsistent tilstand, og T eksekverer alene, så vil T avslutte med å etterlate databasen i en konsistent tilstand • Korrekthet (uformelt): • Hvis vi stopper å utføre transaksjoner, etterlater vi DB i en konsistent tilstand • Alle transaksjoner opplever en konsistent DB

Ragnar Normann, Ifi, UiO Ark 12 av 47 INF Årsaker til inkonsistens og brudd på integritetsreglene • Feil i en transaksjon • Feil i DBMS • Hardware-feil • F.eks.:Et diskkræsj endrer saldo på en konto • Deling av data • F.eks.:T1:Øk lønnen til alle med tittel “programmerer” med 4,5% T2:Forandre Tove Hansens tittel fra “programmerer” til “systemerer”

Ragnar Normann, Ifi, UiO Ark 13 av 47 INF Viktige ting INF3100 ikke omfatter • Hvordan å skrive/programmere feilfrie transaksjoner • Hvordan å skrive/programmere et feilfritt DBMS • Hvordan å kontrollere integritetsreglene i databaseskjemaet og rette opp brudd på dem (Det betyr at de løsningene vi gir på håndtering av feilsituasjoner, ikke trenger å ta hensyn til hvilke integritetsregler som er definert i databaseskjemaet)

Ragnar Normann, Ifi, UiO Ark 14 av 47 INF Gjenoppretting (Recovery) CPUprosessor hukommelse D diskM Første punkt på agendaen: En modell for beskrivelse av feil Del 1: Konfigurasjonsmodellen:

Ragnar Normann, Ifi, UiO Ark 15 av 47 INF Klassifikasjon av hendelser • Ønskede hendelser: Se produkthåndbøkene … • Forventede uønskede hendelser: • Systemkræsj:– tap av hukommelsen – CPUen stopper eller må resettes HendelserØnskede UønskedeForventede Uventede det er det hele! • Uventede uønskede hendelser: Alt annet!

Ragnar Normann, Ifi, UiO Ark 16 av 47 INF Uventede uønskede hendelser: Alt annet! • Diskdata går tapt • Hukommelsen går tapt uten at CPUen stopper Eksempler: • Kapittel 1 i “The Hitch Hiker’s Guide to the Galaxy” viser seg å ikke være Science Fiction likevel …. • CPUen tar kontroll over alle datamaskiner hos Viken Energinett, setter opp spenningen og brenner av alle strømledninger i Oslo og Akershus

Ragnar Normann, Ifi, UiO Ark 17 av 47 INF Et forslag til løsning Strategi:Adder lavnivå kontroller og redundans for å øke sannsynligheten for at modellen holder Eksempler:Replikert disk (stable store) Paritetssjekk av hukommelsen CPU-sjekker

Ragnar Normann, Ifi, UiO Ark 18 av 47 INF Andre punkt på agendaen • Lagringshierarkiet: XX Hukommelse Disk

Ragnar Normann, Ifi, UiO Ark 19 av 47 INF Operasjoner • Read(x,v): utfør, om nødvendig, input(x) v  verdien av x i blokken • Write(x,v): utfør, om nødvendig, input(x) verdien av x i blokken  v • Input(x): diskblokk med x  hukommelsen • Output(x): hukommelsesblokk med x  disk

Ragnar Normann, Ifi, UiO Ark 20 av 47 INF Ufullførte transaksjoner • Dette er hovedproblemet i transaksjonshåndtering • Eksempel:Integritetsregel: A = B T1:A  A  2 B  B  2

Ragnar Normann, Ifi, UiO Ark 21 av 47 INF Ufullførte transaksjoner (forts.) T1:Read(A,t); t  t  2; Write(A,T); Read(A,t); t  t  2; Write(A,T); Output(A); Output(B); A: 8 B: 8 hukommelsedisk feil!

Ragnar Normann, Ifi, UiO Ark 22 av 47 INF Atomisitet • Transaksjoner må være atomære • Dette gir oss bare to muligheter: 1) Å utføre alle operasjonene i transaksjonen eller 2) Å ikke utføre noen av operasjonene i transaksjonen

Ragnar Normann, Ifi, UiO Ark 23 av 47 INF Undo-logging T1:Read(A,t); t  t  2;Invariant: A = B Write(A,t); Read(B,t); t  t  2; Write(B,t); Output(A); Output(B); hukommelse A:8 B:8 disk logg

Ragnar Normann, Ifi, UiO Ark 24 av 47 INF Undo-logging (forts.) • Loggen skrives i hukommelsen før den skrives til disk • Loggen skrives ikke til disk for hver enkeltoperasjon En kompliserende faktor: hukommelse Buffer: A: 8 16 B: 8 16 Logg: database A: 8 B: 8 16 ULOVLIG TILSTAND # 1 logg

Ragnar Normann, Ifi, UiO Ark 25 av 47 INF Undo-logging (forts.) • Loggen skrives i hukommelsen før den skrives til disk • Loggen skrives ikke til disk for hver enkeltoperasjon En kompliserende faktor: database logg A: 8 B: 8 16 ULOVLIG TILSTAND # 2 hukommelse Buffer: A: 8 16 B: 8 16 Logg:

Ragnar Normann, Ifi, UiO Ark 26 av 47 INF Undo-logging (forts.) • Regler for undo-logging: 1) For hver skriveoperasjon write(X,v): Skriv en linje i loggen som inneholder den gamle verdien av X 2) Før X endres på disken, må alle logglinjer som gjelder X, være skrevet til disk (Strategi: Skriv først til logg, så til disk) 3) Før commit kan skrives i loggen, må alle skriveoperasjonene i transaksjonen være overført til disken • Strategi: Alt må oppdateres før commit

Ragnar Normann, Ifi, UiO Ark 27 av 47 INF Undo-logging (forts.) • Algoritme for gjenoppretting : 1) Sett S = mengden av transaksjoner T i hvor, men hverken eller finnes i loggen 2) Les loggen i bakvendt orden (fra sist til først). For hver i loggen: Hvis T i  S så write(X,v) output(X) 3) For hver T i  S: Skriv i loggen

Ragnar Normann, Ifi, UiO Ark 28 av 47 INF Undo-logging (forts.) • Hva hvis det skjer en feil under gjenoppretting? • Ikke noe problem! Undo er idempotent (Det betyr at å gjøre undo mange ganger gir samme resultat som å gjøre undo én gang)

Ragnar Normann, Ifi, UiO Ark 29 av 47 INF Redo-logging T1:Read(A,t); t  t  2;Invariant: A = B Write(A,t); Read(B,t); t  t  2; Write(B,t); Output(A); Output(B); hukommelse A:8 B:8 disk logg output

Ragnar Normann, Ifi, UiO Ark 30 av 47 INF Redo-logging (forts.) • Regler for redo-logging: 1) For hver skriveoperasjon write(X,v): Skriv en linje i loggen som inneholder den nye verdien av X 2) Flush loggen (dvs. skriv loggen til disk) ved commit 3) Før X endres på disken, må alle logglinjer som gjelder X (inklusiv commit), være skrevet til disk • Strategi: Skriv ikke til disk før loggen er ferdigskrevet

Ragnar Normann, Ifi, UiO Ark 31 av 47 INF Redo-logging (forts.) • Algoritme for gjenoppretting : 1) Sett S = mengden av transaksjoner T i hvor finnes i loggen 2) Les loggen forlengs (fra først til sist). For hver i loggen: Hvis T i  S så write(X,v) output(X) ikke nødvendig

Ragnar Normann, Ifi, UiO Ark 32 av 47 INF Redo-logging (forts.) • Med tiden blir gjenoppretting en TREG prosess Redo-logg: FørsteT1 skrev A,BSiste loggpostCommitted for et år sidenloggpost (1 år gammel)--> LIKEVEL, må gjøre redo etter kræsj!!... Kræsj

Ragnar Normann, Ifi, UiO Ark 33 av 47 INF Redo-logging (forts.) 1) Stans start av nye transaksjoner 2) Vent til alle transaksjoner har avsluttet 3) Skriv alle loggposter til disk (flush loggen) 4) Skriv alle buffere til disk (DB) (behold dem i hukommelsen) 5) Skriv en sjekkpunkt-post til disk (i loggen) 6) Gjenoppta transaksjonsbehandlingen Løsning: Sjekkpunkt (enkel versjon) Utfør regelmessig:

Ragnar Normann, Ifi, UiO Ark 34 av 47 INF Redo-logging (forts.) Eksempel: Hva må gjøres ved gjenoppretting? Redo-logg (disk): Checkpoint Kræsj...

Ragnar Normann, Ifi, UiO Ark 35 av 47 INF Undo- vs redo-logging • Hovedproblemene med de to strategiene er: • Undo-logging:Vi kan ikke holde en backup-DB oppdatert til enhver tid • Redo-logging:Vi må holde alle oppdaterte blokker i hukommelsen helt til commit (og litt til)

Ragnar Normann, Ifi, UiO Ark 36 av 47 INF Undo- vs redo-logging (forts.) • Løsningen er:Undo/redo-logging • For alle skriveoperasjoner skriver vi i loggen: • I en undo/redo-logg er X alltid en hel blokk (page) (Det er for å unngå problemer som at A og B ligger i samme blokk og blir oppdatert av hver sin transaksjon, og så comitter den ene av transaksjonene. Da både skal og skal ikke blokken skrives til disk.)

Ragnar Normann, Ifi, UiO Ark 37 av 47 INF Undo/redo-logging • Regler for undo/redo-logging: 1) Ingen skriveoperasjon write(X,v) får utføres før transaksjonen vet at den ikke må abortere 2) For hver write(X,v) (der X er en blokk): Skriv en linje (post) i loggen som inneholder både den gamle og den nye verdien av X 3) Skriv loggposten til disk før X oppdateres i DB 4) Flush loggen ved commit • Merk:Blokken X kan skrives til disk både før og etter at transaksjonen committer. De eneste kravene som må oppfylles før X skrives, er punkt 1 og 3 ovenfor

Ragnar Normann, Ifi, UiO Ark 38 av 47 INF Ikke-passiviserende sjekkpunkt L O G for alle undoendrede bufferblokker flushes Start-sjkpt aktive T-er: T 1,T 2,... slutt sjkpt... Sjekkpunkt som ikke hindrer start av nye transaksjoner: Sjekkpunktet er slutt når alle endrede bufferblokker er skrevet til disk. Loggen flushes både ved start og stopp

Ragnar Normann, Ifi, UiO Ark 39 av 47 INF Ikke-passiviserende sjekkpunkt (forts.) Eksempel: Hva gjøres ved gjenoppretting? T 1,- a... sjkpt T 1... sjkpt slutt... T1-bT1-b LOGGLOGG T 1 har ikke gjort commit  Undo T 1 (undo a,b) Husk:Undo tas bakfra frem til starten av eldste ikke-comittede transaksjon kræsj...

Ragnar Normann, Ifi, UiO Ark 40 av 47 INF Ikke-passiviserende sjekkpunkt (forts.) Eksempel: Hva gjøres ved gjenoppretting? (forts.) LOGGLOGG  Redo T 1 (redo b,c) Husk: Redo tas forfra fra siste sjekkpunkt-start kræsj... T1aT1a T1bT1b T1cT1c T 1 cmt... sjkpt- slutt sjkpt-s T 1 T 1 har gjort commit

Ragnar Normann, Ifi, UiO Ark 41 av 47 INF Undo/redo-gjenopprettingsprosessen • Bakoverløp (fra loggslutt til siste start sjekkpunkt): • bygg opp en mengde S av committede transaksjoner • gjør Undo på alle operasjoner gjort av transaksjoner som ikke er i S • Oppryddingsfase (foran siste start sjekkpunkt): • gjør Undo på resten av operasjonene gjort av de transaksjonene i sjekkpunktets aktiv-liste som ikke er i S • Fremoverløp (fra siste start sjekkpunkt til loggslutt): • gjør Redo på operasjonene gjort av transaksjonene i S bakoverløp fremoverløp start sjekk- punkt

Ragnar Normann, Ifi, UiO Ark 42 av 47 INF Fysiske hendelser Eksempel: Uttak av penger i en bankautomat T i = a 1 a 2 …… a j …… a n kontantuttak Løsning: 1)utfør fysiske operasjoner etter commit 2)prøv å gjøre fysiske operasjoner idempotente

Ragnar Normann, Ifi, UiO Ark 43 av 47 INF Håndtering av fysiske feil Eksempel:Diskkræsj eller lignende ødeleggelse av et permanent datalagringsmedium A: 17 Løsning:Lag kopier av data!

Ragnar Normann, Ifi, UiO Ark 44 av 47 INF Håndtering av fysiske feil (forts.) • Ha tre kopier på hver sin disk • Output(X)  tre fysiske output(X) • Input(X)  tre fysiske input(X) + votering Forslag 1: Fysisk trippel-lagring av alle data X1X2X3

Ragnar Normann, Ifi, UiO Ark 45 av 47 INF Håndtering av fysiske feil (forts.) • Ha N kopier på hver sin disk • Output(X)  N fysiske output(X) • Input(X)  en fysisk input(X) – hvis OK, ferdig – ellers, prøv en annen Forslag 2: Redundant skriving, enkel lesning Strategien forutsetter at korrupte data kan oppdages

Ragnar Normann, Ifi, UiO Ark 46 av 47 INF Håndtering av fysiske feil (forts.) • Hvis den aktive databasen går tapt, så • kopier backupdatabasen til en ny aktiv database • bruk redo-dataene i loggen til å gjøre databasen up-to-date Forslag 3: Dump av DB + logg backup- database aktiv database logg

Ragnar Normann, Ifi, UiO Ark 47 av 47 INF Sletting av loggfilen sjekk- punkt db dump siste behov for undo trengs ikke for gjenoppretting av media trengs ikke for undo etter systemfeil trengs ikke for redo etter systemfeil logg tidsakse