8. Big Data Szenarien
Churn
analysis
Fraud
detection
Life sciences
research
Legal
discovery
Social network
analysis
Traffic flow
optimization
Natural resource
exploration
IT infrastructure
optimization
Weather
forecasting
Healthcare
outcomes
Advertising
analysis
Equipment
monitoring
Web app
optimization
Smart meter
monitoring
9. Auswertbare Daten
Quelle: IDC – The Digital Universe in 2020, gesponsert von EMC, Dezember 2012
http://www.emc.com/collateral/analyst-reports/idc-the-digital-universe-in-2020.pdf
11. Entstehungsgeschichte von Hadoop
• Das Projekt “Nutch” wird
gestartet
• Google File System (GFS)
• Google MapReduce
2002-2004
2005
• Nutch wird zu Hadoop
• Hadoop läuft stabil auf
20 Knoten
• Doug Cutting geht zu
Yahoo!
• Offizieller Start des
Apache Hadoop
Projektes
• Größere Cluster
2006
2007-2009
• Immer größere Cluster
• Weltrecord im Sortieren
von 1 TB Daten
17. Wie geht es weiter?
• Folge 1 – Grundlagen
• Folge 2 – Installation
• Folge 3 – HDFS
• Folge 4 – MapReduce
•…
Ich freue mich über Feedback!
Blog: http://www.sascha-dittmann.de
Twitter: @SaschaDittmann
Editor's Notes
Herzlich Willkommen zur ersten Folge meines Microsoft HDInsight Podcasts. In dieser Podcast Serie möchte ich sowohl einen Einstieg in die Thematik „Big Data Analysen“ anbieten, aber auch die einzelnen Module von Hadoop bzw. HDInsight näher beleuchten.Starten möchte ich heute mit 2 Fragestellungen:Was ist eigentlich Big Data?undWas ist Hadoop bzw. HDInsight?
Big Data ist eines der meinst diskutierten Themen der letzten Jahre. Die eigentlichen Herausforderungen für Unternehmen sind das Maximum aus den bereits existierenden Daten ziehen zu können und ein Gefühl dafür zu bekommen, welche Daten man für die Zukunft sammeln sollte. Mit dem Wachstum eines Unternehmens steigt natürlich auch die Menge an Daten, die dieses Sammelt. „Big Data“ heißt aber nicht zwangsläufig „Große Datenmengen“, sondern auch eine andere Herangehensweise für Analysen.
Wenn man nach einer Beschreibung für Big Data sucht, stößt man oft auf die 3 V’s.KLICK! Das erste V steht für Variety (also die Datenvielfalt). Daten können in verschiedenen Formaten vorliegen.Beispielsweise in Form einer relationalen Datenbank, aber auch als Excel-Datei, im XML- oder JSON-Format oder als einfacher Text.Außerdem gibt es auch noch Daten in Binärformaten, wie z.B. Bilder oder Videos.Auch hier besteht natürlich die Herausforderung nützliche Informationen aus solchen Daten ziehen zu können.Oft verwenden Analysen gleich mehreren dieser Datenquellen gleichzeitig, was ein Zeichen für Big Data ist. KLICK!Das zweite V steht für Velocity (also die Geschwindigkeit mit der wir auf Daten zugreifen).Durch den Anstieg der Datenmengen, stellte sich natürlich auch irgendwann die Frage, ob Daten immer in Echtzeit angezeigt werden müssen.Deshalb wurde Prozesse genutzt um Daten vorzuberechnen.Dieser Trend ist teilweise wieder rückläufig, da die Daten immer schneller als veraltet gelten.Diese Hohe Geschwindigkeitsanforderung ist auch ein Zeichen für BigData KLICK!Das letzte V steht für Volume (also die Datenmenge).Diese nimmt in den letzten Jahren rasant zu.Dazu ein paar Beispiele …
Die IDC veröffentlicht seit 2007 einen Jahresbericht über das „Digital Universe“.In diesem wird u.a. das Weltweite Datenvolumen geschätzt und Prognosen für die Zukunft gestellt.Das hier gezeigte Diagramm stammt aus dem Bericht vom Dezember 2012. Dort wird das weltweite Datenvolumen für das Jahr 2005 auf 130 Exabyte (also 130 mal 10 Hoch 18 Byte) geschätzt. Für 2010 soll sich dieses fast verneunfacht haben, mit 1,2 Zetabyte. Bei 2012 geht der Bericht von 2.8 Zetabyte aus, also mehr als eine Verdopplung in 2 Jahren. Für die kommenden Jahre gibt die IDC eine Prognose von 40 Zetabyte bis zum Jahr 2020 an. In dem Bericht wird auch die größte Treibende Kraft angegeben.Hier werden unter anderem die Sozialen Netze und maschinell erzeugte Daten genannt.
Beispielsweise speicherte Facebook im Jahr 2008 ungefähr 10 Milliarden Fotos…
Die New Yorker Börse generiert ungefähr 1 Terabyte an Daten pro Tag…
Und der LHC Teilchenbeschleuniger an der CERN produziert ungefähr 1 Petabyte Messdaten pro Tag (also 10 hoch 15 Bytes) von denen 15 Petabyte pro Jahr gespeichert werden.
Doch zurück zu den Analysemöglichkeiten in Unternehmen. Hier könnten beispielsweise in der Finanzbranche die Ausgaben der Bankkunden in Echtzeit überprüft werden um Missbrauch auszuschließen, Marketing Kampagnen könnten besser auf die Kunden angepasst werden, Im Bereich Medizin könnten die Risiken von Krankheiten besser abgeschätzt werden oder in der IT könnte durch entsprechende Analysen die Netzwerke optimiert werden.
Abschließend möchte ich noch ein Diagramme aus dem IDC Bericht über das „Digital Universe“ zeigen: Hier wird noch einmal aufgezeigt, wie viele der erzeugten Daten denn nützlich für Analysen wäre. Auch wenn diese nur einen Bruchteil der Gesamten Daten darstellen, ist die Menge nicht zu unterschätzen!
Soweit zu „Was ist Big Data“ Kommen wir zur zweiten Frage dieses Podcasts. Was ist eigentlich Hadoop bzw. Microsoft HDInsight?
Die Entwicklung von Hadoop wurde 2002 von Doug Cutting – dem Entwickler von Apache Lucene – unter dem Namen „Nutch“ gestartet.Ziel war es eine Open Source Internet-Suchmaschine zu entwickeln, die Teil von Lucene werden sollte.Eine Suchmaschine von Null-Auf zu bauen, war natürlich ein sportliches Ziel.Relativ schnell stelle sich heraus, das die ursprüngliche Architektur nicht Milliarden von Webseiten stand halten würde.In 2003 veröffentlichte Google das Konzept für ein Verteiltes Dateisystem, was in 2004 in Nutch eingebaut wurde.Google veröffentlichte in 2004 außerdem ein Konzept für verteilte Analysten mit dem Namen MapReduce, welche auch in Nutch implementiert wurde. 2005 wurden Nutch aus dem Lucene Projekt herausgelöst und als eigenständiges Produkt unter dem Namen Hadoop weitergeführt. In 2006 bekam Doug Cutting eine Arbeitsstelle bei Yahoo! und somit ein Team und die Resourcen um Hadoop schneller vorantreiben zu können. In 2008 wurde Hadoop zum Top-Level-Projekt bei Apache und wurde von einigen Firmen, darunter Last.fm, Facebook und der New York Times, eingesetzt.Im April 2008 brach Hadoop sogar den Weltrekord im Sortieren von 1 Terabyte Daten mit 209 Sekunden.In 2009 wurde dieser Rekord auf 62 Sekunden verbessert.
Wie vielleicht schon aufgefallen ist, rede ich immer von Hadoop und Microsoft HDInsight. Da stellt sich natürlich die Frage, was hier der Unterschied ist. Microsoft beschäftigt sich auch seit einigen Jahren mit Hadoop und hatte Projekte, wie z.B. Hadoop on Windows Azure gestartet. Gemeinsam mit einem auf Hadoop spezialisierten Unternehmen Namens Hortenworks hat Microsoft ein Produkt mit dem Namen Microsoft HDInsight auf den Markt gebracht. Diese wird derzeit für Windows Server, aber auch als Windows Azure Dienst angeboten.
Wie sieht das jetzt im Detail aus… Das Apache HadoopEkosystem besteht aus vielen eigenständigen Projekten die mit Java entwickelt wurden. Wobei das verteilte Dateisystem HDFS und die Analyse-Framework MapReduce das eigentliche Hadoop darstellen. Im Laufe dieser Podcast Serie werde ich Stück für Stück die einzelnen hier gezeigten Projekte vorstellen.
Meistens wird Hadoop auf Linuxsystemen betrieben. Deshalb hat Microsoft das Ziel, dieses Ecosystem auch unter Windows anzubieten. Desweiteren soll Hadoop natürlich nicht nur auf Windows laufen, sondern sich auch in Produkte wie beispielsweise dem Active Directory und System Center Integrieren und die Softwareentwicklung soll natürlich mit Visual Studio und nicht Eclipse gemacht werden.
Da wir bei Hadoop die ganze Zeit von Clustern mit vielen Knoten sprechen, möchte ich auch noch auf das Thema Skalierbarkeit eingehen. Bei Skalierung von Systemen unterscheidet man zwischen 2 Arten. Auf der einen Seite gibt es die Vertikalen Skalierung.Diese wird beispielsweise beim SQL Server eingesetzt.Hier werden immer größere Maschinen benutzt, d.h. Mehr CPU’s, Mehr RAM, ein schnelleres Plattensystem bzw. mehr oder größere Festplatten.Meist skalieren diese Systeme aber nicht Linear. Auf der anderen Seite haben wir die Horizontale Skalierung.Diese setzt beispielsweise Hadoop ein.Hier werden viele kleinere Maschinen benutzt um mehr Leistung zu erzielen.Meist handelt es sich hierbei um kostengünstige Hardware oder virtuelle Maschinen.Deshalb ist Hadoop besonders im Cloud Computing und somit für Windows Azure interessant.
Zum Abschluss dieser Folge möchte ich noch einen Vergleich zwischen den klassischen, relationalen Datenbanksystemen und Hadoop zeigen. Relationale Datenbanken wurden mit dem Fokus auf Daten im Gigabyte-Bereich entwickelt, wogegen Hadoop den Petabyte-Bereich im Auge hatte. Bei der Art der Verarbeitung lassen sich bei Datenbanken Ad-Hoc Abfragen stellen sowie Daten im Batchmodus vorberechnen.Bei Hadoop laufen alle Abfragen als Batch-Job ab. Wenn Daten aktualisierst werden, geht das bei Relationalen Datenbanken jederzeit.Hadoop ist hingegen dafür ausgelegt, dass bereits persistierte Daten sich nicht mehr ändern und nur weitere hinzukommen. Relationale Datenbanken arbeiten meist mit statischen Schemas.Da Hadoop auf einem verteilten Dateisystem aufbaut und dabei jede Art von Dateien gespeichert werden, gibt es hier nicht zwangsläufig ein Schema. Auch Transaktionen und ähnliches was man von relationalen Datenbanken kennt, ist Hadoop fremd. Über das Skalierverhalten hatte ich bereits im vorherigen Slide gesprochen.Beim Relationalen Datenbanken sprechen wir von einem Nicht-Linearen Verhalten und Hadoop skaliert Linear.
Nach dieser ganzen Theorie, wird es in den kommenden Folgen mehr um die Praxis gehen. Als Nächstes steht die Installation von HDInsight im Fokus, gefolgt von Verteilten Dateisystem HDFS und den Analyse-Framework MapReduce. Ich hoffe es hat euch gefallen, und freue mich über Feedback auf meinem Blog oder auf Twitter unter @SaschaDittmann