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.2 Energieeffizienz <strong>und</strong> Indizes<br />
Die Phase bis 110 Sek<strong>und</strong>en in Abbildung 6.4 entspricht Modul C in Abfrageplan 6.6.<br />
Die Phase ab 110 Sek<strong>und</strong>en entspricht Modul B. Es ist aus der Auslastungsgrafik ersichtlich,<br />
dass die Auswertung der WHERE-Bedingung anhand des Index <strong>und</strong> das<br />
Schreiben der temporären Datei sehr CPU-intensiv ist. Die Verarbeitung von Modul<br />
C hat eine niedrige CPU-Intensität <strong>und</strong> eine hohe Auslastung der Festplatte zufolge.<br />
Für den Energiebedarf ist dies ein Optimum, da die CPU im Vergleich zur Festplatte<br />
ein Vielfaches an Strom verbraucht. Wir sehen an Abfrage 6 mit Index, das die Nutzung<br />
des selbigen Folgen für die Auslastung des Gesamtsystems <strong>und</strong> damit für den<br />
Energieverbrauch hat.<br />
Es gibt dafür zwei Gründe. Der Erste ist, das durch den Index effizient Datensätze<br />
von der Berechnung ausgeschlossen werden können. Die weitere Bearbeitung der<br />
Abfrage erfolgt auf einer Untermenge von Datensätzen aus der Tabelle lineitem. Somit<br />
kann die Überprüfung der Datensätze schneller abgeschlossen werden. Dies hat<br />
Auswirkungen auf die Bearbeitungszeit. Der zweite Gr<strong>und</strong> ist die Reduzierung der<br />
Berechnungen. Nach der Nutzung des Index muss für die Bearbeitung der Abfrage<br />
eine Bedingung weniger ausgewertet werden, wodurch die die Gesamtzahl der Berechnungen<br />
reduziert wird. Daraus folgt ein Sinken der CPU-Auslastung <strong>und</strong> ein Anstieg<br />
der Leserate, wie in Abbildung 6.4 zu sehen ist.<br />
Die Energieersparnis ergibt sich hier durch Reduzierung der Berechnungen bei gleichzeitiger<br />
Reduzierung der Datensätze.Wir führen den folgenden SQL Befehl aus:<br />
SELECT count(l_shipdate) FROM lineitem WHERE<br />
l_shipdate >= ToDate(’1994-01-01’,’YYYY-MM-DD’)<br />
and l_shipdate < DateAdd(’yyyy’,1,’1994-01-01’)<br />
Das Ergebnis liefert 9.099.165 Datensätze zurück. Somit fallen 15 % der Datensätze<br />
der Tabelle lineitem in den abgefragten Wertebereich. Das heißt ca. 85 % der Datensätze<br />
wurden aus der Berechnung ausgeschlossen.<br />
TPC-H Abfrage 8 hat einen komplexeren Aufbau :<br />
select<br />
o_year,<br />
sum(case<br />
when nation = ’BRAZIL’ then volume<br />
else 0<br />
end) / sum(volume) as mkt_share<br />
from (<br />
select<br />
DatePart(’yyyy’,o_orderdate) as o_year,<br />
l_extendedprice * (1 - l_discount) as volume,<br />
n2.n_name as nation<br />
from<br />
101