Verwaltung des Hintergrundspeichers

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Kap. 7 Sortierverfahren Kap. 7.0 Darstellung, Vorüberlegungen
Die Schulkonsole für Lehrerinnen und Lehrer
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Eine dynamische Menge, die diese Operationen unterstützt,
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Claudio Moraga; Gisbert Dittrich
Übersicht RAID-Verfahren Labor für Betriebsdatenverarbeitung
Lehrmaterial Grundlagen EDV
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2012.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Kapitel 7 Physische Datenorganisation
1 JIM-Studie 2010 Jugend, Information, (Multi-)Media Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
= = = = 47 = 47 = 48 = =
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
SS 2004B. König-Ries: Datenbanksysteme2-1 Kapitel 2: Referenzarchitektur für Datenbanksysteme Methodischer Architekturentwurf Architekturentwurf für Datenbanksysteme.
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
AC Analyse.
Prof. Dr. Bernhard Wasmayr
Datenmanagement in Sensornetzen PRESTO - Feedback gesteuertes Datenmanagement - SS 2007 Sören Wenzlaff.
Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Universität Karlsruhe (TH) © 2009 Univ,Karlsruhe, IPD, Prof. LockemannDBI 10 Kapitel 10 Anfragebearbeitung.
Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 1 Kapitel 1 Architektur als Leitfaden.
Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 7 Kapitel 7 Zugriffsschicht: Zuverlässigkeit.
Universität Karlsruhe (TH) © 2008 Univ,Karlsruhe, IPD, Prof. LockemannDBI 0 Datenbankimplementierung und -tuning Einführung.
ausdrucksschwächeres
Raid 0.
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
2 Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
20:00.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Systeme 1 Kapitel 4 Prozesse WS 2009/10.
Where Europe does business Lück, JDZB | Seite © GfW NRW 252 a.
Syntaxanalyse Bottom-Up und LR(0)
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
3.4 CPU-Chips und Busse CPU-Chips
Analyse von Ablaufdiagrammen
PROCAM Score Alter (Jahre)
Vorlesung Datenbanksysteme vom Physische Datenorganisation
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Symmetrische Blockchiffren DES – der Data Encryption Standard
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Mathematical Programming Nichtlineare Programmierung.
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Segment-Verwalter: Performanz Aufgabe: Performanzkontrolle bzgl. Hintergrundspeicherung. Voraussetzung: Nutzung der Performanzgarantien der physischen.
Referenzarchitektur Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht.
Referenzarchitektur Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht.
Referenzarchitektur Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht.
Prof. Dr. T. Kudraß1 Speicherverwaltung: Flash-Laufwerke.
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
RAID-Systeme - Standards - Leistungsmerkmal - Redundanz - Datensicherheit eine Präsentation von Jochen Throm an der Berufsakademie Mosbach.
 Präsentation transkript:

Verwaltung des Hintergrundspeichers Kapitel 2 Verwaltung des Hintergrundspeichers

Gegenstand des Kapitels Datenmodell Performanz Datentypen: Satzmengen Operatoren: Operatoren auf Mengen Mengenorientiertes Datenmodell Anfragebearbeitung Optimaler Einsatz der logischen Ressourcen Datentypen: Sätze und Satzmengen Operatoren: Operatoren auf Sätzen Satzorientiertes Datenmodell Satz- u. Satzmengenverwaltung Vorschau auf zukünftig benötigte Daten Datentypen: phys. Zugriffsstrukturen auf Sätze Operatoren: seq. Durchlauf, gezielte Suche Satzzugriffsstrukturen Zugriffsschicht Vermeiden nicht aktuell benötigter Daten Transparenter homogener Speicher Datentypen: Seite = feste Anzahl von Bytes Segment = var. Anzahl von Seiten Operatoren: Anforderung/Freigabe von Seiten Segmente anlegen/öffnen/schließen Hauptspeicherseiten u. Segmente Segment- u. Pufferverwaltung Bevorratung von Daten im Hauptspeicher (rechtzeitige Bereitstellung vor Benutzung) Dateien Datentypen: Block = feste Anzahl von Bytes Datei = variable Anzahl v. Blöcken Operatoren: Dateien anlegen/öffnen/schließen Lesen/Schreiben von Blöcken Dateiverwaltung Schneller Transport zwischen Haupt- und Hintergrundspeicher Geräteschnittstelle Speicherstruktur Geräte-E/A

