Hypertable

Hypertable ist ein spaltenorientiertes Datenbanksystem, das von BigTable inspiriert ist, und auf verteilte Dateisysteme, wie z. B. Apache Hadoop DFS, GlusterFS oder Kosmos File System, basiert. Es wurde als internes Projekt von Zvents Inc. entwickelt. Im Januar 2009, ist Baidu, die führende chinesische Suchmaschine, Sponsor des Projekts geworden.

Dieses Projekt konzentriert sich auf die Lösung der Probleme der Speicherung und die Verarbeitung großer Datenmengen. Das Datenmodell besteht aus einer mehrdimensionalen Tabelle (Abbildung "Datenmodel von Hypertable"), die mit einem Schlüssel durchsucht werden kann. Die erste Dimension der Tabelle ist der sogennante row-key, der der primäre Schlüssel ist, und legt die Reihenfolge fest, in der die Daten auf der physikalischen Ebene sortiert sind. Die zweite Dimension ist die Column Family. Die dritte Dimension ist der Column Qualifier (Dynamisch generierte Spalten). Die vierte und letzte Dimension ist die Dimension der Zeit. Es besteht aus einem Zeitstempel, der die Zeit angibt, in welcher die Daten in jeder Spalte importiert wurden.

Die Abbildung "Datenmodel von Hypertable" zeigt eine mögliche Anordnung der Daten in einem Hypertable-System. Die URL in jeder Zeile, ist die erste Dimension und gleichzeitig der Primärschlüssel für jedes Tupel. Die Column Families, bestehen aus folgenden drei Spalten: title, content und anchor. In der Spalte anchor wird ein Beispiel für die dritte Dimension gegeben, nämlich den Column Qualifier.


Datenmodel von Hypertable

In der Praxis wird diese multidimensionale Tabelle auf der Festplatte als eine Liste von Key/Value-Paaren gespeichert. Der Schlüssel ist tatsächlich eine Verkettung von vier Dimensionen (row-key, column family, column qualifier, timestamp). Somit ist die Tabelle aus der Abbildung "Datenmodel von Hypertable" auf der physikalische Ebene (Festplatte) in der Form, die in der Abbildung "Das Datenmodel auf physische Ebene" skizziert ist, gespeichert.


Das Datenmodel auf physische Ebene

Quellen

Kategorie: Neue DB-Entwicklungen, NoSQL, Spaltenorientierte-DB, H