Was ist Transbase Hypercube?

Transbase HyperCube ist eine patentierte Methode zur Indexierung von Datenbank-Records. Der HyperCube bearbeitet Intervallabfragen über mehrere Dimensionen wesentlich effizienter. Sie treten zum Beispiel bei IoT-Datensätzen mit geographischen x-y-z-Koordinaten und Zeitpunkt t auf oder im Bereich Datawarehousing. Mit dem Hypercube können Datensätze um Faktoren schneller gefunden und verarbeitet werden als bei herkömmlichen Datenbanken. Damit ergibt sich ein weites Feld von Einsatzmöglichkeiten. Transbase Hypercube wurde mit dem europäischen ICT Preis für erfolgreiche und innovative Anwendungen der Informationstechnologie ausgezeichnet. 

Vorteile im einzelnen: 

  • schnelles und effizientes Finden von Datenbankrecords
  • minimale Anzahl von IO-Operationen
  • schnelles Einfügen und Löschen von Records

Wie funktioniert Hypercube?

Hypercube verwendet zur Indexierung der einzelnen Datenbankeinträge eine raumfüllende Kurve, die sogenannte z-Kurve. Mithilfe dieser Kurve werden die verschiedenen Dimensionen (z.B. x, y, z und t) auf einen einzelnen z-Wert abgebildet. Das Besondere an dieser Kurve ist die nachbarschaftserhaltende Eigenschaft: liegen Punkte im mehrdimensionalen Raum nah beisammen, so liegen sie auch in der linearen Ordnung der z-Kurve nah beisammen. Die einzelnen Records werden nun mit dem z-Wert als Primärschlüssel in der Datenbank abgelegt und können so sehr effizient mit dem dafür optimierten Präfix-B*Baum geschrieben und gefunden werden. 

Der Vorteil dieser Methode liegt darin, dass Datensätze, die in der Realität nahe beieinander liegen, dies auch im physischen Speicher tun. Wird eine Anfrage über ein gewisses Intervall gestartet, so liegen sie auch im physischen Speicher nebeneinander und können mit einer minimalen Anzahl von IO-Operationen gefunden werden. Da IO-Operationen der Haupttreiber für die Ausführungszeit sind, wird jede Suchquery stark beschleunigt. 


Use Case

Die Vorzüge des HyperCubes können am besten anhand eines Beispiels erklärt werden. Hierfür werden Daten in einem Endgerät, in diesem Fall in einem Auto, aufgezeichnet und in eine zentrale Datenbank geschrieben. Die Tabelle cars ist untenstehend abgebildet. Von den Sensoren im Auto werden zu jedem Zeitpunkt zwei Messdaten geliefert, die an einer gewissen Koordinate angefallen sind. 

Möchte die Zentrale nun wissen welche Autos zu einem bestimmten Zeitpunkt in einem örtlichen Bereich - zum Beispiel im Großraum München - waren, so sieht die SQL-Anfrage wie folgt aus: 

 

SELECT * 

FROM cars

WHERE longitude between 11.4 AND 11.8

AND latitude between 48.0 and 48.3

AND time = 1/1/2020/12:00:00

Weitere sinnvolle Einsatzszenarien für den HyperCube sind: 

  • Data Warehouses
  • vernetzte Autos, Züge, Busse, ...
  • Drohnen, Flugzeuge, Helicopter, ...
  • Smart Farming mit Geo-Location
  • (Industrial) Internet of Things mit beweglichen Sensoren
  • Gebietsüberwachung und Auswertung