30.08.2013 Aufrufe

Green-IT und Datenbanken - ODBMS

Green-IT und Datenbanken - ODBMS

Green-IT und Datenbanken - ODBMS

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6 Energieoptimierungen<br />

seite im Arbeitsspeicher als "dirty"markiert, kann sofort ein In-Memory-Logsektor<br />

im Arbeitsspeicher zur Verfügung gestellt werden. Dieser Logsektor kann dann auf<br />

den Flash-Speicher geschrieben werden, wenn der Logsektor im Arbeitsspeicher voll<br />

ist oder die Seite aus dem Arbeitsspeicher entfernt wird. Um diese Idee umsetzen<br />

zu können, wird ein Block des Flash-Speichers in zwei Teile unterteilt. Der eine Teil<br />

enthält die Datenseiten <strong>und</strong> der andere die Logsektoren. Die Größe des In-Memory-<br />

Logsektors muss genauso groß sein wie die des Flash-Speichers.<br />

Wenn ein Block keine ausreichend freien Speichermöglichkeiten für die Log-Einträge<br />

mehr hat, werden die Seiten <strong>und</strong> Log-Einträge in einem neuen Block zusammengeführt.<br />

Hierbei wird aus der Vorgängerversion einer Seite <strong>und</strong> den entsprechenden<br />

Log-Einträgen die aktuelle Version einer Seite erzeugt <strong>und</strong> in dem neuen Block gespeichert.<br />

Dies geschieht für alle Seiten des vollen Blockes gleichzeitig. Da sich in dem<br />

neuen Block nun bereits die aktuellen Versionen der Seiten befinden, sind die alten<br />

Log-Einträge obsolet <strong>und</strong> müssen nicht mehr gespeichert werden. Somit ist wieder<br />

ausreichend Platz für neue Log-Einträge. Der Inhalt des ursprünglichen Blockes wird<br />

anschließend gelöscht.<br />

Der IPL-Ansatz benötigt neben diesem den Schreibzugriff minimierenden Verfahren<br />

auch einen anderen Leseansatz. Wenn eine defekte Seite neu gelesen werden muss, geschieht<br />

dies durch das Lesen der ursprünglichen Version der Seite vom Flash-Speicher.<br />

Gleichzeitig wird der korrekte Zustand der Seite mit Hilfe der Log-Einträge, welche<br />

sich im selben Block befinden, wieder hergestellt. Zwar ist die Rekonstruktion der<br />

Seite beim Lesen teuer, aber es werden dadurch viele Schreiboperationen gespart, da<br />

das Zusammenführen nur dann ausgeführt werden muss, wenn der Logsektor voll ist.<br />

Simulationen haben gezeigt, dass die IPL-Strategie dabei helfen kann, die Nachteile<br />

von Flash-Speichern zu überwinden, <strong>und</strong> eine bessere Performance erzielt [Lee07].<br />

FlashDB<br />

FlashDB ist eine für Flash-Geräte optimierte, von Suman Nath <strong>und</strong> Aman Kansal<br />

[Nat07] vorgestellte, Datenbank. Die Datenbank wird mit den Lese- <strong>und</strong> Schreibkosten<br />

des verwendeten Flash-Speichers konfiguriert <strong>und</strong> passt daraufhin ihre Speicherstruktur<br />

so an, dass der Energieverbrauch gesenkt <strong>und</strong> die Latenzzeit für den<br />

Workload optimiert wird. FlashDB besteht aus zwei Einheiten, zum einen dem<br />

Datenbank-Manager, der für die eigentlichen Datenbankoperationen wie Indexerstellung<br />

<strong>und</strong> Query-Compilation verantwortlich ist, <strong>und</strong> zum anderen dem Storage-<br />

Manager, der für die effiziente Ansteuerung des Flash-Speichers verantwortlich ist.<br />

Der Storage-Manager kontrolliert den Puffer <strong>und</strong> die Garbage-Collection. Die Architektur<br />

von FlashDB ist in Abbildung 6.22 dargestellt. Die zentrale Idee hinter<br />

FlashDB ist ein selbstanpassender B + -Baum für die Indexstruktur. Für Flashspeicher<br />

gibt es zwei verschiedenen B + -Bäume:<br />

126<br />

1. B + -Baum(Disk): Hierbei werden die Konten des Baumes je nach Größe über<br />

mehrere hintereinander liegende Seiten auf dem Flash-Speicher abgelegt. Diese

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!