03.07.2019

Big Data Technologien

Der Begriff Big Data hat in den letzten eineinhalb Jahrzehnten stetig an Bedeutung gewonnen. Wurde der Begriff früher nur unter Ingenieuren, Investoren und den ersten Anwendern verwendet, gehört er heute zum Wortschatz sämtlicher Geschäftssparten. Mit zunehmender Popularität stiegen auch die Missverständnisse darüber, was Big Data eigentlich ist, welche Technologien dafür verwendet werden und für welche Fälle sich Big Data eignet. Dieser Artikel gibt einen kurzen Überblick.

Die Entwicklung der Big-Data-Technologien

Alles begann um das Jahr 2000, als die Gründer von Google, Sergey Brin und Larry Page, Doktoranden in Stanford waren und an einem Nebenprojekt arbeiteten – einer Suchmaschine, die viel besser sein sollte als alles andere zu dieser Zeit.

Dies gelang ihnen dank eines neuartigen Algorithmus für die Rangfolge der Suchergebnisse. Der sogenannte PageRank-Algorithmus war davon inspiriert, wie die Relevanz der wissenschaftlichen Forschungsarbeiten gemessen wird – nämlich anhand der Anzahl Zitate in anderen Publikationen.

Ohne einige clevere Ideen und technische Entscheidungen, die sie bei der tatsächlichen Implementierung ihres Produkts getroffen haben, gäbe es Google heute nicht so, wie wir es kennen. Diese Ideen wurden später die Eckpfeiler von Big Data.

Die Grundidee bestand darin, eine grosse Anzahl von Standardcomputern anstelle einer kleineren Anzahl von riesigen, sehr teuren Servern zu verwenden. Diese Computer, die einen sogenannten Cluster bilden, konnten miteinander kommunizieren und ihre Arbeit koordinieren, um Berechnungen mit grossen Datenmengen effizient durchzuführen.

Ein weiteres Konzept, das die Gründer von Google für grosse Datenmengen entwickelten, war ein verteiltes Dateisystem, das für den Umgang mit sehr grossen Dateien konzipiert wurde. Dies war eine Notwendigkeit, weil sie in der Lage sein wollten, mit der schnell wachsenden Grösse des World Wide Web Schritt zu halten.

Mit einem verteilten, skalierbaren und zuverlässigen Datenspeicher waren die letzten Puzzleteile ein Rechenmodell und ein Framework, mit welchem Entwickler ihre Algorithmen ausdrücken konnten, ohne sich mit der Komplexität der Infrastruktur, ihrer Skalierbarkeit und unvermeidlichen Hardwareausfällen auseinandersetzen zu müssen. Dieses Modell wurde MapReduce genannt.

Kurz nachdem diese Ideen in Forschungsberichten beschrieben wurden, wurden Open-Source-Projekte mit dem Ziel ihrer Umsetzung bei Yahoo ins Leben gerufen und werden derzeit unter dem Dach der Apache Software Foundation aktiv weiterentwickelt. Diese als Apache Hadoop bekannten Projekte wurden de facto zum Synonym für Big Data.

Was wir bisher beschrieben haben, spielte sich vor ungefähr 15 Jahren ab – das ist eine lange Zeit, besonders wenn es um Technologie und Innovation geht. Seitdem beobachten wir, was in der Welt der Softwareentwicklung üblich ist, wenn eine interessante, vielversprechende und möglicherweise bahnbrechende Idee zum Leben erweckt wird: Ingenieure entwickeln die Idee weiter, indem sie Abstraktionen einführen, welche die Technologie weiter bereichern, vereinfachen oder ausdrucksvoller machen.

Daher gab es eine Explosion von Bibliotheken, Frameworks und Plattformen, die zusammen das reichhaltige Ökosystem von Big Data bilden – Pig, Hive, Impala, HBase, Tez oder Spark, um nur einige zu nennen. Die schiere Anzahl der verschiedenen Tools kann zunächst überwältigend sein, aber sie werden alle entwickelt, um eine Handvoll breiter Anwendungsfälle anzusprechen, die wir kurz beschreiben möchten.

Anwendungsgebiete und Weiterentwicklung von Big Data

 

Der erste grosse Bereich von Anwendungsfällen wird allgemein als Advanced Analytics bezeichnet. Hier werden viele Techniken eingesetzt, darunter maschinelles Lernen, künstliche Intelligenz, Vorhersagen, Empfehlungen, Clustering, Text Mining, Erkennung von Anomalien/Betrug, Stimmungsanalyse usw.

Das zweite Gebiet könnten wir gemeinsam Enterprise Data Lakes nennen. Bei diesen Anwendungsfällen handelt es sich um das Sammeln von Daten aus mehreren und unterschiedlichen Datenquellen in grossen Organisationen an einem einzigen Ort – normalerweise auf der Basis von Apache Hadoop. Verschiedene Unternehmensteile können dann ihre Analyse- und Business-Intelligence-Berichte ausführen, indem sie Daten aus diesen zahlreichen Quellen miteinander korrelieren.

Diese Anwendungsfälle entsprechen häufig den herkömmlichen Analysen, die mit Data Warehouses erstellt wurden, bieten jedoch Vorteile wie Skalierbarkeit, günstigere Hardware und Software sowie die Möglichkeit, auch erweiterte Analysen durchzuführen.

Die letzte Reihe von Anwendungsfällen ist etwas orthogonal zu den bereits beschriebenen Fällen. Hier geht es um Echtzeitanalysen, schnelle Daten oder Streaming-Daten. Heutzutage scheint der ganze Hype hier zu sein, denn in unserer modernen Welt wollen Unternehmen fundierte Entscheidungen so schnell wie möglich treffen, und zwar unmittelbar zu dem Zeitpunkt, an welchem die Informationen verfügbar werden.

Ein weiterer Grund für das grosse Interesse an Streaming Data ist das Internet der Dinge (Internet of Things, IoT). Da immer mehr Geräte und Sensoren Teil des Internets sind, besteht ein wachsender Bedarf an Tools, mit denen grosse Datenmengen mit sehr hoher Geschwindigkeit verarbeitet und analysiert werden können.

Die Technologie in diesem Bereich hat in den letzten Jahren viele Innovationen erfahren. Ausserdem werden immer mehr Tools so ausgereift, dass selbst grosse Unternehmen damit beginnen, sie zu evaluieren. Aus diesen Gründen können wir in Zukunft mit einer wachsenden Akzeptanz von Produkten wie Kafka Streams, Spark Structured Streaming oder Apache Flink rechnen.