Magnetplattenspeicher Kapitel 2.1 Magnetplattenspeicher

Technische Eigenschaften Kapitel 2.1.1 Technische Eigenschaften

Disk-Array-Controller Latenzzeit Prozessor vernachlässigbar Bus Hauptspeicher Disk-Array-Controller Latenzzeit: Zeit von der Anforderung bis zum kompletten Erhalt der Daten Latenzzeit daher hier bestimmt!

Speichertopologie Plattenoberfläche eingeteilt in Spuren Spuren formatiert in durch Lücken getrennte Sektoren fester Größe (Slots) von 1-8 kB Sektoren sind Schreib-/Lese-Einheit Adressierung: Zylinder-Nr/Spur-Nr/Sektor-Nr

Technische Merkmale von Magnetplatten (1) Beispiel (nach Garcia-Molina et al., 2002): Plattendurchmesser 3,5 in Zahl der Oberflächen 16 (24) Zahl d. Zylinder (Spuren pro Oberfläche) 16.384 (214) Mittl. Zahl der Sektoren pro Spur 128 (27) Sektorkapazität 4.096 B (212) Spurkapazität 512 kB (219) Gerätekapazität 128 GB (237)

Technische Merkmale von Magnetplatten (2) Suchzeit (nach Garcia-Molina et al.): Zugriff selber Zylinder 0 ms Zugriffsbewegung (min) tsmin 3 ms Zugriffsbewegung (mittel) tsav 8 ms Zugriffsbewegung (max) tsmax 17 ms Suchzeit [ms] Anzahl traversier- ter Zylinder Ndev 1 4 8 12 16

Technische Merkmale von Magnetplatten (3) Rotationsverzögerung (nach Garcia-Molina et al.): Rotationsgeschwindigkeit 7.200 Upm (120 Ups) Rotationszeit 8,33 ms (1/120) Min. Verzögerung 0 ms Max. Verzögerung 8,33 ms Mittl. Verzögerung 4,16 ms Verzögerung [ms] Spuranteil bevor Sektor erreicht ist 1 4,16 8,33 0,5

Technische Merkmale von Magnetplatten (4) Übertragungszeit (nach Garcia-Molina et al.): Mittl. Zahl der Sektoren pro Spur 128 Nutzanteil pro Sektor 90% Rotationszeit 8,33 ms (1/120) Rotationswinkel pro Sektor (3600,9)/128 = 2,53125o Transferzeit pro Sektor 8,332,53125/360 = 0,0586 ms Übertragungsrate 60 MB (512kB120) Fazit: Positionierungen (Suchzeit und Rotationsverzögerung) dominieren die Latenzzeit. Sie stellen die Engpassressource dar.

RAM: Eine Alternative? Jahr Plattenkosten pro MB in Dollar RAM-Kosten pro MB in Dollar Kostenverhältnis 1956 10.000 ? 1980 250 1985 100 1990 10 1995 1 2000 0.02 50 2005 0.001 0.1 2007 0.0003 0.03 Quelle: http://www.littletechshoppe.com/ns1625/winchest.html c‘t Oktober 2007 Auch im laufenden Betrieb kann nur ein kleiner Teil der Datenbasis im RAM geführt werden!

Flash-Speicher: Eine Alternative? Merkmal Flash-Speicher Plattenspeicher Kapazität in GB 32 250 Zugriffszeit in ms 0,1 10 Übertragungsbandbreite in MB/s 66 300 Energiebedarf (aktiv/Leerlauf/Schlaf) in W 1 / 0,1 / 0,1 10 / 8 / 1 Preis pro GB in US$ 31,20 0,32 Lesezeit für 4kB/256kB-Block in ms 0,16 / 3,98 12,01 / 12,85 Quelle: Comm. ACM, Juli 2009, Seite 50 Schreiben immer noch problematisch: Überschreiben: Löschen+Schreiben 1-2 ms + 0,25 ms Löschzeit durch Vorratshaltung vermeidbar Überschreiben max. 10.000 bis 100.000 mal Sinnvoll: Teil der Speicherhierarchie

Kapitel 2.1.2 Performanz

