Green-IT und Datenbanken - ODBMS
Green-IT und Datenbanken - ODBMS
Green-IT und Datenbanken - ODBMS
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