Parallelle og distribuerte databaser del I
|
|
|
- Patrick Thorvaldsen
- 9 år siden
- Visninger:
Transkript
1 UNIVERSITETET I OSLO Parallelle og distribuerte databaser del I Databaser på parallellmaskiner; map-reduce Distribuerte databaser Distribusjonsmodeller (sharding, replikering) Distribuerte transaksjoner: tofasecommit (2PC), distribuert låsing, vranglåshåndtering CAP-teoremet Institutt for Informatikk INF Ellen Munthe-Kaas 1
2 Parallellberegninger Database på én storskala parallellmaskin/cluster: Utnytter parallelliteten på dyre operasjoner, f.eks. join Modeller for parallellitet: Shared-memory-arkitektur Ett felles fysisk adresserom; hver prosessor har aksess til (deler av) primærminnet til de andre prosessorene Hver prosessor har lokale disker Shared-disk-arkitektur Hver prosessor har lokalt primærminne Hver prosessor har aksess til alle disker Shared-nothing-arkitektur Hver prosessor har lokalt primærminne og lokale disker Er den arkitekturen som benyttes mest for databasesystemer INF Ellen Munthe-Kaas 2
3 Shared-nothing-arkitekturen kommunikasjonsnettverk prosessor P P P disk M M M primærminne Hver prosessor har lokal cache, lokalt primærminne og lokale disker All kommunikasjon skjer ved meldingsutveksling over nettverket som forbinder prosessorene Kostbart å sende data mellom prosessorer (betydelig overhead på hver enkelt melding) Data bør om mulig bufres opp og sendes i større enheter INF Ellen Munthe-Kaas 3
4 Parallelle algoritmer for shared-nothing-arkitekturen Hovedprinsippet bak slike algoritmer er å fordele tuplene og arbeidsbelastningen mellom prosessorene. Tuplene fordeles slik at kommunikasjonen minimeres prosessorene kan utføre vanlige algoritmer lokalt på sine tupler Eksempler: σ c (R): Fordel tuplene i R jevnt på alle diskene. Hver prosessor utfører σ c lokalt på sine tupler R(X,Y) S(Y,Z): Bruk en hashfunksjon h på Y til å fordele tuplene i R og S på p bøtter (der p er antall prosessorer). Tuplene i bøtte j sendes til prosessor j, som så kan utføre en lokal join på sine tupler INF Ellen Munthe-Kaas 4
5 Map-reduce-rammeverket for parallellisering Programmeringsmodell Designet for å utføre et høyt antall beregninger i parallell på maskinclustere (eller mer generelt på systemer bestående av et høyt antall maskiner knyttet sammen via et eller annet nettverk) Enkelt å programmere Brukeren skriver kode for to funksjoner, map og reduce Rammeverket tar seg av parallellisering og distribuering av kode og data Arkitektur: Vanligvis shared-nothing-arkitektur Datalagring: Filer, typisk svært store Filene er oppdelt i chunks, hver chunk er replikert på tvers av disker for å overleve diskkræsj INF Ellen Munthe-Kaas 5
6 Map Map-funksjonen tar som input par av formen (k,v) der k er en nøkkel og v en verdi. Output (mellomresultater) er en liste av par (h,w) der h er en nøkkel og w en verdi map Rammeverket samler prinsipielt alle mellomresultatene for all input i par på formen (h, [w 1, w 2,..., w nh ]), ett for hver verdi av h reduce mellomresultater INF Ellen Munthe-Kaas 6
7 Reduce Reduce-funksjonen produserer for hvert par (h, [w 1, w 2,..., w nh ]) ett par (h,x) der x er reduksjonen av [w 1, w 2,..., w nh ] (x er ofte av samme type som w i -ene) Mastercontrolleren map reduce mellomresultater bestemmer hvor mange map- og reduce-prosesser som skal eksekveres, og på hvilke prosessorer fordeler chunks av inputdata blant map-prosessene bestemmer hvordan verdier i mellomresultatet skal pipelines mellom map- og reduce-prosessene INF Ellen Munthe-Kaas 7
8 Map: Eksempel: Beregning av invertert indeks Input: Par på formen (i,d) hvor i er en dokumentid og d et dokument. Virkemåte: Scanner d tegn for tegn; for hvert ord w produseres output (w,i) hvor w brukes som nøkkel Reduce: Input: Par på formen (w, [i 1, i 2,..., i nw ]) Virkemåte: Fjerner flerforekomster i [i 1, i 2,..., i nw ] og sorterer etter stigende i k INF Ellen Munthe-Kaas 8
9 Distribuerte databaser En database kalles distribuert hvis den er spredt over flere datamaskiner, kalt noder (sites), som er bundet sammen i et nettverk Hver node har sitt eget operativsystem og sitt eget DBMS Tre viktige formål med distribuerte databaser er: større lagringskapasitet og raskere svartider økt sikkerhet mot tap av data økt tilgjengelighet av data for flere brukere Databasen kalles distribusjonstransparent hvis brukerne (applikasjonene) ikke merker noe til at databasen er distribuert (bortsett fra variasjon i svartidene) I dag er det en selvfølge at en distribuert database er distribusjonstransparent INF Ellen Munthe-Kaas 9
10 Distribusjonsmodeller Sharding: Hver node har ansvaret for et utsnitt (sin del) av dataelementene Replikering: Hvert dataelement er lagret på flere noder De to modellene er uavhengige: Et system kan bruke en eller begge teknikker INF Ellen Munthe-Kaas 10
11 Distribusjon (sharding) av relasjonelle data Et eksempel på distribuerte data kan vi finne i en butikkjede hvor alle salg registreres av kassaapparatene og lagres lokalt på en datamaskin (node) i hver enkelt butikk Logisk sett har butikkjedens relasjonsdatabase én relasjon som inneholder alle salgsdata fra alle butikkene Salgsdataene er horisontalt fragmentert med ett fragment på hver node Hvis de horisontale fragmentene er disjunkte, er fragmenteringen total En relasjon er vertikalt fragmentert hvis ulike attributter er lagret på ulike noder Vertikale fragmenter må inneholde primærnøkkelen En vertikal fragmentering er total hvis ingen andre attributter enn primærnøkkelen ligger på flere noder INF Ellen Munthe-Kaas 11
12 Replikerte data I en konsistent tilstand er replikatene like (de er eksakte kopier av hverandre) Hvis alle data er replikert til alle noder, har vi en fullreplikert database (speildatabase) Internt bruker DBMSet et replikeringsskjema som forteller hvilke data som ligger på hvilke noder Distribusjonstransparens medfører at applikasjonene ikke må ha kjennskap til replikeringsskjemaet og at de ikke har ansvar for å oppdatere replikatene Replikering er dyrt, men det gir økt lesehastighet og økt tilgjengelighet til data INF Ellen Munthe-Kaas 12
13 Distribuerte transaksjoner Når optimalisereren og planleggeren skal lage fysiske eksekveringsplaner, må de ta hensyn til hvilke noder de ulike dataene ligger på (denne informasjonen finnes i replikeringsskjemaet som er kopiert til alle noder) Det er to hovedstrategier å velge mellom: Kopier (på billigste måte) de data som trengs, til samme node og utfør eksekveringen der Splitt eksekveringen opp i subtransaksjoner på de aktuelle nodene og gjør mest mulig eksekvering der dataene er (viktig for projeksjon og spesielt seleksjon) En god optimaliserer kombinerer de to strategiene for å minimalisere datatransmisjonen mellom nodene INF Ellen Munthe-Kaas 13
14 Distribuert commit En transaksjon i en distribuert database kan oppdatere data på flere noder (spesielt må dataelementer som er endret, oppdateres på alle noder med replikater) Den noden der en transaksjon T initieres, kalles startnoden til T Planleggeren finner ut hvilke noder T trenger å aksessere, og starter en subtransaksjon på hver av disse (inklusive startnoden) for å gjøre Ts jobb lokalt For å oppnå global atomisitet må enten alle subtransaksjonene gjøre commit, eller alle må abortere Følgelig kan ikke T gjøre commit før alle subtransaksjonene har gjort det INF Ellen Munthe-Kaas 14
15 Tofasecommit Tofasecommit (2PC) er en protokoll for å sikre atomisitet av distribuerte transaksjoner 2PC bygger på følgende forutsetninger: To vilkårlige noder kan kommunisere med hverandre Ingen node går ned permanent Hver node sikrer atomisitet for sine lokale transaksjoner Det finnes ingen global logg Hver node logger sine operasjoner (inklusive 2PC-relaterte operasjoner) 2PC forutsetter at en av nodene utpekes til koordinator. Vanligvis er det startnoden som velges INF Ellen Munthe-Kaas 15
16 2PC-protokollen fase I Koordinatoren for en distribuert transaksjon T bestemmer seg for å gjøre commit Koordinatoren skriver <T, Prepared> i loggen på sin node (og skriver loggen til disk) Koordinatoren sender meldingen «prepare T» til alle noder som har subtransaksjoner av T Hver mottaker fortsetter eksekveringen til den vet om dens subtransaksjon T i kan gjøre commit Skriv nok i loggen til at det ved behov kan gjøres gjenoppretting på T i Hvis kan committe, skriv <T, Prepared> i loggen send meldingen «prepared T» til koordinatoren Deretter: Vent på fase II Hvis må abortere, skriv <T, Abort> i loggen send meldingen «aborted T» til koordinatoren Deretter: Kan rulle subtransaksjonen T i tilbake umiddelbart INF Ellen Munthe-Kaas 16
17 2PC-protokollen fase II Hvis koordinatoren har mottatt «prepared T» fra alle nodene (subtransaksjonene), skriver koordinatoren <T, Commit> i sin logg og sender «commit T» til alle andre involverte noder. En node som mottar «commit T», gjør commit på sin subtransaksjon og skriver <T, Commit> i loggen sin. Hvis koordinatoren har mottatt «aborted T» fra minst én node eller ikke alle har svart ved «timeout», skriver koordinatoren <T, Abort> i sin logg og sender «abort T» til alle andre involverte noder. En node som mottar «abort T», skriver <T, Abort> i loggen sin og ruller tilbake sin subtransaksjon hvis ikke dette alt er gjort. INF Ellen Munthe-Kaas 17
18 Initiering av protokollen Hvis koordinator bestemmer seg for å committe sin del av den distribuerte transaksjonen, starter den fase I og sender «prepare T» til alle. Hvis koordinator må rulle tilbake sin del av transaksjonen, kortslutter den protokollen ved å sende «abort T» til alle (da trengs bare siste del av fase II). Alternativt kan en hvilken som helst av de andre nodene initiere protokollen. Dette kan gjøres som følger: Den første noden som kan committe, logger <T, Prepared> og sender «begincommit T» til koordinator, som så starter fase I av protokollen. (Noden behøver da ikke å sende «prepared T» til koordinator siden dette er underforstått av «begincommit T»-meldingen.) Hvis en node må rulle tilbake sin del av transaksjonen, kan den kortslutte protokollen på vegne av koordinator. I såfall logger den <T, Abort> og sender «abort T» til alle. INF Ellen Munthe-Kaas 18
19 Feilhåndtering ved 2PC - I Hvis en ordinær node går ned, fortsetter den protokollen når den kommer opp igjen. Det er opplagt hva den skal gjøre med mindre dens siste loggpost er <T, Prepared>. I så fall må den spørre koordinator eller en annen node om den skal gjøre commit eller abort. INF Ellen Munthe-Kaas 19
20 Feilhåndtering ved 2PC - II Hvis koordinatoren går ned, velges en ny koordinator Den nye koordinatoren starter med å innhente status fra alle oppegående noder Med ett unntak kan den nye koordinatoren fullføre 2PC: Unntaket er hvis alle nodene har <T, Prepared> som siste loggpost Da kan man ikke avgjøre om den opprinnelige koordinatoren har forberedt commit eller abort Det er to mulige fortsettelser: Vente til koordinatoren kommer opp igjen (tar lang tid) DBA griper inn og fatter en manuell avgjørelse (er ikke nødvendigvis brukbart i praksis) INF Ellen Munthe-Kaas 20
21 Blokkerende protokoller En protokoll er blokkerende hvis det at én strategisk node går ned på et kritisk tidspunkt, er tilstrekkelig til å få protokollen til å «henge». 2PC er blokkerende: Hvis koordinatoren går ned, kan protokollen bli hengende. Blokkering kan unngås ved å splitte opp fase II. 3PC - trefasecommit - er en protokoll som gjør dette. (Vi tar ikke med beskrivelsen av 3PC her.) INF Ellen Munthe-Kaas 21
22 Valg av ny koordinator Hvis koordinator går ned i 2PC eller 3PC, må det velges en ny koordinator. Men å velge en entydig ny koordinator er komplisert. Å oppnå enighet om en ny koordinator kan sammenliknes med å oppnå enighet om commit, og er like komplisert å gjennomføre som commitprotokollen selv Hvis valget av ny koordinator skal være en ikkeblokkerende protokoll, må man ta høyde for situasjoner der to eller flere noder tror de er den nye koordinatoren I 3PC risikerer man inkonsistens (uenighet om transaksjonen er committet eller abortert) hvis flere noder tror de er ny koordinator En løsning er Paxos commit (foreleses i del 2). Paxos commit er ikke-blokkerende ingen enkeltnode kan få protokollen til å henge Paxos commit er konsistent selv om flere noder tror de er koordinator INF Ellen Munthe-Kaas 22
23 Låsing i distribuerte systemer Låsing av et replikat krever varsomhet: Anta at T har leselås på et replikat A 1 av et dataelement A. Anta at U har skrivelås på et annet replikat A 2 av A. Da kan U oppdatere A 2, men ikke A 1. Resultatet blir en inkonsistent database. Med replikerte data må vi skille mellom to typer låsing: låsing av et logisk dataelement A (global lås) fysisk låsing av et av replikatene av A (lokal lås) Reglene for logiske lese- og skrivelåser er de samme som de som gjelder for vanlige låser i en ikke-distribuert database Logiske låser er fiktive de må implementeres ved hjelp av de fysiske INF Ellen Munthe-Kaas 23
24 Sentralisert låsing Den enkleste måten å implementere logiske låser på, er å utnevne en av nodene til låsesjef Låsesjefen håndterer alle ønsker om logiske låser og bruker sin egen låstabell som logisk låstabell Det er to viktige svakheter ved et slikt sentralisert låsesystem: låsesjefen blir fort en flaskehals ved stor trafikk systemet er svært sårbart; hvis låsesjefen går ned, får ingen satt eller hevet noen lås Kostnaden er minst tre meldinger for hver lås som settes: en melding til låsesjefen for å be om en lås en svarmelding som innvilger låsen en melding til låsesjefen for å frigi låsen INF Ellen Munthe-Kaas 24
25 Primærkopilåsing Primærkopilåsing er en annen type sentralisert låssystem I stedet for en felles låsesjef velger vi for hvert logisk dataelement ut et av replikatene som primærkopi Den fysiske låsen på primærkopien brukes som logisk lås på dataelementet Metoden reduserer faren for flaskehalser ved låsing Ved å velge replikater som ofte blir brukt, til primærkopier, reduseres antall meldinger ved håndtering av låser INF Ellen Munthe-Kaas 25
26 Avledede logiske låser Metoden går ut på at en transaksjon får en logisk lås ved å låse et tilstrekkelig antall av replikatene Mer presist: Anta at databasen har n replikater av et dataelement A Velg to tall s og x slik at 2x > n og s+x > n En transaksjon får logisk leselås på A ved å ta leselås på minst s replikater av A En transaksjon får logisk skrivelås på A ved å ta skrivelås på minst x replikater av A Det er maksimalt n låser til utdeling: At 2x > n medfører at to transaksjoner ikke begge kan ha logisk skrivelås på A At s+x > n betyr at to transaksjoner ikke samtidig kan ha henholdsvis logisk leselås og logisk skrivelås på A INF Ellen Munthe-Kaas 26
27 Leselås-én, skrivelås-alle Dette oppnår vi ved å velge s = 1 og x = n Logisk skrivelås krever i verste fall minst 3(n-1) meldinger og blir svært dyr Logisk leselås krever høyst 3 meldinger, og hvis det finnes et replikat på transaksjonens startnode, krever den ingen meldinger Metoden egner seg der skrivetransaksjoner er sjeldne Eksempel: Elektronisk bibliotek der nodene har kopi av ofte leste dokumenter INF Ellen Munthe-Kaas 27
28 Majoritetslåser Dette oppnår vi ved å velge s = x = (n+1)/2 Logisk skrivelås kan ikke bli billigere enn dette Men det at logisk leselås også krever omtrent 3n/2 meldinger, virker svært dyrt I systemer som tilbyr kringkasting av meldinger, blir kostnaden lavere Fordelen er at metoden er robust mot nettverksfeil Eksempel: Dersom en nettverksfeil deler databasen i to, kan den delen som inneholder flertallet av nodene, fortsette som om intet var hendt. I minoritetsdelen kan ingen få så mye som en leselås INF Ellen Munthe-Kaas 28
29 Distribuert vranglås Faren for vranglås i et distribuert låsesystem er stor Det finnes mange varianter av Vent-på-grafer som kan forhindre distribuert vranglås Erfaring tilsier at det enkleste og beste i de fleste tilfeller er å bruke «timeout»: Transaksjoner som bruker for lang tid, rulles tilbake INF Ellen Munthe-Kaas 29
30 CAP-teoremet CAP-teoremet: I et distribuert system er det ikke mulig å til enhver tid tilby samtlige av følgende tre garantier: Consistency en forespørsel vil på et gitt tidspunkt gi samme svar/respons uansett hvilken node den eksekveres på Availability hver forespørsel resulterer i en respons Partition tolerance systemet fortsetter å være virksomt selv om meldinger kan gå tapt (deler av nettverket feiler) eller deler av nodene feiler/går ned INF Ellen Munthe-Kaas 30
31 CAP-teoremet utdypet I Med consistency menes det som dekkes av A+C i ACID, dvs. at en enkelt forespørsel+respons skal utføres atomært og bevare konsistens. Med availability menes at enhver forespørsel til en ikkefeilet node skal resultere i en respons. (Den opprinnelige formuleringen av CAP-teoremet sier at «så godt som alle» forespørsler skal motta en respons, for i praksis kan man ikke garantere 100% tilgjengelighet.) INF Ellen Munthe-Kaas 31
32 CAP-teoremet utdypet II CAP-teoremet ble opprinnelig formulert med tanke på web service-systemer, men ideene er gyldige uansett hvilket formål det distribuerte systemet har En populær, men overforenklet, fremstilling av CAPteoremet sier at man i ethvert distribuert system må velge «to av tre», dvs. CA, CP eller AP. Merk at å velge CA, dvs. velge bort Pʹen i CAP, ikke er en opsjon i et tjenesteytende distribuert system, i den forstand at man må designe slike systemer med tanke på at systemet skal fortsette å virke selv om deler av nettverket feiler. INF Ellen Munthe-Kaas 32
33 CAP-teoremet utdypet III Når en nettverkspartisjon oppstår, må man velge mellom konsistens og tilgjengelighet, man kan ikke tilby begge. CP: Hvis man velger konsistens fremfor tilgjengelighet, kan operative noder måtte avslå å yte tjenester (dvs. forespørsler må kanskje besvares med «prøv igjen senere» eller liknende) AP: Hvis man velger tilgjengelighet fremfor konsistens, kan det være at når nettverket igjen virker som det skal, er det inkonsistenser i systemet der systemet ikke selv kan rydde opp i/bli kvitt alle inkonsistensene INF Ellen Munthe-Kaas 33
34 Eksempel: Bestilling av hotellrom To personer ønsker å bestille samme rom i samme hotell for samme tidsrom. Bestillingssystemet er distribuert over to noder med replikater på begge. Nettverket mellom nodene er nede. Alternativer: CP: Ingen rom kan bestilles (hver av forespørslene besvares med «ikke tilgjengelig/prøv senere» selv om hver av nodene er fullt operativ). AP: Begge bestillingene går igjennom (inkonsistens/overbooking). Inkonsistensen rettes når personene ankommer hotellet (ved at hotellet har et ekstra rom som er avsatt til å håndtere overbooking). INF Ellen Munthe-Kaas 34
35 CAP-teoremet i praksis I praksis er det ikke et enten-eller, men en glidende overgang/tradeoff mellom de to alternativene. Man kan f.eks. velge forskjellig tilnærming (CP/AP) for forskjellige funksjoner/operasjoner Når det ikke er nettverkspartisjoner, bør systemet ha som mål å oppfylle alle de tre CAP-garantiene I praksis er det dessuten en tradeoff mellom konsistens og responstid. Jo mer konsistens man krever, desto flere noder må involveres i arbeidet med å garantere dette, og jo lenger tid tar det å respondere på en forespørsel Denne formen for tradeoff gjelder selv om det ikke er noen nettverkspartisjoner INF Ellen Munthe-Kaas 35
Parallelle og distribuerte databaser Del I
UNIVERSITETET I OSLO Parallelle og distribuerte databaser Del I Institutt for Informatikk INF3100 7.4.2014 Ellen Munthe-Kaas 1 Parallellberegninger Database på én storskala parallellmaskin: Utnytter parallelliteten
Parallelle og distribuerte databaser
UNIVERSITETET I OSLO Parallelle og distribuerte databaser Institutt for Informatikk INF3100 11.4.2013 Ellen Munthe-Kaas 1 Parallellberegninger Database på én storskala parallellmaskin: Utnytter parallelliteten
INF3100 Databasesystemer. Transaksjonshåndtering. ndtering Del 3. Ragnar Normann
INF3100 Databasesystemer Transaksjonshåndtering ndtering Del 3 Ragnar Normann View-serialiserbarhet Hittil har vi sett på eksekveringsplaner som har vært konfliktekvivalente med serielle eksekveringsplaner
Parallelle og distribuerte databaser del II
UNIVERSITETET I OSLO Parallelle og distribuerte databaser del II CAP-teoremet (kursorisk) Databaser i mobile ad-hoc-nettverk (kursorisk) Paxos algoritmer for å oppnå konsensus i distribuerte systemer (ikke
Effektiv eksekvering av spørsmål
UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 6.4.2016
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF3100 Databasesystemer Eksamensdag: 13. juni 2016 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 6 sider. Vedlegg: ingen
INF3100 V2018 Obligatorisk oppgave nr. 2
INF3100 V2018 Obligatorisk oppgave nr. 2 Oppgavesettet skal løses og leveres individuelt. Gjennomføring og innlevering av oppgaven skal skje i henhold til gjeldende retningslinjer ved Institutt for informatikk,
Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer
Institutt for datateknikk og informasjonsvitenskap Løsningsforslag for Eksamensoppgave i TDT4190 Distribuerte systemer Faglig kontakt under eksamen: Jon Olav Hauglid Tlf.: 93 80 58 51 Eksamensdato: Onsdag
Transaksjonshåndtering Del 2
UNIVERSITETET I OSLO Transaksjonshåndtering Del 2 Institutt for Informatikk INF3100 14.3.2014 Ellen Munthe-Kaas 1 En ny type serialiseringsprotokoll Hittil har vi bare sett på 2PL-baserte protokoller Alle
Effektiv eksekvering av spørsmål
UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 23.3.2015
Systemfeil og logging
UNIVERSITETET I OSLO Systemfeil og logging Institutt for Informatikk INF3100 7.3.2014 Ellen Munthe-Kaas 1 Integritetsregler Vi ønsker at data alltid skal være korrekte: Integritetsregler er predikater
Andre sett obligatoriske oppgaver i INF3100 V2012
Andre sett obligatoriske oppgaver i INF3100 V2012 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser,
Transaksjonshåndtering Del 3
UNIVERSITETET I OSLO Transaksjonshåndtering Del 3 Ragnar Normann INF3100 12.4.2010 Ragnar Normann 1 Samtidighetsfenomener og -anomalier Dette er uønskede «merkverdigheter» som kan inntreffe i eksekveringsplaner.
Repetisjonsforelesning, SQL og utover
Repetisjonsforelesning, SQL og utover Evgenij Thorstensen V18 Evgenij Thorstensen Repetisjon V18 1 / 23 Temaer SQL, semantikk Databasearkitektur Spørringskompilering og optimisering Indekser Transaksjonshåndtering
Transaksjonshåndtering og samtidighetskontroll
UNIVERSITETET I OSLO Transaksjonshåndtering og samtidighetskontroll Institutt for Informatikk INF3100 7.3.2016 Ellen Munthe-Kaas 1 Transaksjoner En transaksjon er en sekvens av operasjoner som bevarer
Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse
Innhold Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer Prinsipper for synkronisering av felles hukommelse Multiprosessorer koblet sammen av én buss 02.05 2001 Parallelle
Løsningsforslag Eksamen i TDT4190 Distribuerte systemer
Institutt for datateknikk og informasjonsvitenskap Løsningsforslag Eksamen i TDT4190 Distribuerte systemer Faglig kontakt under eksamen: Norvald Ryeng Tlf.: 97 17 49 80 Eksamensdato: Fredag 6. juni 2014
Systemfeil og logging
INF3100 Databasesystemer Systemfeil og logging Basert på lysark laget av Hector Garcia-Molina Oversatt og bearbeidet av Ragnar Normann Integritet eller korrekthet av data Vi ønsker at data alltid skal
Transaksjonshåndtering og samtidighetskontroll
UNIVERSITETET IOSLO Transaksjonshåndtering og samtidighetskontroll Institutt for Informatikk INF3100 1.3.2011 Ellen Munthe-Kaas 1 Transaksjoner En transaksjon er en sekvensens av operasjoner som bevarer
Systemfeil og logging
UNIVERSITETET I OSLO Systemfeil og logging For en stor del basert på lysark laget av Hector Garcia-Molina Bearbeidet av Ragnar Normann INF3100 3.3.2008 Ragnar Normann Institutt for Informatikk 1 Korrekthet
Effektiv eksekvering av spørsmål
UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 21.3.2014
Andre sett obligatoriske oppgaver i INF3100 V2013
Andre sett obligatoriske oppgaver i INF3100 V2013 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser,
Transaksjonshåndtering og samtidighetskontroll
UNIVERSITETET I OSLO Transaksjonshåndtering og samtidighetskontroll Ragnar Normann Mange lysark er basert på en original laget av Hector Garcia-Molina INF3100 26.4.2005 Ragnar Normann 1 Transaksjoner En
Transaksjonshåndtering Del 3
UNIVERSITETET I OSLO Transaksjonshåndtering Del 3 Institutt for Informatikk INF3100 10.3.2015 Ellen Munthe-Kaas 1 Samtidighetsfenomener og -anomalier Dette er uønskede «merkverdigheter» som kan inntreffe
Hva har vi gjort? SQL og Databasedesign
Hva har vi gjort? SQL og Databasedesign HVA? Begrepsmessig databasedesign E/R diagram Logisk databasedesign Tabeller HVORDAN? Fysisk databasedesign Filer Indekser Etter vi har behandlet de mer statiske
Hashing. INF Algoritmer og datastrukturer HASHING. Hashtabeller
Hashing INF2220 - Algoritmer og datastrukturer HØSTEN 200 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning : Hashing Hashtabeller (kapittel.) Hash-funksjoner (kapittel.2) Kollisjonshåndtering
Dagens tema. Flere teknikker for å øke hastigheten
Dagens tema Flere teknikker for å øke hastigheten Cache-hukommelse del 1 (fra kapittel 6.5 i Computer Organisation and Architecture ) Hvorfor cache Grunnleggende virkemåte Direkte-avbildet cache Cache-arkitekturer
Begrepsforvirring i databaseverdenen?
UNIVERSITETET I OSLO Begrepsforvirring i databaseverdenen? Om arkitektur og taksonomi for databasesystemer OMS-seminar 2.11.2005 Ragnar Normann 1 Disposisjon DBMS-arkitekturer Hvilke typer databasehåndteringssystemer
Øving 5: Transaksjonshåndtering, logging og normalisering
Øving 5: Transaksjonshåndtering, logging og normalisering Lars Kirkholt Melhus Oppgave 1 a) ACID Atomic En transaksjon er en minste enhet. Alle ledd i transaksjonen må gå feilfritt for at transaksjonen
Fakultet for informasjonsteknologi,
Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontaktperson under eksamen:
Normalformer utover 4NF (ikke pensum)
UNIVERSITETET I OSLO Normalformer utover 4NF (ikke pensum) Institutt for Informatikk INF3100 - Ellen Munthe-Kaas 1 Høyere normalformer, oversikt 1NF BCNF 4NF ETNF RFNF = KCNF SKNF 5NF INF3100 - Ellen Munthe-Kaas
Spørsmålskompilering del 1
UNIVERSITETET I OSLO Spørsmålskompilering del 1 Parsering Logiske spørreplaner uttrykt i relasjonsalgebra Optimalisering ved hjelp av algebraiske lover Institutt for Informatikk INF3100-11.4.2016 - Ellen
DBMS Database Management System (repetisjon) Programmeringsgrensesnitt. Serialiserbarhet
DBMS Database Management System (repetisjon) Spesialisert SW Karakteristika: Persistens Transaksjonshåndtering A tomicity C onsistency I solation D urability Programmeringsgrensesnitt INF212 v2003 1 Serialiserbarhet
Generelt om permanent lagring og filsystemer
Generelt om permanent lagring og filsystemer Filsystem Den delen av OS som kontrollerer hvordan data lagres på og hentes frem fra permanente media Data deles opp i individuelle deler, filer, som får hvert
Det matematisk-naturvitenskapelige fakultet. Kontroller at oppgavesettet er komplett før du begynner å besvare det.
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 212 - Databaseteori Eksamensdag : Onsdag 8. juni 1994 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider Vedlegg
INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: SQL: Outer join Denormalisering og splitting Transaksjoner og ACID-reglene DBMSer en introduksjon til INF3100 INF1300 19.11.2007 Ragnar
Spørsmålskompilering del 1
UNIVERSITETET I OSLO Spørsmålskompilering del 1 Parsering Logiske spørreplaner uttrykt i relasjonsalgebra Optimalisering ved hjelp av algebraiske lover Institutt for Informatikk INF3100 - V18 - Evgenij
Tildeling av minne til prosesser
Tildeling av minne til prosesser Tildeling av minne til en prosess Når en ny prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må
Effektiv eksekvering av spørsmål
UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 V18 Evgenij
INF1300 Introduksjon til databaser
INF1300 Introduksjon til databaser Data (transiente, persistente) DBMS databser informasjon interesseområdet informasjonsmodeller informasjonssystemer Transiente og persistente data Når vi programmerer,
Relasjonsdatabasedesign. Ekstramateriale: Normalformer utover 4NF (ikke pensum)
UNIVERSITETET I OSLO Relasjonsdatabasedesign Ekstramateriale: Normalformer utover 4NF (ikke pensum) Institutt for Informatikk INF3100-26.1.2012 Ellen Munthe-Kaas 1 Høyere normalformer, oversikt 1NF BCNF
For alle ikke-trivielle FDer X A i R: eller A er et nøkkelattributt i R eller X K for noen kandidatnøkkel K i R
1NF-BCNF For alle ikke-trivielle FDer X A i R: X er en supernøkkel i R eller A er et nøkkelattributt i R eller X K for noen kandidatnøkkel K i R 1 Normalisering Finn alle ikke-trivielle ti i FDer som gjelder
Tid og koordinering. Foreleser: Olav Lysne
Tid og koordinering Foreleser: Olav Lysne Bakgrunn Distribuerte koordineringsprotokoller har ofte behov for en hendte-før relasjon mellom hendelser gjensidig utelukkelse blandt en samling prosesser (som
INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Data, databaser og databasehåndteringssystemer Data versus informasjon Beskrivelse av interesseområdet Begreper og representasjon av
Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen
Dagens temaer Fra kapittel 4 i Computer Organisation and Architecture Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Register Transfer Language (RTL) Instruksjonseksekvering Pipelining
Informasjonssystemer, DBMSer og databaser
UNIVERSITETET I OSLO Informasjonssystemer, DBMSer og databaser Institutt for Informatikk INF3100-21.1.2008 Ellen Munthe-Kaas 1 Interesseområdet (UoD = Universe of Discourse) Interesseområdet er en del
Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 23. mai 2013 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte
INF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Informasjonsbærende referansemåter Resten av realiseringsalgoritmen Sterk realisering Realisering versus modellering INF1300-31.10.2016
Spørsmålskompilering del 2
UNIVERSITETET I OSLO Spørsmålskompilering del 2 Estimere størrelsen på mellomresultater Vurdere fysiske spørreplaner Institutt for Informatikk INF3100-7.4.2015 - Ellen Munthe-Kaas 1 Oversikt: Fra spørring
DBS21 Samtidighetskontrollteknikker
Side 1 for Databaser DBS21 Samtidighetskontrollteknikker mandag 30. mai 2016 21.25 Pensum: 21.1, side 781-792, og 21.3 side 795-796 tom 21.3.1 21.1 Tofaselåsingsteknikker for samtidighetskontroll 21.1.1
! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:
Dagens temaer! Ulike kategorier input/output! Programmert! Avbruddstyrt! med polling.! Direct Memory Access (DMA)! Asynkrone vs synkrone busser! Med! Fordi! -enheter menes de enheter og mekanismer som
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 9. desember 2005 Tid for eksamen: 14.30 17.30 Oppgavesettet
Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 26. mai 2014 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte
Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.
Dagens temaer Dagens emner er hentet fra Englander kapittel 11 (side 327-344 ) Repetisjon av viktige emner i CPU-design. Flere teknikker for å øke hastigheten Cache 03.10.03 INF 103 1 Hvordan øke hastigheten
DBS22 Databasegjenopprettingsteknikker
Side 1 for Databaser DBS22 Databasegjenopprettingsteknikker onsdag 1. juni 2016 21.49 Pensum: 22.1-22.5, side 813-831 22.1 Gjenopprettingskonsepter 22.1.1 Recovery outline and categorization of recovery
Tildeling av minne til prosesser
Tildeling av minne til prosesser Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en
EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Roger Midtstraum
Side 1 av 5 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER Faglig kontakt under eksamen:
DBS20 - Introduksjon til transaksjonsprosessering og teori
Side 1 for Databaser DBS20 - Introduksjon til transaksjonsprosessering og teori søndag 29. mai 2016 21.15 Pensum: 20.1-20-6, side 745-776, untatt 2.5.4 og 2.5.5 20.1 Introduksjon til transaksjonsprosessering