Disk-Array-Controller Latenzzeit (1) Ziel: Verkürzung der mittl. (Suchzeit + Rotationsverzögerung). Ansatz Datenparallelität: Überlappe Speicherzugriffe. Gleichzeitiger Zugriff auf mehrere Speicher, somit innerhalb eines Zeitintervalls mehrere Positionierungen gleichzeitig. Disk-Array-Controller

Parallelität (1) Bei einfacher Positionierungszeit steigt die Übertragungsbandbreite linear mit der Anzahl der Zugriffsarme  Verbindungsweg muss für die höhere Übertragungsrate ausgelegt werden. © Prof. Kemper, TUM

Platten-Felder (1) Gängige Realisierung durch Hunderte kleinerer, über ein einziges Steuerwerk eng gekoppelter Platten = Verteilung derselben Speicherkapazität auf mehrere, kleinere Platten. Wirtschaftliche Lösung für die Hintergrundspeicherung, weil diese Platten aufgrund hoher Stückzahlen nur noch geringe Speicherkosten verursachen (man spricht dann auch von Redundant Arrays of Inexpensive Disks (RAID)). Heute sehr verbreitet!

Disk-Array-Controller Platten-Felder (2) Partitionierung der Daten: Declustering: Anwendungsspezifische Partitionierung. Voraussetzung: Vorwissen über Nutzung der Daten. Striping: Auffassung der Daten als Bytesequenzen und Verteilung nach einem regelmäßigen Muster. Disk-Array-Controller B13 B11 B12 Spiegelung: Replikation auf allen Platten. Lesen beschleunigt, Schreibdauer unverändert.

Latenzzeit (2) Ziel: Verkürzung der mittl. Suchzeit. Ansatz Aufzugstrategie: Sammle und optimiere. Minimiere Kopfbewegungen: Bleibe im unteren Teil der Kurve. Suchzeit [ms] Anzahl traversier- ter Zylinder Ndev 1 4 8 12 16 Controller: Sammle dazu mehrere Zugriffswünsche und arbeite sie in der Reihenfolge des Überstreichens der Oberflächen ab.

Aufzugstrategie Adr. Zylinder 2000 6000 14000 Adr. Zylinder 6000 14000 Kopf 5000 10000 15000 20000 Adr. Zylinder 2000 6000 14000 Adr. Zylinder 6000 14000 Adr. Zylinder 6000 14000 4000 Adr. Zylinder 14000 4000 Adr. Zylinder 14000 4000 16000 Adr. Zylinder 4000 16000 Adr. Zylinder 4000 16000 10000 Adr. Zylinder 4000 10000 Kopf 5000 10000 15000 20000 Adr. Zylinder Adr. Zylinder 4000 Adr. Zylinder 4000 10000

Kapitel 2.2 Dateien

Kapitel 2.2.1 Funktionalität

Funktionale Sicht auf Hintergrundspeicher Adressierung eines Slot: Bezeichnung der Platte Nummer des Zylinders der Spur des Slots Funktionalität: Einheitliche Sicht auf alle Geräte als Menge von Sektoren (Slots) unveränderlicher Position und Länge Speichergeräte (Technologie) Formatierung in Sektoren

Funktionserweiterung zu Dateien (1) Einbezug von Vorwissen  Physische Datei: Gruppierung (irgendwie) als zusammengehörig betrachteter Blöcke (Unterteilung der Blockmenge) Von der Struktur zum inhaltstragenden Behälter  Physischer Block: Funktionalität: Einheitliche Sicht auf alle Geräte als Menge von Sektoren (Slots) unveränderlicher Position und Länge Speichergeräte (Technologie) Formatierung in Sektoren

Funktionserweiterung zu Dateien (2) Funktionalität: Sammlung von als zusammengehörig betrachteten Blöcken Abstraktion von der physischen Position von Blöcken: Die Blöcke werden über eine laufende Nummer adressiert. Datei: Unabhängigkeit von Geräten und deren Eigenschaften Physische Dateien Funktionalität: Einheitliche Sicht auf alle Geräte als Menge von Sektoren (Slots) unveränderlicher Position und Länge Speichergeräte (Technologie) Formatierung in Sektoren

Performanz und Skalierbarkeit Kapitel 2.2.2 Performanz und Skalierbarkeit

