Hybrid OLTP/OLAP Main Memory Database System Based on Virtual Memory Snapshots
Zusammenfassung der Projektergebnisse
Alle in dem Projektantrag beabsichtigten Arbeitspunkte wurden umfassend in unser HyPer-Datenbanksystem integriert, dessen Zielsetzung und Entwicklungsstand wir im Folgenden beschreiben. HyPer ist die neue Datenbankmaschine, die die Datenexploration in bislang nicht gekannter Effizienz unterstützt. In dieser Hinsicht ist HyPer die „enabling technology“ für bislang nicht mögliche, interaktive Anwendungen, mithilfe derer Menschen in Echtzeit die reale Welt anhand eines virtuellen Datenbankmodells in der digitalen Welt analysieren können. HyPer wird schon in hunderttausenden Anwendungen genutzt, um Kunden zu helfen, ihre Daten zu sehen und zu verstehen (Marketing-Slogan: „We help people see and understand their data.“). Beispiele hierfür sind neben den vielfältigen betriebswirtschaftlichen Fragestellungen (Analyse des Kundenverhaltens, Erfolgskontrolle von Marketingaktionen, Überwachung der Logistik, etc) auch politische Entscheidungsgrundlagen beispielsweise zum Klimawandel oder epidemiologische Datenauswertungen als Beleg für die Auswirkung von Impfungskampagnen auf Krankheitsfälle. Die Big Data-Auswertung führt zu objektiven Entscheidungen. HyPer wurde im Jahre 2010 an der TUM mit der Idee begonnen, ein (sogenanntes „all-inone“) Hauptspeicher-Datenbanksystem für heterogene Arbeitslasten aus Transaktionen und Analyseanfragen zu entwickeln. Diese neuartigen Systeme werden heute – gemäß Gartner – vielfach unter dem Begriff HTAP (Hybrid Transactional/Analytical Processing) klassifiziert. Die damalige Zielsetzung sollte mit zwei grundlegenden (damals disruptiven) Designentscheidungen erzielt werden: (1) Auswertung der Daten auf dem neuesten transaktionalen Zustand des Datenmodells und (2) effiziente Ausführung unter Ausnutzung moderner Rechner durch die Übersetzung der Anfragen in Maschinencode. Für den heterogenen Workload von transaktionalen und analytischen Anfragen wurden im HyPer-Projekt zwei komplementäre Verfahren entwickelt: Snapshotting des virtuellen Speichers durch „fork-ing“ eines Prozesses für die Analyse-Anfrage; Multi-Versionenen Synchronisation (MVCC) Die effiziente Anfragebearbeitung im Wesentlichen basiert auf zwei innovativen Beiträgen des HyPer-Projekts: Compilierung der SQL-Anfrage in Maschinencode; Hochparallele Ausführung durch kleinteilige Arbeitspakete (Morsel).
Projektbezogene Publikationen (Auswahl)
-
Efficiently compiling efficient query plans for modern hardware. PVLDB, 4(9):539-550, 2011
T. Neumann
-
HyPer – A hybrid OLTP&OLAP main memory database system based on virtual memory snapshots. Proc. IEEE Int’l. Conf. Data Engineering (ICDE), Hannover, 2011
A. Kemper and T. Neumann
-
Massively parallel sort-merge joins in main memory multi-core database systems. PVLDB, 5(10):1064-1075, 2012
M.-C. Albutiu, A. Kemper, and T. Neumann
-
The adaptive radix tree: ARTful indexing for main-memory databases. Proc. ICDE ’13, 38-49, 2013
V. Leis, A. Kemper, and T. Neumann
-
Exploiting hardware transactional memory in main-memory databases. Proc. IEEE Int’l. Conf. Data Engineering (ICDE) , 2014
V. Leis, A. Kemper, and T. Neumann
-
Morsel-driven parallelism: A NUMA- aware query evaluation framework for the many-core age. Proc. ACM SIGMOD Conf. Management of Data, 2014
V. Leis, P. Boncz, A. Kemper, and T. Neumann
-
Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems. ACM SIGMOD International Conference on Management of Data (SIGMOD 2015) May 31 - June 4, 2015, Melbourne, Australia
Thomas Neumann, Tobias Mühlbauer, Alfons Kemper
-
Data Blocks: Hybrid OLTP and OLAP on compressed storage using both vectorization and compilation. Proc. ACM SIGMOD Int’l. Conf. Management of Data (SIGMOD 2016), San Francisco, June 26 – July 1st, 2016
H. H. Lang, T. Mühlbauer, F. Funke, P. Boncz, T. Neumann, and A. Kemper
-
High-speed query processing over high-speed networks. Proc. 42nd Int’l. Conf. Very Large Databases (VLDB 2016), Delhi, September 5 – 9, 2016
W. Rödiger, T. Mühlbauer, A. Kemper, and T. Neumann
-
Adaptive Execution of Compiled Queries. 34th IEEE International Conference on Data Engineering (ICDE 2018) April 16 – 19, 2018, Paris
J. André Kohn, Viktor Leis, Thomas Neumann