The Doppler Quarterly (DEUTSCHE) Sommer 2017 - Page 16

Abbildung 2: Partitionierter Objektspeicher mit Hive-Clustering dass Zugriffsmuster verbessert werden, wie in Abbil- dung 2 dargestellt. Dieses eine Beispiel könnte noch weit ausführlicher behandelt werden. Es reicht jedoch darauf hinzuwei- sen, dass viele zusätzliche Ebenen entsprechend der gewünschten Nutzungsmuster implementiert wer- den können. Wahl des Dateiformats Einführung Menschen aus der traditionellen RDBMS-Welt sind oft überrascht von der außerordentlichen Kontrolle, die wir als Data-Lake-Architekten über die genaue Speicherung von Daten haben. Im Gegensatz zu einer RDBMS-Speicher-Engine können wir verschiedene Elemente wie Dateigrößen, Speicherart (Zeile vs Spalten), Grad der Komprimierung, Indizierung, Schemata und Blockgrößen bestimmen. Diese stehen mit den zahlreichen Hadoop-orientierten Tools im Zusammenhang, die üblicherweise für den Zugriff auf Daten in einem Data Lake verwendet werden. Dateigröße Eine kleine Datei ist eine Datei, die wesentlich kleiner als die Standardblockgröße des Hadoop-Dateisys- tems (HDFS), also 128 MB, ist. Angesicht der großen Datenmengen eines Data Lakes führt die Speiche- rung von kleinen Dateien zu einer sehr großen Anzahl von Dateien. Jede Datei wird als Objekt im Knoten- speicher des Clusternamens dargestellt, von denen jede in der Regel 150 Bytes belegt. So würden 100 Mil- lionen Dateien, die jeweils einen Block verwenden, 14 | THE DOPPLER | SOMMER 2017 etwa 30 Gigabyte Speicher belegen. Jedoch sind die zahlreichen Hadoop-Tools nicht für den effizienten Zugriff auf kleine Dateien optimiert. Sie sind in erster Linie für große Dateien ausgelegt, üblicherweise ein gradzahlig Vielfaches der Blockgröße. Apache OCR ORC ist ein bekanntes kolumnares Dateiformat, das für Hadoop-Workloads entwickelt wurde. Diese kolumnare Dateiformatierung ermöglicht es, nur die Werte zu lesen, zu dekomprimieren und zu verarbei- ten, die für die aktuelle Abfrage erforderlich sind. Zwar gibt es verschiedene kolumnare Formate, den- noch haben viele große Hadoop-Benutzer ORC über- nommen. So verwendet beispielsweise Facebook ORC, um Dutzende von Petabyte in ihrem Data Warehouse zu speichern. Sie haben auch gezeigt, dass ORC wesentlich schneller ist als RC File oder Parquet. Yahoo verwendet ORC auch zur Speiche- rung ihrer Produktionsdaten und hat ebenfalls einige ihrer Benchmark-Ergebnisse veröffentlicht. Gleiche Daten, verschiedene Formate Es ist durchaus möglich, dass eine Art von Speicher- struktur und Dateiformat optimal für einen bestimm- ten Workload ist, sich aber dennoch nicht für einen anderen Workload eignet. In Anbetracht der geringen Speicherkosten ist es in solchen Situationen am bes- ten, mehrere Kopien de ͕ѕ́ͅ)չѕ͍՝չMȴ)խɕAѥѥ=ɑɸչѕɵѕ(踁=I ́AՕФԁѕ