Latenzzeit (3) Ziel: Verkürzung der mittl. (Suchzeit + Rotationsverzögerung). Ansatz Mehr Daten pro Suchzeit und Rotationsverzögerung: Sofern Daten aus mehreren physischen Blöcken gemeinsam genutzt werden, übertrage sie gemeinsam  Definiere logischen Block als Folge physischer Blöcke. Definition: Wir bezeichnen zwei Sektoren S1 und S2 als benachbart, wenn der gemeinsame Zugriff von S1 zu S2 minimal mögliche Zeit in Anspruch nimmt. Umsetzung: Datenparallelität. Ablegen des logischen Blocks in physisch benachbarten Sektoren.

Nachbarschaft (1) Blöcke sind physisch benachbart, wenn sie geeignet versetzt auf der selben Spur oder einer anderen Spur des selben Zylinders liegen (das Umschalten von einer Spur auf eine andere innerhalb eines Zylinders kostet keine Zeit). S6 S5 S4 S1 S3 S8 S7 B1 B6 S2

Nachbarschaft (2) Versetzte Zuordnung der Sektoren zu einem logischen Block: Versatz: Positionierung des benachbarten Sektors unter dem Schreib-/Lesekopf muss die Bearbeitungszeit für einen übertragenen Sektor berücksichtigen. Beispiel: Interleave (Versatz) -Faktor von 2: B11 S8 S1 B14 S7 S2 S6 S3 B12 S5 S4 B13

Nachbarschaft (3) Logischer Block als Übertragungseinheit: Beispiel: Übertragung eines logischen Blocks, gespeichert in 4 physisch benachbarten Sektoren. Latenzzeit = mittl. Suchzeit+mittl. Rotationsverzögerung +Transferzeit(4 Sektoren)+Wartezeit(3 Lücken) = 8+4,16+40,0586+30,0065 = 12,16+0,254 = 12,21 ms Beispiel: Übertragung eines logischen Blocks, gestreut gespeichert in 4 getrennten Sektoren. Latenzzeit = 4 Sektoren  (mittl. Suchzeit+mittl. Rotationsverzögerung+Transferzeit) = 4  (8+4,16+0,0586) = 48,64+0,234 = 48,9 ms

Blocklänge Wie viele Sektoren soll ein logischer Block zweckmäßig umfassen? Obergrenze bei Nichtparallelität: Zylinder. Große Länge: Starke Reduktion von mittlerer Suchzeit und Rotationsverzögerung, aber Gefahr des Übertragens vieler nicht benötigter Daten. Geringe Länge: Gezielte Übertragung benötigter Daten, aber Gefahr hoher (gesamter) Suchzeit und Rotationsverzögerung. Folgerung: Betrachte Auswirkungen auf den höheren Schichten der Architektur. Mache Länge einen Parameter für die Administration.

Skalierbarkeit (1) Aufgabe: Primitive Grundform der dynamischen Menge: Wachsen und Schrumpfen muss möglich sein. Lösung: Physische Platten werden in Partitionen eingeteilt. Eine Partition ist ein zusammenhängender Bereich von Zylindern (Bsp.: Zylinder 102 bis Zylinder 201). Einer Datei können eine oder mehrere (nicht notwendig zusammenhängende) Partitionen zugeordnet werden. Die Partitionen der Datei können zu einer oder mehreren physischen Platten gehören. Eine Datei kann beliebig wachsen und schrumpfen, indem Partitionen hinzugenommen bzw. wieder entfernt werden.

Skalierbarkeit (2) Jede physische Platte besitzt eine Partitionstabelle, die die Partitionierung der Platte beschreibt. Sie ist auf einem ausgezeichneten Sektor der Platte abgelegt (bspw. dem ersten). Partitionstabelle für physische Platte sda:

Skalierbarkeit (3) Jede Datei wird durch eine Tabelle definiert, die die Partitionen angibt, die zu ihr gehören. Die Tabellen sind auf einer ausgezeichneten physischen Platte in einem ausgezeichneten Sektor abgelegt. Definitionstabelle für Datei 4711: Performanz: Wenn – wie häufig – der sequenzielle Zugriff dominiert, sollten die Partitionen möglichst groß gewählt werden.

