Open Source im professionellen Einsatz

Paradigmen sprengen

Die derzeit übliche Datenbank-Architektur sieht vor, dass transaktionale Daten primär in einem OLTP-Datenbanksystem verwaltet werden, in dem sie auf dem neuesten Stand vorliegen. Ein Extract-Transform-Load-Prozess (ETL) lädt sie aus diesem in ein OLAP-System (Data Warehouse). Dies kann aber aus Belastungsgründen nur periodisch erfolgen, beispielsweise jede Nacht. In den bisherigen Systemen war es aus Leistungsgesichtspunkten nicht möglich, OLAP-Anfragen direkt auf den Daten des OLTP-Systems auszuführen.

Dies ändert sich durch die aufkommenden Hauptspeicher-DBMS. Solche Systeme werden als hybride OLTP&OLAP-Datenbanken bezeichnet. Sie vereinigen die besten Eigenschaften beider Welten, wie dies Abbildung 1 skizziert. Sie sollten im Transaktionsdurchsatz so gut sein wie dedizierte OLTP-Datenbanken (etwa Volt DB) und in der Anfragebearbeitung mit dedizierten OLAP-Engines wie etwa den Column-Stores Monet DB [8], Vertica, Vector Wise oder dem IBM-System Isao/Blink mithalten.

Abbildung 1: Hauptspeicher-Datenbanken im Überblick: Sie sind meist für OLAP (links) oder OLTP (rechts) optimiert. Nur wenige bieten das Beste aus beiden Welten (Mitte).

Das von SAP entwickelte Hana sowie das an der Technischen Universität München realisierte Hyper [9] sind die wohl bekanntesten Vertreter dieser hybriden Systeme, die für die so genannte Operational Business Intelligence entwickelt wurden. Hyper ist ein modernes Hauptspeicher-Datenbanksystem, das die Hardware-unterstützte virtuelle Speicherverwaltung des Betriebssystems für die Datenverwaltung und die Synchronisation zwischen OLTP-Transaktionen und OLAP-Anfragen ausnutzt.

Die Datenverwaltung "in-core" bildet die relationalen Daten direkt, also ohne Indirektion durch eine DBMS-kontrollierte Puffer- und Seitenverwaltung, auf den virtuellen Adressraum des OLTP-Prozesses ab. Dieser kann Transaktions-konsistente Snapshots der Datenbank anlegen, indem er einen neuen OLAP-Prozess abspaltet, unter Linux mit dem Systemaufruf »fork()« .

Der Copy-on-Write-Mechanismus des Gespanns von Betriebssystem und Prozessor sorgt für die Konsistenzerhaltung dieses Snapshots, indem er Seiten mit sich ändernden Datenobjekten repliziert. Dieses Snapshot-Verfahren entspricht dem Schattenspeicher-Konzept, das Lorie 1977 bei IBM erfunden hat – mit dem Unterschied, dass die virtuellen Speicher-Snapshots keinen der damaligen Nachteile haben: Die Speicherfragmentierung ist im Hauptspeicher kein Problem und die ursprünglich aufwändige Verwaltung der Schattenkopien ist im Hyper-Ansatz durch die eingebaute Prozessorunterstützung hocheffizient.

Daneben erlaubt die virtuelle Speicherverwaltung beliebig viele (zeitlich versetzte) Schattenkopien zu unterhalten. Das macht es möglich, mit Hyper ein Datenbanksystem zu realisieren, das die Vorteile der OLTP- und der OLAP-Datenbanken vereint: Im Transaktionsdurchsatz erzielt Hyper Werte vergleichbar oder besser als die dedizierten OLTP-Systeme (etwa Volt DB) und in der OLAP-Anfragebearbeitung ist Hyper vergleichbar mit dedizierten Column-Stores wie Monet DB oder Vector Wise [10]. (mhu)

Infos

  1. Times Ten: http://www.oracle.com/timesten/
  2. Solid DB: http://www-01.ibm.com/software/data/soliddb/
  3. Amazon.com, Annual Report 2011: http://phx.corporate-ir.net/phoenix.zhtml?c=97664&p=irol-reportsannual
  4. Volt DB: http://voltdb.com
  5. SAP Hana: http://www.sap.com/germany/plattform/in-memory-computing/index.epx
  6. Blink: http://www.almaden.ibm.com/cs/projects/blink/
  7. Hasso Plattner, Alexander Zeier, "In-Memory Data Management: An Inflection Point for Enterprise Applications": Springer, Berlin 2011
  8. Monet DB: http://www.monetdb.org
  9. Hyper: http://www3.in.tum.de/research/projects/HyPer/
  10. Alfons Kemper, Thomas Neumann, "HyPer – Hybrid OLTP&OLAP High Performance Database System": Technical Report, TUM-I1010, 2010; http://www3.in.tum.de/research/projects/HyPer/HyperTechReport.pdf

Der Autor

Alfons Kemper, Ph.D., http://www-db.in.tum.de/~kemper/ ist Inhaber des Lehrstuhls für Datenbanksysteme an der Technischen Universität München (TUM). Seine Forschungsschwerpunkte sind Internet-Datenverarbeitung, Hauptspeicher-Datenbanksysteme, verteilte Datenbanksysteme und Anfrageoptimierung.

Thomas Neumann http://www3.in.tum.de/~neumann/ ist Professor an der TUM. Er erforscht Performance-Optimierung in Datenbanken, dabei vor allem Anfrageoptimierung. Er entwickelte das System Hyper für relationale Hauptspeicher-Datenbanken sowie RDF-3X für RDF-Datenbanken.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook