Das eine Buch trägt bewährte Lösungen für das Framework Map-Reduce zusammen, das zweite versammelt Wissenswertes über Erlang. Für beide Werke muss der Leser der englischen Sprache mächtig sein.
Auf knapp 250 Seiten wagen die Autoren Donald Miner und Adam Shook das mutige Unterfangen, bewährte Best Practices mit Map-Reduce zu dokumentieren, obwohl Googles Framework erst seit etwa fünf Jahren im Einsatz ist. Simon St. Laurent bespricht in seinem englischsprachigen Buch “Introducing Erlang” die funktionale Programmiersprache Erlang.
Die Kunst der Reduktion
Auf recht wenigen Seiten ein mächtiges Framework zu erklären ist heikel. Dabei halten sich die Autoren an die bekannte Map-Reduce-Implementierung Hadoop und verwenden als zu analysierenden Datensatz die vielen Mails von Stack Overflow. Wer eine Einführung in das Thema erwartet, wird enttäuscht: Nur am Anfang gehen die Autoren ein wenig auf Design Patterns im Allgemeinen und Map-Reduce im Speziellen ein. Map-Reduce-vertrauten Lesern wird das reichen, um tiefer einzusteigen.
Im Kapitel “Summarization Patterns” begegnet dem Leser das Map-Reduce-Pattern Word Count, das zusammengefasste Sichten auf Daten darstellt. Es folgen Patterns, die Teilmengen aus Daten herausfiltern, um sie besser zu verstehen. Eine typischer Anwendungsfall im Kapitel “Filtering Patterns” ist ein verteilter »grep« -Aufruf. Die Data Organization Patterns versuchen schlecht strukturierte Daten besser zu organisieren. Besser kann hier eine Schlüssel-Wert-Assoziation oder auch eine Hierarchie sein.
Es geht weiter mit den Join Patterns, die Daten um Daten erweitern. Das Kapitel “Metapatterns” erklärt das Verknüpfen und Verschmelzen von Map-Reduce-Jobs, um die Performance des Gesamtjobs oder den I/O-Durchsatz zu optimieren. Wie es in der Implementierung Hadoop möglich ist, externe Datenquellen oder -senken anzusprechen, zeigt ein Kapitel über Input- und Output-Patterns. So lassen sich Daten direkt erzeugen oder aus einer Datenbank lesen und schreiben.
Fazit: Das Wagnis, auf wenigen Seiten ein komplexes Framework zu würdigen, ist den Autoren gelungen. Als große Referenz für Best-Practice-Lösungen kann das Werk dagegen nicht gelten. Es leistet aber eine Hilfe, die Anwendungsfälle zu identifizieren und zu analysieren. Die zugehörigen Java-Codebeispielen eingerechnet besitzt das Werk für den Map-Reduce-Architekten großen Wert.
Info
Donald Miner, Adam Shook:
MapReduce Design Patterns (Englisch)
O’Reilly, 2013
249 Seiten
37 Euro
ISBN: 978-1-4493-2717-0
Erlang – kurz und bündig
Um mit der Tür ins Haus zu fallen: “Introducing Erlang” ist eine sehr kurzweilige Lektüre, die einiges an Information bietet. Als roter Faden durch das ganze Werk zieht sich ein Schwerkraftbeispiel. Das Buch besteht aus zwei Teilen: Der erste führt in Erlang und die funktionale Denkweise ein. Dabei nimmt der Autor den Leser an die Hand, um ihm den Umgang mit der Interpreter Shell, Funktionen, Modulen, Atomen, Tuples, Strings und Listen zu erklären. Das schildert er so anschaulich, dass es gar nicht nötig ist, den abgedrucken Sourcecode in Aktion zu sehen, um ihn zu verstehen.
Neben der Erlang-Syntax versteht es der Autor, das funktionale Paradigma motivierend einzuführen. Vorteile unveränderlicher Variablen, von Rekursion, Listenverarbeitung und List Comprehension als Strukturelementen – er beschreibt es. Funktionales wie Higher Order Functions, Closures und Tail Recursion beenden den ersten Teil des Buches.
Erlang zeichnet der Umgang mit unabhängigen Prozessen aus, die sich Nachrichten synchron und asynchron senden. Die Eleganz und Mächtigkeit dieses skalierbaren und fehlertoleranten Konzepts beschreibt der zweite Teil des Buches. Er schlüsselt auch Erlangs stimmige Persistenzkonzepte auf, sei es nun Erlang Term Storage (ETS) oder die Datenbank Mnesia, mit denen sich ein Record im Arbeitsspeicher oder persistent speichern lässt. Beeindruckend wie die Open Telecom Platform (OTP) hilft Services zu erzeugen, Server aufzusetzen und Anwendungen zu packen.
Fazit: Trotz des geringen Umfangs von rund 200 Seiten gelingt es Simon St. Laurent, dem Leser die funktionale Denke im Allgemeinen sowie die syntaktischen und vor allem die semantischen Eigenheiten von Erlang im Besonderen näherzubringen. Die kompakte Form und die unterhaltsame Vermittlung machen Lust auf mehr. Besser lässt sich nicht für Erlang werben. (jk/tle)