Adressierung von Blöcken (1) Die Blockgröße soll innerhalb der Datei einheitlich sein, da ansonsten die Verwaltung zu kompliziert wird. Für die Nummerierung der (logischen) Blöcke einer Datei wird eine Ordnung der Partitionen benötigt und in einer Datenstruktur verwaltet. Die Blöcke werden z.B. nach aufsteigenden Partitionsnummern und dort nach aufsteigenden Sektoradressen nummeriert. Die Sektoradresse zu einer Blocknummer kann mittels der Definitionstabelle der Datei und den entsprechenden Partitionstabellen der physischen Platten berechnet werden.

Adressierung von Blöcken (2) Log. Block: Nr, Länge Datei 4711 Benötigte Partition und partitionsinterne Blocknummer Platte sda Spur(en) mit log. Block, daraus Sektornummern der phys. Blöcke

Formatierung in Sektoren Zusammenfassung (1) Funktionalität: Dynamisch wachsende und schrumpfende Sammlung von als zusammengehörig betrachteten logischen Blöcken Blöcke haben feste und gleiche, für die Datei wählbare Länge. Abstraktion von der physischen Position von Blöcken: Die Blöcke werden über eine laufende Nummer adressiert. Datei: Unabhängigkeit von Geräten und deren Eigenschaften Physische Dateien Funktionalität: Einheitliche Sicht auf alle Geräte als Menge von Sektoren (Slots) unveränderlicher Position und Länge Speichergeräte (Technologie) Formatierung in Sektoren

Zusammenfassung (2) Zusammenhang zwischen Dateien und physischen Platten: enthält ▶ Datei Log. Block 1 1.. 1 1 liegt in ▼ ▲ gehört zu 1.. umfasst ▼ Partition 1 umfasst ▼ ▲ gehört zu 1.. 1.. enthält ▶ enthält ▶ enthält ▶ Physische Platte Zylinder Spur Sektor 1 1.. 1 1.. 1 1..

Kapitel 2.2.3 Funktionalität

Dateiverwaltung (1) Schnittstelle für Dateien in der Betriebssteuersprache: Erzeugen/Zerstören von Partitionen und Dateien. Zuordnung von Partitionen zu Dateien. Schnittstelle für Blöcke durch prozedurale Einbettung der Operationen: Öffnen/Schließen von Dateien zum Lesen bzw. Lesen und Schreiben. Operationen zum Lesen und Schreiben eines Blocks: Fetch, Write, Check, Wait. Hierbei sind sequenzielle oder direkte (wahlfreie) Blockzugriffe möglich.

Dateiverwaltung (2) Reines Behälterprinzip: Logische Blöcke nehmen beliebige Inhalte auf. Die Inhalte werden durch die Datei-Anwendung bestimmt. Varianten der Behälter-Allokation: Behälter-Verwaltung durch die Anwendung: Die Dateiverwaltung stellt dazu der Anwendung eine Behältermenge (z.B. alle Blöcke einer Datei) zur Verfügung. Behälter-Verwaltung durch die Datei-Verwaltung: Die Dateiverwaltung stellt dazu der Anwendung einzelne Behälter zur Verfügung  erfordert i. Allg. eine dateispezifische Freispeicherverwaltung. Wahl für Datenbanksysteme:  Kontrolle dorthin wo mehr Hintergrundwissen vorliegt.

Kapitel 2.3 Zuverlässigkeit

Einzelne Platte Hardware: Verwendung selbstkorrigierender Fehlercodes. Vorhalten von Ersatz-Sektoren bei fehlerhaften Sektoren. Steuerung bei Lesen: Einfaches Lesen: Abbruch bei Fehler und Fehlermeldung. Sicheres Lesen: Bei erfolglosem Lesen Wiederholung bis zu 255-mal. Steuerung bei Schreiben: Einfaches Schreiben: Keinerlei Garantie für atomares Schreiben  katastrophale Auswirkung. Sicheres Schreiben: Garantiert atomares Schreiben durch Lesen nach Schreiben und Vergleich. Stabiles Schreiben: Sicheres Schreiben + Sicherung gegen Datenverlust durch „Sektor-Pairing“. 

