Suche

» erweiterte Suche » Sitemap

Informatik


» Bild vergrößern
» Blick ins Buch
» weitere Bücher zum Thema


» Buch empfehlen
» Buch bewerten
Produktart: Buch
Verlag: Diplomica Verlag
Erscheinungsdatum: 11.2013
AuflagenNr.: 1
Seiten: 104
Abb.: 47
Sprache: Deutsch
Einband: Paperback

Inhalt

Die escape GmbH betreibt ein MySQL basiertes Dataware-House in das Daten aus verschiedenen Webpräsenzen fließen, um dort ausgewertet zu werden. Nach Jahren des erfolgreichen Betriebs nimmt mit der ständig steigenden Menge an gespeicherten Daten die Leistung des Systems allerdings ab. Die Laufzeiten für Auswertungen steigen und die Agilität sinkt. Kleine Optimierungen und Veränderungen des Systems können das Unbrauchbarwerden hinauszögern, als aber aus Gründen der Leistung auf einen Teil der Abfragen verzichtet werden muss, wird schließlich klar, dass nur eine grundlegende Veränderung des Systems den langfristigen Betrieb sicherstellen kann. Aus diesem Grund wurde nach Technologien gesucht, deren Fähigkeiten die Leistung des bestehenden Dataware-Houses verbessern können. Dies führte zu Hadoop.

Leseprobe

