Big Data leicht gemacht – Die wichtigsten Begriffe

 

Immer mehr wird über den Begriff „Big Data“ gesprochen und geschrieben. Aber was verbirgt sich dahinter? Wieso sind Unternehmen interessiert, Daten zu sammeln und diese gezielt auszuwerten? Wie machen sie das?

Wer sich für die technologische Zukunft wappnen will, der kommt um das Verständnis von „Big Data“ nicht herum. In diesem Artikel stellen wir eine vereinfachte Übersicht über die fragmentierte Welt der „Big Data“ dar. Aber vorab: Was genau ist eigentlich Big Data?

More information is created faster than organisations can make sense of it. (Jeff Jonas)

Diese Definition gefällt uns sehr gut: Big Data ist, wenn Daten schneller und in größerer Menge anfallen, als die jeweiligen Unternehmen damit etwas anfangen können. Der hierin enthaltene Gedanke des Nicht-Beherrschbaren zielt in die richtige Ecke: während wir früher damit begannen, Hypothesen aufzustellen und beispielsweise Zielgruppen zu bilden, bevor „entsprechende“ Daten erhoben wurden, werden heute alle anfallenden Daten ohne vorheriges Betrachten gespeichert und anschließend analysiert.

 

Big Data

Abbildung: Big Data – eigen Darstellung

MapReduce
MapReduce ist das Google Paper, mit dem alles begann (weitere Details). Es ist ein Modell für das Schreiben von verteilten Codes, inspiriert von einigen Elementen der funktionalen Programmierung. Es ist ein möglicher Ansatz, der von Google entwickelt wurde, der viele technische Vorteile aufweist. Die Google interne Implementierung trägt den Namen MapReduce und die Open-Source-Implementierung wird Hadoop genannt. Amazons Hadoop-Instanz heißt Elastic MapReduce (EMR) und verfügt über Plugins für zahlreiche Programmiersprachen.

HDFS
HDFS ist eine Implementierung inspiriert vom Google File System (GFS), um große Dateien verteilt auf mehrere Rechner zu archivieren. Hadoop verarbeitet Daten im Hadoop Distributed File System (HDFS).

Apache Spark
Apache Spark ist eine Plattform, die immer mehr an Beliebtheit gewinnt. Sie bietet im Vergleich zu MapReduce mehr Flexibilität, gleichzeitig aber mehr Struktur als ein „Message Passing Interface“. Es stützt sich auf das Konzept der verteilten Datenstrukturen (bekannt als RDDs). Weitere Informationen.

MLIB und GraphX
Durch die Einfachheit von Spark, was auf einem „Message Passing Interface“ aufsetzt, ermöglicht dieses Big Data-Framework einen leichteren Zugang zu Daten für Data Scientists. Die Machine Learning Engine die daran ansetzt heißt heißt MLIB und das graphische Framework GraphX.

Pregel und Giraph
Pregel und die Open Source Anwendung Giraph sind Lösungen, um hochkomplexe, soziale Graphen und stark miteinander verbundene Datenstrukturen auf vielen Rechnern gleichzeitig zu analysieren. Bemerkenswert ist, dass sich Hadoop / MapReduce nicht gut eignet, um graphische Analysen durchzuführen. Hingegen wird aber HDFS / GFS weiterhin als Datenspeicher genutzt.

Zookeeper
Wer heute Cluster-Software schreibt, setzt zur Koordinierung höchstwahrscheinlich ZooKeeper ein. ZooKeeper erlaubt die Abbildung typischer Nebenläufigkeits-Patterns (Lock, Counter, Semaphore) über Hunderte von Servern. Hadoop implementiert mittels ZooKeeper Fail-over seiner wichtigsten Systemkomponenten.

Big Data - Data Democracy

 

Abbildung: Data Democracy (by Avinash Kaushik) – eigen Darstellung