Platten-Felder Partitionierung der Daten: Declustering: Anwendungsspezifische Partitionierung. Voraussetzung: Vorwissen über Nutzung der Daten. Striping: Auffassung der Daten als Bytesequenzen und Verteilung nach einem regelmäßigen Muster. Spiegelung: Replikation auf allen Platten. Lesen beschleunigt, Schreibdauer unverändert. „The problem with many small disks: Many small faults“ Sei MTTF Erwartungswert für die Zeit zwischen zwei Ausfällen einer Platte (mean-time-to-failure). Dann Erwartungswert für die Zeit zwischen zwei Ausfällen eines Feldes mit N Platten: MTTF/N.

RAID 0: Striping auf Block-Ebene Lastbalancierung wenn alle Blöcke mit gleicher Häufigkeit gelesen/geschrieben werden Doppelter Durchsatz beim sequentiellen Lesen der Datei bestehend aus den Blöcken ABCD... Stripingbreite = Anzahl der Platten, hier 2 Nur Skalierbarkeit, keine erhöhte Zuverlässigkeit A B C D Datei A B C D Quelle: Prof. Kemper, TUM u. Prof. Pfeifer, HHN

RAID 1: Spiegelung (mirroring) Zuverlässigkeit: durch Redundanz aller Daten (engl. mirror) Doppelter Speicherbedarf Lastbalancierung beim Lesen: z.B. kann Block A von der linken oder der rechten Platte gelesen werden Aber beim Schreiben müssen beide Kopien geschrieben werden Kann aber parallel geschehen Dauert also genauso lange wie das Schreiben nur eines Blocks A B C D A B A B Datei C D C D Quelle: Prof. Kemper, TUM u. Prof. Pfeifer, HHN

RAID 0+1: Striping und Spiegelung Kombiniert RAID 0 und RAID 1 Immer noch doppelter Speicherbedarf Zusätzlich zu RAID 1 erzielt man hierbei auch einen höheren Durchsatz beim Lesen der gesamten Datei ABCD.... Wird manchmal auch als RAID 10 bezeichnet Datei A B C D A B A B C D C D Quelle: Prof. Kemper, TUM u. Prof. Pfeifer, HHN

RAID 3: Striping auf Bit-Ebene Anstatt ganzer Blöcke, wie bei RAID 0 und RAID 0+1, wird das Striping auf Bit- (oder Byte-) Ebene durchgeführt (RAID 2) Es wird auf einer Platte noch die Parität der anderen Platten gespeichert. Parität = bit-weise xor  (RAID 3) Dadurch lässt sich der Ausfall einer Platte kompensieren Das Lesen eines Blocks erfordert den Zugriff auf alle Platten Verschwendung von Schreib/Leseköpfen Alle marschieren synchron Datei Paritäts-platte 1010 1101 1011 0110 0011 1100.... 111001... 010101... 101110... 011010... 011000...  Quelle: Prof. Kemper, TUM u. Prof. Pfeifer, HHN

RAID 3: Plattenausfall Datei 1010 1101 1011 0110 0011 1100.... Paritäts- platte 111001... 010101... 101110... 011010... 011000...  011010... Reparatur Quelle: Prof. Kemper, TUM u. Prof. Pfeifer, HHN

RAID 4: Striping von Blöcken + Parität RAID 3: Beim Schreiben muss auf jede Platte zugegriffen werden Bessere Lastbalancierung durch Block-bezogene Parität Bei Modifikation von Block A zu A‘ wird die Parität PA-D wie folgt neu berechnet: P‘A-D := PA-D  A  A‘ D.h. bei einer Änderung von Block A muss der alte Zustand von A und der alte Paritätsblock gelesen werden und der neue Paritätsblock und der neue Block A‘ geschrieben werden Aber: Paritätsplatte bildet einen Flaschenhals A E B F C G D H PA-D PE-H Quelle: Prof. Kemper, TUM u. Prof. Pfeifer, HHN

RAID 5: Striping v. Blöcken + verteilte Parität Bessere Lastbalancierung als bei RAID 4 Die Paritätsplatte bildet jetzt keinen Flaschenhals mehr Wird in der Praxis häufig eingesetzt Guter Ausgleich zwischen Platzbedarf und Leistungsfähigkeit Versagt nur bei gleichzeitigem Versagen mehrerer Platten ( weitere RAID-Stufen). A E B F C G D PE-H PA-D H I M J PM-P PI-L N K O L P Quelle: Prof. Kemper, TUM u. Prof. Pfeifer, HHN