Textprobe: Kapitel: 3.4.1 Hadoop Distributed File System (HDFS): HDFS [Whi10d] ist ein Dateisystem, welches konzipiert wurde, um sehr große Dateienverteilt zu speichern und dabei für den Zugriff mit dem Muster ‘write once read many” zu optimieren. Dies wird durch die Aufspaltung der Dateien in Blöcke (standardmäßig 64 MB) und die anschließende Verteilung auf verschiedenen Knoten (Datanodes) erreicht. In einem zentralen Register (Namenode) werden hierbei die Information für den Verzeichnisbaum und die Metadaten der Dateien gehalten. Die vorhandenen Datanodes melden dem Namenode periodisch die auf ihnen gespeichert Blöcke, dies erlaubt dem System das redundante Verteilen der Daten, um den Ausfall von einzelnen Knoten zu tolerieren. 3.4.2 HBase: Hbase [Foud] [Geo11a] ist eine Open Source Implementierung von Google’s Bigtable Datenbank und bietet ein verteiltes, persistentes und strikt konsistentes Storage-System, welches den Festplattenspeicher effektiv nutzt, da es keine zusätzlichen Indizes anlegt und die Kompression von Spalten unterstützt. Außerdem wird das dynamische Hinzufügen von Spalten ermöglicht. Der Zugriff auf die Daten erfolgt durch einen Single-Index, der mit dem Primär-Schlüssel in relationalen Datenbanken vergleichbar ist. HBase bietet unter anderem folgende Charakteristik [Geo11b] : • Keinen echten Index: Zeilen und Spalten innerhalb einer Zeile werden sequenziell gespeichert, dies vermeidet das Aufblähen eines Indizes und erlaubt eine hohe Performanz beim Einfügen von neuen Datensätzen, die von der Tabellengröße nicht negativ beeinträchtigt wird. • Automatische Partitionierung: Mit dem Wachstum einer Tabelle findet eine automatische Aufteilung in Regionen und eine gleichmäßige Verteilung der Daten auf vorhanden Knoten statt. • Automatische und lineare Skalierung mit neuen Knoten: Beim Hinzufügen von neuen Knoten werden die aufgeteilten Regionen automatisch neu balanciert, um die Last gleichmäßig zu Verteilen. • Fehlertoleranz: Durch die Verteilung auf viele Knoten, wird der Ausfall von einzelnen Knoten vom System toleriert. Für den entfernten Zugriff auf HBase kann ein Thrift-Client verwendet werden. 3.4.3 MapReduce: Das MapReduce-Verfahren [DG04] ist ein von Google entwickeltes Programmier-Modell, das es erlaubt sehr große Mengen von Datensätzen zu verarbeiten oder zu generieren. Es ist hoch skalierbar und bietet eine Abstraktion, die die komplexen Details einer Parallelisierung, die Unterstützung von Fehler-Toleranz, Daten-Verteilung und Load-Balancing verbirgt, um sich auf das Wesentliche beschränken zu können – die Berechnung der gewünschten Werte. Das Verfahren besteht im Wesentlichen aus den Funktionen Map und Reduce, in denen der Code für die Berechnung implementiert wird und die jeweils parallel ausgeführt werden können. In Hadoop werden die Berechnungen mit Hilfe der sogennanten TaskTracker-Dienste ausgeführt und durch einen Verwaltungs-Dienst namens JobTracker koordiniert. 3.4.3.1 Map-Funktion: Die Map-Funktion verarbeitet eine Reihe von Key-Value-Paaren und gibt die Zwischenergebnisse in einer Liste von neuen Key-Value-Paaren an die Reduce-Funktion weiter. map(k1,v1) -> list(k2,v2). 3.4.3.2 Reduce-Funktion: In der Reduce-Funktion werden die Key-Value-Paare aus der Map-Funktion verarbeitet und zusammengefasst in der Ergebnisliste zurückgegeben. (k2, list(v2)) -> list(v2). 3.4.4 Hive: Hive [Foue] [TSJ+10] [Whi10b] ist eine Open Source Data-Warehouse Lösung, die auf Hadoop aufbauend die Abfrage von gespeicherten Daten in einer deklarativen Sprache (HiveQL) erlaubt, welche stark dem SQL-Syntax ähnelt. In Hive werden Daten als Tabellen und Spalten mit zugehörigen Datentypen (int, string, double, structs, maps, arrays, ...) dargestellt und in benutzerdefinierten Formaten im HDFS oder in HBase abgelegt. Das jeweilige Zeilen-Format ist vom ausgewählten Serializer-Deserializer (SerDe) abhängig. Die Meta-Daten für jede Tabelle werden im sogenannten Metastore hinterlegt. Für den entfernten Zugriff auf HBase kann ein Thrift-Client verwendet werden. 3.4.4.1 HiveQL: Der SQL-Dialekt von Hive wird HiveQL[Geo11c] genannt und erfüllt die SQL-92 Spezifikation [90792] nicht. Zum einen liegt das daran, dass das Projekt noch sehr jung ist und zum anderen, dass eine komplette Kompatibilität nicht das Ziel ist. Vielmehr geht es darum die Hürden neuer Hive-Benutzer zu senken, indem auf bekannte und etablierte Technologien zurückgegriffen wird. Außerdem bietet HiveQL Erweiterungen, die vom MapReduce-Verfahren inspiriert wurden, wie zum Beispiel Multiple-Inserts [Whi10e], bei denen Daten gleichzeitige in mehrere Tabellen eingefügt werden können, ohne die Quell-Tabelle mehrfach lesen zu müssen. Jede HiveQL-Abfrage wird, je nach Komplexität, in mehreren MapReduce-Jobs abgebildet, die die entsprechenden Daten verarbeiten und die Ergebnismenge zurückgeben.

Über den Autor

Jonas M. Kress (Jonas-Kress.de) wurde 1984 in Bamberg geboren. Bereits 2000 begann er seine Arbeit im Bereich komplexer Computer Systeme. Sein Masterstudium der Angewandten Informatik schloss er 2012 mit Auszeichnung an der HTW in Berlin ab. Heute arbeitet er vor allem als Berater und Software Architekt und hilft bei der Umsetzung von Informations-Systemen mit hohen Anforderungen.

weitere Bücher zum Thema

Bewerten und kommentieren

Bitte füllen Sie alle mit * gekennzeichenten Felder aus.