Flume
Flume ist ein Apache Projekt und zielt darauf ab, Daten aus unterschiedlichsten Quellen (Sources) in HDFS oder Files (Sinks) zu transportieren. Kurz gesagt: Flume ein Log-Collector, der in seiner neueren Version die Möglichkeit der Korrelation bereits im Transport-Channel zulässt. Dabei ist es unerheblich, welche Art von Daten transportiert werden, und was die Quelle und das Ziel sind (sofern unterstützt). Die konsequente Nutzung der API ermöglicht es Entwicklern, eigene Sources und Sinks zu schreiben und einzubinden. Mehr Informationen.

Scribe
Scribe ist ein Open-Source Projekt von Facebook. Ähnlich wie Flume zielt Scribe darauf ab, machen es einfach, eine Menge von aufgezeichneten Daten zu sammeln und zu analysieren.

Google BigTable und HBase
Google BigTable und das Open-Source Pendant HBase wurde bereits 2004 entwickelt und findet ihren Einsatz in zahlreichen bekannten Anwendungen, wie zum Beispiel MapReduce, Google Maps, Google Bücher, YouTube oder Google Earth. Bei der Entwicklung wurde sehr großen Wert auf die Skalierbarkeit und Geschwindigkeit gelegt. Dies wurde durch die nicht-relationale Struktur ermöglicht.

Hive und Pig
Hive und Pig sind SQL Abstraction Language, das auf Hadoop aufsetzt. Sie dient zur Analyse von Tabellendaten in einem verteilten Dateisystem (denken Sie an eine sehr, sehr große Excel-Tabelle, so groß, dass sie nicht auf einem Rechner Platz findet). Sie arbeiten beide auf einem Data Warehouse Prinzip: Daten werden unstrukturiert einfach abgespeichert und anschließend nicht mehr verändert. Der große Vorteil ist, dass die Daten in unterschiedlichen Formaten vorliegen können (plain text, compressed, binär). Hive und Pig sind entfernt mit einer Datenbank vergleichbar: es wird eine Meta-Information einer Tabelle und ihrer Spalten benötigt, der einzelne Felder der auszuwertenden Daten zugrunde liegen. Diese Felder müssen bestimmten Datentypen zugeordnet werden. Interessant sind Hive und Pig für Business Analysts, Statistiker und SQL Programmierer.

