Hierarchical structures are featured in many common software applications. Unfortunately, maintaining and querying them in the underlying database systems remains a clumsy and inconvenient task even today. We tackle the challenge of making modern in-memory database systems truly “hierarchy-aware.” Based on the idea of modeling hierarchies using a built-in abstract data type, we extend SQL with expressive constructs to represent, bulk-load, manipulate, and query hierarchical tables. Accompanying relational algebra concepts and algorithms ensure these constructs are translated into efficient query plans. Our algorithms are designed in terms of a carefully crafted generic framework for representing and indexing hierarchies. The outcome is an unprecedented flexibility and performance for managing even very large and highly dynamic hierarchical datasets.
«
Hierarchical structures are featured in many common software applications. Unfortunately, maintaining and querying them in the underlying database systems remains a clumsy and inconvenient task even today. We tackle the challenge of making modern in-memory database systems truly “hierarchy-aware.” Based on the idea of modeling hierarchies using a built-in abstract data type, we extend SQL with expressive constructs to represent, bulk-load, manipulate, and query hierarchical tables. Accompanying...
»
Übersetzte Kurzfassung:
Hierarchische Strukturen sind in Anwendungen der Datenverarbeitung allgegenwärtig. Trotzdem ist es heute noch immer recht schwierig, diese in den zugrundeliegenden Datenbanken darzustellen und abzufragen. Wir nehmen uns der Herausforderung an, moderne Hauptspeicherdatenbanksysteme mit einer erstklassigen Unterstützung für hierarchische Daten auszustatten. Auf der Grundlage eines nativen abstrakten Datentyps zur Modellierung von Hierarchien in Relationen erweitern wir die Anfragesprache SQL um prägnante und ausdrucksstarke Konstrukte zum Erzeugen, Laden, Ändern und Abfragen hierarchischer Tabellen. Auf der Ebene der relationalen Algebra entwickeln wir einen zugehörigen Satz an Operatoren und Algorithmen, der es uns erlaubt, die Sprachkonstrukte durch effiziente Anfragepläne auszuwerten. Unsere Algorithmen bauen auf einem sorgfältig abgestimmten, generischen Framework zum Kodieren und Indexieren von hierarchischen Strukturen auf. So können derart erweiterte Datenbanksysteme selbst sehr große und hochdynamische hierarchische Datensätze mit einer beispiellosen Flexibilität und Effizienz verarbeiten.
«
Hierarchische Strukturen sind in Anwendungen der Datenverarbeitung allgegenwärtig. Trotzdem ist es heute noch immer recht schwierig, diese in den zugrundeliegenden Datenbanken darzustellen und abzufragen. Wir nehmen uns der Herausforderung an, moderne Hauptspeicherdatenbanksysteme mit einer erstklassigen Unterstützung für hierarchische Daten auszustatten. Auf der Grundlage eines nativen abstrakten Datentyps zur Modellierung von Hierarchien in Relationen erweitern wir die Anfragesprache SQL um pr...
»