The Doppler Quarterly (DEUTSCHE) Frühjahr 2017 | Page 30
Die gleiche Workload, viele Cluster
So, wie wir uns mit dem Konzept von Clustern vertraut machen müssen, die für
intensive Berechnungen zum Leben erweckt werden und dann wieder ruhen,
sollten wir auch davon abkommen, nur einzelne Cluster in Erwägung zu zie-
hen. Stattdessen sollten wir das Konzept verfolgen, viele Cluster für unter-
schiedliche Workloads zu verwenden. Wenn Sie sich an die speziellen Entwick-
lungs-, Test- und Implementierungsmuster im Zusammenhang mit flüchtigen
Clustern gewöhnen, besteht der logische nächste Schritt darin, an die Ausfüh-
rung separater Cluster für die verschiedenen Nutzungsmuster zu denken (z. B.
ein oder mehrere Cluster für die Datenaufnahme, ein oder mehrere Cluster für
schnelle Abfragen und einer für Data-Science-Tasks).
Toolumgebung
Wir erwähnten bereits, dass HDFS die bevorzugte Technologie für den Aufbau
eines Data Lake ist. Wenn Sie sich HDFS verschreiben, ist Apache Oozie die
natürliche Wahl für das Workflow-Management, Apache Pig für das Scripting
und Apache Hive für Batch- und einige interaktive Abfragen.
Apache Spark ist in den letzten Jahren immer beliebter geworden und sollte ein
ernstzunehmender Kandidat für die Verarbeitung von Streaming Analytics
und das maschinelle Lernen sein. Wir sehen oft auch den Einsatz von Redshift-,
DynamoDB- und ElasticSearch-Clustern gemeinsam mit dem Hadoop-Ökosys-
tem in einer Implementierung von Amazon Web Services. Alle Tools haben
bestimmte Einschränkungen. Daher ist vorab eine sorgfältige Analyse nötig,
um sicherzustellen, dass unerlässliche Funktionen unterstützt werden oder in
der kurzfristigen Roadmap geplant sind.
Abbildung 5: Zusammenwirken verschiedener Technologien in AWS
Automation der Datenaufnahme
In unseren Diskussionen werden hinsichtlich Polyglot Persistence des Öfteren
Bedenken zu einem Punkt geäußert: der Komplexität der Back-End-Dateninte-
gration. Mehrere Verarbeitungsengines erfordern mehr Code für die Daten-
aufnahme und sind mit mehr Kosten für Entwicklung, Wartung und Änderun-
gen verbunden. Doch durch die Verteilung der Workloads auf mehrere
Automatisierungsengines können wir die Datenstrukturen in jeder einzelnen
Engine vereinfachen. Ein sehr typisches Muster ist die Erstellung von Code für
die Datenaufnahme im Data Lake und die Nutzung von temporären AWS
EMR-Clustern oder AWS Lambda-Funktionen, um automatische Datenaktuali-
sierungen in anderen Persistenzengines auszulösen.
28 | THE DOPPLER | FRÜHJAHR 2017