10. E/A-Architektur und Zugriff

Werbung
10.E/A-ArchitekturundZugriff
Vorlesung"Informationssysteme"
Sommersemester2017
Gliederung
§ AufbaudesDB-Servers
• VereinfachtesSchichtenmodell
• VerarbeitungvonAnfragen
§ EinsatzeinerSpeicherhierarchie
§ E/A-ArchitekturvonDatenbanksystemen
• Sekundärspeicher- ZugriffsartenundKostenmodell
• AbbildungvonRelationenaufSekundärspeicher
• Datenbankpuffer
- Funktionsweise
- Ersetzungsstrategien
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
2
VereinfachtesSchichtenmodell
Art der Operationen an
Der Schnittstelle
Aufgaben der
Systemschicht
Übersetzung und Optimierung
von Anfragen
Verwaltung von physischen
Sätzen und Zugriffspfaden
DB-Puffer- und
Externspeicherverwaltung
Datensystem
Zugriffssystem
Speichersystem
Deskriptive Anfragen, Zugriff auf Satzmengen
SELECT ... FROM ... WHERE
INSERT INTO ...
Satzzugriffe
Lese Satz
Füge Satz ein, füge Eintrag in B+-Baum ein
Seitenzugriffe
Stelle Seite bereit,
Gib Seite frei
DB
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
3
ÜbersichtAnfrageverarbeitung
§ Eingabe:AnfragealsText(String)
§ Kompilierzeitsystem(compile timesystem)übersetztundoptimiert
dieAnfrage
§ Zwischenprodukt:AnfragealsAnfrageplan(query plan)
§ Laufzeitsystem(runtime system)führtdieAnfrageaus
§ Ausgabe:ErgebnissederAnfrage
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
4
ÜbersetzungvonSQLinBaumausOperatoren
SELECT A1,...An
FROM R1,...,Rn
WHERE P
𝜋𝜋$%,…,$(
𝜎𝜎
𝑃𝑃
×
×
×
R1
R2
R3
…
Rn
WassindOperatoren,wieläuftVerarbeitungabundwiewerden
OperatorenImplementiert?
Informationssysteme2017
Kapitel5:DieStandardspracheSQL
5
Iteratorkonzept
Anwendungsprogramm
Iterator
open
next
close
size
cost
Iterator
open
R1
Iterator
next
…
R1
open
…
Iterator
open
R1
Informationssysteme2017
next
Kapitel10:E/A-ArchitekturundZugriff
next
…
R1
6
Iterator
§
§
§
§
Open:Konstruktor,initialisiert,öffnetdieEingabe
Next:LiefertdasnächsteErgebnis
Close:SchließtdieEingabe
Cost undSize:GebenInformationenüberdiegeschätzten(!)
Kosten
Empfehlenswert:ÜbersichtsartikelvonG.Graefe:QueryEvaluation
Techniques for LargeDatabases,ACMComputingSurveys,1993,
volume 25,number 2,pages 73-169.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
7
Pull-basierteVerarbeitung
Operatoren werdeninFormvonIteratoren implementiert
§ Datenflusshierbeiist"vonuntennachoben"
§ Konsument-ProduzentVerhältnis
§ DerkonsumierendeIterator beziehtTupelvonseinenEingaben,die
ebenfallsIteratoren sind,durchderennext()Schnittstelle
§ ImAllgemeinenwerdenZwischenergebnissenichtexplizit
materialisiert.
Anmerkung:Push-basierteVerarbeitung
EsgibtinsbesonderebeiSystemenzurDatenstromverarbeitungdie
sogenanntePush-basierteVerarbeitung.Dortregistrierensich
"Konsumenten"anDatenquellenoderanderenOperatoren.Falls
dieseneueDatenhaben,werdendieDatenandieKonsumenten
weitergereicht(aktiv).
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
8
BlockierendeOperatoren
§ Idealerweise
• OperatorenblockierendenDatenflussnicht
• D.h.beimAufrufvonnext()werdendarunterliegende
Operatorenangefragtvianext unddasErgebnisdirektweiter
geleitet.NurwenigeTupelwerdendabeigelesen.
• ErlaubtPipelining
§ ImGegensatzdazu:Operatoren,diedenDatenfluss"blockieren",
sogenanntePipeline-Breaker
• Sortieren
• Duplikateeliminieren(unique,distinct)
• Aggregation:min,max,avg,...
• Joins (jenachImplementierung)
• Union(jenachImplementierung)
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
9
ImplementierungvonOperatoren
BeiderErzeugungeinesphysischenAnfrageplansmussentschieden
werdenwiegenaudieAnfrageausgeführtwerdensoll
§ WelcheImplementierungengibtesfürdiediversenOperatoren?
§ WelcheImplementierungisteffizienter?
§ Undwiekanndiesüberhauptberechnet/vorhergesagtwerden?
(Kostenmodelle)
§ GibtesIndexstrukturen,dieausgenutztwerdenkönnen?
§ Fallsja,machtesauchSinneinenIndexzubenutzen?
§ ...
ImplementierungvonOperatorenwirdinderVLDatenbanksysteme
besprochen.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
10
Waskostetwieviel?
§
§
§
§
§
§
§
§
§
§
§
L1cache reference 0,5ns
L2cache reference 7ns
Mainmemory reference 100ns
Compress 1Kbytes with Zippy 10000ns
Send2Kbytes over 1Gbps network 20000ns
Read1MBsequentially from memory 250000ns
Roundtrip within samedata center 500000ns
Diskseek 10000000ns
Read1MBsequentially from network 10,000,000ns
Read1MBsequentially from disk 30000000ns
SendpacketCAà Netherlands à CA150000000ns
Numbersby JeffDean(Google)
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
11
Speicherhierarchie
Register
aktuelle Daten
Cache
Hauptspeicher
• elektronischerSpeicher
Zugriffslücke
ExternerSpeicher
(Online)
• blockadressierbar
• nicht-flüchtig
• elektronischodermagnetisch
Archivspeicher(Nearline)
• automatischesLadenvon
PlattenoderBändern
Archivspeicher(Offline)
Speicherkapazität
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
12
CharakteristischeMerkmale
Ebene
Kapazität
Zugriffszeit
Transfer:
Kontrolle
Transfer:
Einheit
6
Register
Bytes
<1ns
Programm/
Compiler
1-8Bytes
5
Cache
K- MBytes
1-20ns
CacheController
8-128
Bytes
4
Hauptspeicher
M- GBytes
50-100ns
Betriebssystem
1-16
KBytes
Zugriffslücke
3
Plattenspeicher
G– TBytes
~10ms
Benutzer/
Operator
MBytes
(Dateien)
2
Bandspeicher
TBytes
>1sec
Benutzer/
Operator
MBytes
(Dateien)
1
Archivspeicher
T– PBytes
sec-min
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
13
RelativeZugriffszeitenineinerSpeicherhierarchie
§ Wieweitsinddie
Datenentfernt?
§ WelcheKonsequenzen
ergebensichdaraus?
• Caching
• Replikation
• Prefetching
Speicherhierarchie
„unserenDimensionen“?
Speichertyp
Rel.Zugriffszeit
Zugriffsort
Register
1
meinKopf
1 min
Cache(onchip)
2
dieserRaum
2 min
Cache(on
board)
10
diesesGebäude
10 min
Hauptspeicher
100
Magnetplatte
106–107
Magnetband/O
pt. Speicher
(automat.
Laden)
Informationssysteme2017
Wasbedeutetdasin
109–1010
Kapitel10:E/A-ArchitekturundZugriff
Frankfurt(mit
Auto)
Pluto
(5910*106 km)
Andromeda
Zugriffszeit
100 min
> 2 Jahre
> 2000 Jahre
14
Problemstellung
§ LangfristigeSpeicherungundOrganisationderDatenim
Hauptspeicher?
• Speicherist(noch)flüchtig!
• Speicherist(noch)zuteuerundzuklein
• KostenverhältnisFestplattevs.DRAM
§ MindestenszweistufigeOrganisation derDatenerforderlich
• langfristigeSpeicherungaufgroßen,billigenundnichtflüchtigenSpeichern(Externspeicher)
• VerarbeitungerfordertTransportzum/vomHauptspeicher
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
15
ZweistufigeSpeicherhierarchie
§ VereinfachteE/A-Architektur:
• ModellfürExternspeicheranbindung
• VorBearbeitungsinddieSeitenindenDB-Pufferzukopieren
• GeänderteSeitenmüssenzurückgeschriebenwerden
P1
P4
Betriebssystem
Steuereinheit
Dateipuffer
Kanal
DB-Puffer im HSP
.
.
.
P1
P2
P2
P3
DBMS
Zugriffslücke
>2*105
Faktor 100 - 1000
Informationssysteme2017
P4
P5
P5
Magnetplattenspeicher
ca. 10 ms
P3
Hauptspeicher
< 50 ns
Faktor 100
Kapitel10:E/A-ArchitekturundZugriff
16
Aufbaueiner(klassischen)Festplatte
Zugriffskamm
Arm Kopf
Spindel
Sektor
Platte
Track
Kopf
Arm
Armdrehpunkt
Zylinder
a. Seitenansicht
Informationssysteme2017
b. Draufsicht
Kapitel10:E/A-ArchitekturundZugriff
17
AufbauFestplatte(Tracks,Sektoren,Zonen)
§ Track:TeileinesZylindersaufeinerPlatte
§ Sektor:TeileinesTracks.AnzahlSektorenproTrackursprünglich
gleichfüralleTracks
§ Aber,aufZylinder/Tracksweiter"außen"passenmehrSektoren.
§ Daher,aktuelleHardware,variableAnzahlvonTracks:äußere
TrackshabenmehrSektorenalsinnereTracks;Zylindersindin
Zonenunterteilt.
Blöcke
§ Aka.Sektoren,aka.physical record.KleinsteTransfereinheitbei
Block-Storage-Devices.SeitwenigenJahrentypischerweise4KB
odersonst(historisch)512Bytegroß.
§ Achtung,esgibtauchUnterschiedezuBlöckenbzw.Seitendes
Dateisystems,dortkanneinBlockauchmehrereFestplattenblöcke
umfassen.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
18
Lesen/Schreiben eines Blocks
Host sends
command
Controller
decodes it
Data transfer to host
Status message to host
SCSI bus
Disk 1
Disk 2
Disk 3
Seek Rotational
latency
Data transfer off mechanism
Time
Read service time for disk 1
Read service time for disk 2
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
19
SchwierigdieKostengenauzuberechnen
§ KosteneinesFestplattenzugriffshängenabvon:
• deraktuellenPositiondesLesekopfs
• derPosition(Drehung/Winkel)derPlatte
§ DieseInformationensindzurZeitderÜbersetzungderAnfrage
nichtbekannt.
§ Daher:KostenübermehrereZugriffe(Mittel),einfachesModell.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
20
EinfachesKostenmodell
§ ParameterdesKostenmodells:
• DurchschnittlicheLatenzzeit(average latency time):
• DurchschnittlicheZeitfürPositionierung(seek+rotational delay)
- DurchschnittlicheZugriffszeitfüreineneinzelnenZugriff
• Lese- /Schreibrate(sustained read/write rate):
- NachPositionierung:DatentransferratebeisequentiellemZugriff
§ PerformanceParameterfüreineBeispiel-Festplatte
Modellaus 2004
Parameter
Wert
Abkürzung
Kapazität(capacity)
180GB
Dcap
Latenz(average latency time)
5ms
Dlat
Leserate (sustained read rate)
100MB/s
Dsrr
Schreibrate(sustained write rate)
100MB/s
Dswr
Dann:Zeitumn ByteszulesenistgeschätztalsDlat +n/Dsrr.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
21
SequenzielleundWahlfreieZugriffe
§ EswirdunterschiedenzwischenzweiverschiedenenArtenvon
Zugriffen (I/O):
• Sequenzielle(sequential)I/Ound
• Wahlfreie(random)I/O.
§ InunseremeinfachenKostenmodell:
• fürsequenzielleZugriffe:esgibteinePositionierungdes
Lesekopfes,danachwirdmitLeserate gelesen.
• fürwahlfreieZugriffe:esgibteinePositionierungprogelesener
Einheit- typischerweiseSeitevonz.B.8KB
§ Beispiel:Lese100MB
• SequenziellesLesen:5ms +1s
• LesendurchwahlfreieZugriffe(Seitengröße8KB):65s
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
22
Lesen von100MB
§ x-Achse:GrößederzulesendenChunks in8KB
§ y-Achse:Sekunden
64
32
16
8
4
2
1
1
Informationssysteme2017
4
16
64
Kapitel10:E/A-ArchitekturundZugriff
256
1024
23
Wahlfreies Lesen vonnSeiten
§ x-Achse:n
§ y-Achse:Sekunden
3
2.5
2
1.5
1
0.5
0
Informationssysteme2017
0
100
200
300
400
Kapitel10:E/A-ArchitekturundZugriff
500
24
Beispiel:BerechnungZugriffskosten
§ LeseneinerDateivon100MBGröße,gespeichertin128008KB
Seiten.
§ InunseremeinfachenModellkostetdaswahlfreie(random access)
Lesenvon200SeitenungefährgenausolangewiedasLesender
gesamten100MBimsequenziellenModus.
Dasheißt,dasLesenvon1/64einer100MBDateiimwahlfreien
ZugriffdauertgenausolangwiedasLesendergesamtenDateiim
sequenziellenModus.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
25
Break-Even-PointimeinfachenKostenmodell
Sei𝑎𝑎 diePositionierungs-Zeit,𝑠𝑠 dieLeserate,𝑝𝑝 dieSeitengrößeund𝑑𝑑
dieAnzahlanfortlaufendabgelegtenBytes.DannistderBreak-EvenPoint gegebendurch
𝑛𝑛 ∗ (𝑎𝑎 + 𝑝𝑝/𝑠𝑠) = 𝑎𝑎 + 𝑑𝑑/𝑠𝑠
𝑛𝑛 = (𝑎𝑎 + 𝑑𝑑/𝑠𝑠)/(𝑎𝑎 + 𝑝𝑝/𝑠𝑠)
= (𝑎𝑎𝑎𝑎 + 𝑑𝑑)/(𝑎𝑎𝑎𝑎 + 𝑝𝑝)
𝑎𝑎 und𝑠𝑠 sindParameter,diedurchdieFestplattegegebensind(also
unveränderlich).Fürgegebenes𝑑𝑑 hängtderBreak-Even-Pointnurvon
derSeitengrößeab.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
26
Lessons Learned
§ SequenziellesLesenistsehrvielschnelleralswahlfreiesLesen.
§ DasDatenbanksystemsolltediesidealerweiseausnutzen.
§ Möglichkeiten:
• SorgfältigausgewähltesphysischesLayoutaufderFestplatte
(z.B.Zylinder- oderTrack-Aligned,Clustering)
• Festplatten-Scheduling,Multi-page-Requests
• Prefetching
• Puffer
undnichtzuvergessen:
• EffizienteundrobusteAlgorithmen(Implementierungen)der
algebraischenOperatoren
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
27
NeuereEntwicklungen:SSDs
§ WasändertsichbeiSSDs(SolidStateDisks)gegenüber
traditionellenmechanischenFestplatten?
• SehrvielmehrIOPs(Input/OutputOperations PerSecond)
möglich,UnterschiedinGrößenordnungen:z.B.1000
• Leseoperationena4KBBlockproSekundeeinerSSDgegenüber
100proSekundeeinernormalenFestplatte.
• DennochsequenziellesLesengünstigeralswahlfreiesLesen.
§ WasändertdiesfürdieAnfrageoptimierung?SiehePapierunten.
Pelley etal.DoQueryOptimizers Needto be SSD-aware?,ADMSWorkshop,2011.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
28
NeuereEntwicklungen:In-MemoryDatenbanken
§ In-MemoryDatenbanken
• VerfügbarerRAMoftausreichendgroß,umgesamteDatenbank
zuhalten.
• OftbetrachtetinZusammenhangmitMehrkernsystemenund
NUMA(NonUniformMemoryAccess)Architekturen.
• WoistderneueFlaschenhalsfürdiePerformance?
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
29
PhysischeOrganisationeinerDatenbank
§ DasDatenbanksystemorganisiertdenphysischenSpeicherin
verschiedeneSchichten.
• Datenbank:MengevonDateien
• Datei:SequenzvonBlöcken.
• Segment:OrganisationseinheitimDBMS(bzgl.Sperren,
Rechten,etc.)
§ Zugriffseinheiten
• Segmente
• Seiten werdeninSegmentengespeichert
• SeiteenthältSätze
• Satz:IneinerSeitegespeicherteSequenzvonBytes.Mengevon
echtenDaten,verschiedeneFelder.
• Bzw.manredetauchvonTupeln imDB(Relationen)Kontext
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
30
Seite undTupleIdentifier(TID)
§ Seite(Page)istorganisiertinAnzahlvonBereiche(Slots)
§ SlotszeigenaufDaten...oderauchaufandereSeiten
§ EinTIDisteinPaarbestehendaus
• SeitenID(z.B.Datei/SegmentNummerplusNummerderSeite)
• SlotNummer
§ TIDwirdmanchmalauchRow Identifier(RID)genannt
TID
273 2
273
827
TID
827
Informationssysteme2017
1
Kapitel10:E/A-ArchitekturundZugriff
31
Satz-Layout
§ VerschiedenemöglicheLayouts:
fixed-length
size
variable-length size
fixed-length offset offset
offset
codes
variable-length size
variable-length
variable-length
variable-length
data
fixed-length
variable-length
strings
length and offset encoding
encoding for dictionary-based compression
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
32
SpeicherungvonTupeln aufSeiten
§ Seiteninterne Datensatztabelle
• ermöglicht einfache interneReorganisation
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
33
VerdrängenvonTupeln aufandereSeiten
§ FallseineSeitezukleinwird.
• VerschiebeTupelineineandere(z.B.neue,leere)Seite
• FügeinursprünglicherSeiteeineTIDhinzudieaufdenneuen
Ortverweist
§ WaspassiertbeimehrfachemVerschieben?
• VerweisinderursprünglichenSeitewirdangepasst.
è LängederVerweisketteaufzweibeschränkt
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
34
OrganisationderDateien
§ Haufen
• EinfachsterWegeineDateizu
organisierenistneuankommendeSätze
indieSeite(denBlock)amEndeder
Dateieinzufügen.
• Einfügenistsehreffizient.
• Sucheistteuer.
§ SortierteDateien
• GegebeneinSchlüsselanhanddessen
Sätze geordnetwerdenkönnen
• EffizientereSuche(binär)- Obwohlso
nichtrealisiert(siehez.B.B+Baum)
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
35
Beispiel:SortierteDatei(hiernachName)
Block1
Name
MatrNr
Semester
Aaron
443421
10
Adam
233499
1
…
Block2
Acosta
561921
1
Allen
581722
9
Anderson
339163
8
…
Block3
Archer
965492
1
Arnold
672961
3
Arnold
759311
1
…
Atkins
173522
8
.
.
.
Blockn
Wright
672963
4
Wyatt
197646
7
…
Zimmer
Informationssysteme2017
524145
12
Kapitel10:E/A-ArchitekturundZugriff
36
SucheinDateien
"If you don't find it in the index,
look very carefully through the entire catalog"
- Sears,Roebuck,and Co.,Consumers'Guide,1897
(ausdemBuchvonRamakrishnan &Gehrke)
§ LineareSuche
§ BinäreSucheinsortiertenDateien
§ SucheviaIndexen
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
37
GrundideeeinesIndex
§ Abbildung:Schlüsselà MengevonEinträgen
§ Beispiele:
• MatrikelNummer à persönlicheDatendesStudenten
• PLZà NameundandereInformationeneinerStadt
• Termà alleDokumenteindenendieserTermenthaltenist
§ NatürlichmöchtemanbeidiesenhäufigauftretendenAnfragendie
Antwortzeitgeringhalten.
§ DafürwirdeinIndexangelegt:EinIndexmaterialisiertdiese
Abbildung!
§ BetrachtenwirspäterindiesemKapitel.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
38
Datenbank-Pufferverwaltung
§ Motivation:BereitserwähnteZugriffslückezwischenHauptspeicher
undFestplatte(Externspeicher)
• Idee:HalteSeiten,aufdiezugegriffenwurde,ineinemPufferim
Hauptspeicher
• DieserPufferkanndurchaussehrgroßsein(hunderteMegabyte
odervieleGigabytes).TrotzdemvielkleineralsDBselbst.
Betriebssystem
P1
Dateipuffer
P4
DB-Puffer im HSP
.
.
.
P1
P2
P2
P3
P4
P5
P5
Informationssysteme2017
P3
DBMS
Kapitel10:E/A-ArchitekturundZugriff
39
Datenbank-Pufferverwaltung(2)
§ 5MinutenRegel:
"Pagesreferenced every five minutes
should be memory resident."
SiehePapiervonJimGray&FrancoPutzolu:
http://www.hpl.hp.com/techreports/tandem/TR-86.1.pdf
EmpfehlungzumThemaDatenbank-Pufferverwaltung:DasBuchvon
Härder undRahm:"Datenbanksysteme- KonzepteundTechnikender
Implementierung"isthiersehrausführlich.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
40
Ersetzungsstrategien:KonzeptundKlassifizierung
§ WenneineSeitenichtimPufferauffindbaristwirdsieindenPuffer
eingetragen.Fallsdieserbereitsvollist,musseineandereSeite
weichen,aberwelche?
§ KlassifizierungvonStrategienanhand...
• obdasAlterseitEinlagerung,seitletztemZugriffoder
überhauptnicht,und
• oballeReferenzen,dieletzteReferenzoderkeine
beiderAuswahlentscheidung(welcheSeiteersetztwerdensoll)
zumTragenkommt.
§ Erste(triviale)Idee:ZufälligesErsetzenvonSeiten(RANDOM
Strategie).
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
41
Optimalesvs.Zufälligesvs.RealisierbareVerfahren
Fehlerseitenrate in %
100%
Fmax
RANDOM
Realisierbare Verfahren
OPT
FKS
Pmin
PDB
Pu ergröße
Pmin=minimaleGrößedesDB-Puffers
PDB =Datenbankgröße
FKS =FehlerseitenratebeiKaltstart
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
42
FIFO
§ First-In,First-Out
• ErsetztdiejenigeSeite,dieamlängstenimPufferist
Illustration:KreisförmigeAnordnung.Zeigerverweistaufden
ältestenEintrag.GrauerZeiger=alt.RoterZeiger=neu.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
43
Least-Frequently-Used (LFU)
§ ErsetztSeitemitdergeringstenReferenz- (Zugriffs-)Häufigkeit
• FürjedeSeitewirdeinZugriffszähler(aka.ReferenzzählerRZ)
geführt.
• DieSeitemitdemkleinstenZählerstandwirdersetzt.
§ Seiten,aufdiekurzzeitigsehrsehroftzugegriffenwurde,bleiben
sehrlangeimPuffer,auchwennnichtmehrwirklichbenutzt.
§ AlterdesZugriffs(bzw.derletztenZugriffe)wirdnicht
berücksichtigt.
• "Problem"kanndurchperiodischesHerabsetzender
Referenzzähleradressiertwerden.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
44
Least-Recently-Used (LRU)
§ ErsetzungbasierendaufZeitseitdemletztenZugriffaufSeite.
§ HalteSeiteninFormeinesStacks:
• EineSeitekommtbeijederReferenzaufoberstePosition
• SeiteaufderunterstenPositiondesStackswirdbeiBedarf
ersetzt
§ Beispiel:
• Zugriff(indieserReihenfolge)aufSeiten:
A,B,C,D,A,C,A,B,B,B,C,D,A.
• PufferhatPlatzfür3Seiten.SeiteEsolleingelagertwerden.
WelcheSeitemussweichen?
§ Beobachtung:
• Waspassiert,wennineinerLeseoperationvonderFestplatte
vieleneueSeitengelesenwerden?
• Wiesoistdasproblematisch?
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
45
TheoretischeSicht
§ WirbetrachteneinenStringvonReferenzenaufSeiten
𝑟𝑟1, 𝑟𝑟2, …, 𝑟𝑟𝑡𝑡, …
wobei𝑟𝑟𝑡𝑡 = 𝑝𝑝bedeutet,dassaufSeite𝑝𝑝 zugegriffenwurde.
§ ZueinemZeitpunkt𝑡𝑡 nehmenwiran,dassjedeSeiteeinegewisse
Wahrscheinlichkeit𝑏𝑏𝑝𝑝besitztalsnächstesaufgerufenzuwerden,
d.h.Pr(𝑟𝑟<=% = 𝑝𝑝) = 𝑏𝑏𝑝𝑝.
§ Interarrival Time
WievieleZugriffeliegenzwischendenZugriffenaufeineSeite𝑝𝑝?
Genau𝑏𝑏>?% .
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
46
Interarrival Time- AnnäherungdurchLRU
§ Interarrival Time:ZwischenzweiZugriffenaufSeite𝑝𝑝 liegen
𝑏𝑏>?% Zugriffe.
§ DiejenigenSeitenmitkleinsterInterarrival Timebzw.größter
Wahrscheinlichkeit𝑏𝑏𝑝𝑝 solltenimPuffergehaltenwerden.
§ DieswirdbeiLRUapproximiertdurchdieSeitenmitdemZeitpunkt
desletztenZugriffsaufSeite.
WeitereErsetzungsstrategienwerdeninderVLDatenbanksystemeim
Wintersemestervorgestellt.
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
47
Zusammenfassung
§ AuswertungvonAnfragen
• Anfrageplanbestehtaus(logischen)Operatoren
• VerschiedeneImplementierungen(physischeOperatoren),
basierendaufIteratorkonzept
• AuswahlvonphysischenOperatorenanhandvonKostenmodell
§ VereinfachteE/A-Architektur:ZweistufigeSpeicherhierarchie
• Externspeicher (groß,billig,nicht-flüchtig)zurlangfristigen
SpeicherungderDatenerforderlich
- KostenmodellfürwahlfreienundsequentiellenZugriff
- SequentiellerZugriffistschneller!
• PhysischeOrganisationvonDatenbanken
- SpeicherungvonSätzenaufSeiten
• DB-Pufferverwaltung
- Ersetzungsstrategien
Informationssysteme2017
Kapitel10:E/A-ArchitekturundZugriff
48
Herunterladen