Green-IT und Datenbanken - ODBMS
Green-IT und Datenbanken - ODBMS
Green-IT und Datenbanken - ODBMS
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
2.3 Die Datenbank Caché<br />
Beispiel in [GP87]), sondern auch unter dem Aspekt der Energieeffizienz betrachtet<br />
werden. Eine noch offene Frage ist, ob die zum Komprimieren <strong>und</strong> Dekomprimieren<br />
benötigte Energie für den Prozessor größer als die Energie-Einsparung durch die geringere<br />
I/O-Aktivität ist.<br />
Eine ungewöhnliche Energie-Einsparmöglichkeit bieten Update-Operationen. Updates<br />
von Daten müssen zum Beispiel auch für alle Indizes gemacht werden. Dies muss<br />
aber nicht notwendigerweise direkt geschehen, so Goetz. Durch das Aufschieben von<br />
Index-Aktualisierungen können Lastspitzen vermieden werden. Eine mögliche Form<br />
der verzögerten Index-Aktualisierung ist, die Aktualisierung zwar vorläufig zu speichern,<br />
aber noch nicht an der finalen, suchoptimierten Stelle in zum Beispiel einem<br />
B-Baum.<br />
2.3 Die Datenbank Caché<br />
Im Jahre 1997 wurde die erste Version von Caché [Inte] als Nachfolger von M/SQL<br />
-bzw. Open M von Intersystems veröffentlicht. Bei M/SQL <strong>und</strong> Open M handelt es<br />
sich um integrierte Umgebungen zur Entwicklung <strong>und</strong> Ausführung von Datenbankanwendungen.<br />
Sowohl M/SQL als auch Open M vereinen die eigens für Datenbankanwendungen<br />
entwickelte prozedurale Programmiersprache M (alias MUMPS) mit<br />
der schon damals weit verbreiteten Abfragesprache für relationale <strong>Datenbanken</strong>, der<br />
Structured Query Language (SQL).<br />
Da es sich bei MUMPS um eine in den späten 1960er Jahren von Neil Pappalardo<br />
<strong>und</strong> Kollegen am Massachusetts General Hospital (Utility Multi-Programming<br />
System) entwickelte Programmiersprache für die Entwicklung von multi-user datenbankgestützten<br />
Anwendungen handelt, wird auch deutlich, dass die Wurzeln von<br />
Caché im Ges<strong>und</strong>heitswesen liegen.<br />
Caché ist eine objektorientierte, im Kern hierarchische Datenbank, die auf klassischen<br />
B + -Bäumen basiert, die mit multidimensionalen Arrays, den sogenannten Globals,<br />
kombiniert sind. Diese multidimensionale Daten-Engine erlaubt es, komplexe<br />
Datenstrukturen kompakt zu speichern.<br />
Eine Besonderheit von Caché ist der optionale Zugriff auf diese multidimensionale<br />
Datenstruktur über Objekte oder SQL. Es kann also wahlweise wie eine relationale<br />
oder objektorientierte Datenbank verwendet werden, gerade so, wie es für ein gegebenes<br />
Problem am günstigsten ist. Damit dies funktioniert, erzeugt Caché bei der<br />
Definition einer Oberklasse automatisch eine für SQL nutzbare relationale Datenstruktur.<br />
Umgekehrt wird beim Import einer DDL-Definition in das Data-Dictonary<br />
eine Objektbeschreibung der Daten erzeugt. Caché sorgt in beiden Fällen dafür, dass<br />
die Strukturen der beiden Ansätze stets konsistent sind <strong>und</strong> nur eine Definition gepflegt<br />
werden muss. Die Daten werden in einem einzigen integrierten Data Dictionary<br />
nur ein Mal beschrieben <strong>und</strong> stehen sofort für alle Zugriffsmethoden zur Verfügung.<br />
15