Es stellt sich mit der Zeit heraus, dass Hive und Pig in Ihrer Geschwindigkeit nachließen, weil sie auf Hadoop aufgesetzt wurden. Um dieses Problem zu lösen, gingen die Entwickler direkt Richtung HDFS und als Ergebnis kamen folgende Lösungen hervor: Googles Dremel (Dremel: Interaktive Analyse von Web-Scale-Datensätzen), F1 (das H-verteilte RDBMS, Unterstützung von Google Ad Operations, Facebooks Presto (Presto | Verteilte SQL Query Motor für Big Data), Apache Funken SQL (Seite auf apache.org), Cloudera Impala (Cloudera Impala: Echtzeit-Abfragen in Apache Hadoop), Amazon Redshift usw. Sie alle haben etwas eine abgewandelte Semantik, was aber am Ende eine Erleichterung für die Analyse von auf zahlreiche Datawarehouses verteilte Tabellendaten darstellt.

Mahout
Mahout (scalable machine learning „SML“ and data mining: https://mahout.apache.org) spielt im Ensemble der Massendatenverarbeitung eine tragende Rolle. Mahout bietet nahezu unbegrenzten Einsatzmöglichkeiten von Produktempfehlungen aufgrund von Interessensgebieten und statistischen Algorithmen bis hin zu Fraud Detection, Wahrscheinlichkeitsanalysen oder Trendanalysen in Sozialen Netzwerken. Mahout arbeitet mit einem zentralen Algorithmus zum Clustern von Daten, was weit über den Umfang von HDFS hinaus geht.

Oozie
In jedem Prozess findet ein Großteil der Aufgaben zur gleichen Zeit statt und sie wiederholen sich ständig. In einem hochkomplexen System wie Apache Hadoop würde dadurch viel Zeit und Kosten verstreichen, würde man jede Aufgabe einzeln angehen. Die Lösung dazu ist Oozie – ein Workflow Manager. Ozzie verwaltet und administriert Apache Hadoop Workflows und steuert in einem begrenzten Maß die Fehlerbehandlung wie Restart, Reload und Stop eines Prozesses. Ozzie kann neben zeitgesteuerten Aktionen auch datengesteuerte Aktionen ausführen, etwa wenn Daten unregelmäßig verfügbar und nicht per zeitgesteuertem Batchprocessing verarbeitet werden können.

Lucene
Lucene ist Open-Source und Java basiert. Sie erstellt einerseits einen Index aus Dateien, der etwa ein Viertel des Volumens der indexierten Dateien hat. Zum Anderen liefert Lucene anschließend Suchergebnisse mit Rangliste, wofür mehrere Suchalgorithmen zur Verfügung stehen.

Sqoop
Sqoop ist eine Verbindung (Connector) zwischen Hadoop und relationales Datenbankmanagementsystem (RDBMS). Sie wird von zahlreichen Datenbankanbietern genutzt und unterstützt. Mithilfe von Sqoop lässt sich mit einfachen Mitteln Apache Hadoop als Middleware-Applikation in bestehende BI-Lösungen integrieren. Das Elegante an Sqoop ist die Möglichkeit, Select Statements bereits in Datenbankabfragen oder bei der Rückspeicherung zu integrieren. Neben den Connectoren zu den bekannten RMDBS sind auch Connectoren zu Datenbanken wie TerraData, Netezza, Microstrategy, Quest und Tableau verfügbar. Weitere Informationen.

Hue
Hue ist eine Web-basierte grafische Benutzeroberfläche, um Teile  und Ergebnisse von den oben genannten Applikationen darzustellen . Weitere Informationen.

Wearable Data Hack 2015 – Welche Geschichten erzählen unsere Aktivitätsdaten?

Entwickler, Designer, Künstler und andere Kreative treffen sich an diesem Wochenende zum WEARABLE DATA HACK 2015 in den Räumen des Münchner Fashion Startups Stylight. 48 Stunden lang wird gedacht, entwickelt, geforscht und gefragt, welche Erkenntnisse und Perspektiven wearable data bieten – also diejenigen Daten, die mit Smartphones, Tablets, Smartwatches und anderen mit Sensoren ausgestatteten mobilen Geräten und Textilien gesammelt werden und das Leben ihrer Träger abbilden.

Wearable Data Hack 2015

Bereits am Vorabend können sich die Teilnehmer Ideen und Anregungen für ihre Hacks holen: Mit Constantin Gonzalez (AWS; Vortrag: Machine Learning) und Valid Gharaei (Runtastic, Vortrag: Data Driven User Experience) ist unser CEO Joerg Blumtritt in guter Gesellschaft, wenn er zeigt, wie bei Datarella wearable data sozial relevant machen wollen. Der Hack selbst startet am Samstag morgen mit einem zünftigen Weißwurstfrühstück. Parallel zur Umsetzung der eigenen Ideen werden interessante Tracks zu den Themen UX/UI Design Experience, Android Wear, Apple Watch und IoT Use Cases angeboten. Damit die Teilnehmer den kreativen Marathon auch körperlich gut überstehen, ist für leibliches Wohl gesorgt – bis hin zur nächtlichen Gulaschsuppe. Am Sonntagnachmittag wird die Jury die besten Projekte küren und zur Preisverleihung schreiten.

Das Organisationsteam von Stylight, Macromedia Hochschule und Datarella freuen sich auf ein tolles Wochenende und wünschen schon jetzt allen Teilnehmern Durchhaltevermögen, viele gute Ideen und eine Menge Spass!