Dieser Beitrag erschien ursprünglich auf O’Reilly Radar („Was ist Big Data?“). Er wird mit Genehmigung veröffentlicht.
Von Edd Dumbill
Big Data sind Daten, die die Verarbeitungskapazität herkömmlicher Datenbanksysteme übersteigen. Die Daten sind zu groß, bewegen sich zu schnell oder passen nicht in die strengen Vorgaben Ihrer Datenbankarchitekturen. Um einen Nutzen aus diesen Daten zu ziehen, müssen Sie einen alternativen Weg wählen, um sie zu verarbeiten.
Das heiße IT-Schlagwort des Jahres 2012, Big Data, ist realisierbar geworden, da kosteneffiziente Ansätze entstanden sind, um das Volumen, die Geschwindigkeit und die Variabilität massiver Daten zu bändigen. In diesen Daten liegen wertvolle Muster und Informationen, die bisher aufgrund des hohen Arbeitsaufwands für ihre Extraktion verborgen waren. Für führende Unternehmen wie Walmart oder Google ist diese Leistung schon seit einiger Zeit in Reichweite, allerdings zu fantastischen Kosten. Die heutige Commodity-Hardware, Cloud-Architekturen und Open-Source-Software bringen die Big-Data-Verarbeitung in die Reichweite der weniger gut ausgestatteten Unternehmen. Big-Data-Verarbeitung ist sogar für kleine Garagen-Startups machbar, die kostengünstig Serverzeit in der Cloud mieten können.
Der Wert von Big Data für ein Unternehmen lässt sich in zwei Kategorien einteilen: analytische Nutzung und Ermöglichung neuer Produkte. Big-Data-Analysen können Erkenntnisse zutage fördern, die zuvor durch Daten verborgen waren, deren Verarbeitung zu kostspielig war, wie z. B. der Einfluss von Kunden, der durch die Analyse der Transaktionen, sozialen und geografischen Daten von Käufern sichtbar wird. Die Möglichkeit, alle Daten in angemessener Zeit zu verarbeiten, beseitigt die lästige Notwendigkeit von Stichproben und fördert einen investigativen Ansatz für Daten, im Gegensatz zu der etwas statischen Natur der Ausführung von vorbestimmten Berichten.
Die erfolgreichen Web-Startups des letzten Jahrzehnts sind Paradebeispiele dafür, dass Big Data als Wegbereiter für neue Produkte und Dienstleistungen genutzt wird. Durch die Kombination einer großen Anzahl von Signalen aus den Handlungen eines Nutzers und denen seiner Freunde konnte Facebook beispielsweise ein hochgradig personalisiertes Nutzererlebnis schaffen und eine neue Art von Werbegeschäft aufbauen. Es ist kein Zufall, dass der Löwenanteil der Ideen und Werkzeuge, die Big Data zugrunde liegen, von Google, Yahoo, Amazon und Facebook entwickelt wurden.
Der Einzug von Big Data in die Unternehmen bringt ein notwendiges Gegenstück mit sich: Agilität. Um den Wert von Big Data erfolgreich zu nutzen, muss experimentiert und erforscht werden. Ob bei der Entwicklung neuer Produkte oder bei der Suche nach Möglichkeiten, Wettbewerbsvorteile zu erlangen – der Job erfordert Neugier und eine unternehmerische Einstellung.
Wie sieht Big Data aus?
Als Sammelbegriff kann „Big Data“ ziemlich nebulös sein, so wie der Begriff „Cloud“ verschiedene Technologien abdeckt. Eingabedaten für Big-Data-Systeme können Chatter aus sozialen Netzwerken, Webserver-Protokolle, Verkehrsflusssensoren, Satellitenbilder, Rundfunk-Audiostreams, Banktransaktionen, MP3s von Rockmusik, der Inhalt von Webseiten, Scans von Regierungsdokumenten, GPS-Spuren, Telemetrie von Autos, Finanzmarktdaten sein – die Liste geht weiter. Sind das wirklich alle dasselbe?
Zur Verdeutlichung werden häufig die drei Vs Volumen, Geschwindigkeit und Vielfalt verwendet, um verschiedene Aspekte von Big Data zu charakterisieren. Sie sind eine hilfreiche Linse, durch die man die Art der Daten und die Softwareplattformen, die für ihre Nutzung zur Verfügung stehen, betrachten und verstehen kann. Höchstwahrscheinlich werden Sie mit jedem der Vs in dem einen oder anderen Ausmaß konfrontiert.
Volumen
Der Nutzen, der sich aus der Fähigkeit ergibt, große Mengen an Informationen zu verarbeiten, ist die Hauptattraktion der Big-Data-Analytik. Mehr Daten zu haben, ist besser als bessere Modelle zu haben: einfache Rechenoperationen können bei großen Datenmengen unangemessen effektiv sein. Könnten Sie die Nachfrage besser vorhersagen, wenn Sie 300 Faktoren statt 6 berücksichtigen würden?
Dieses Volumen stellt die unmittelbarste Herausforderung für herkömmliche IT-Strukturen dar. Es erfordert einen skalierbaren Speicher und einen verteilten Ansatz für die Abfrage. Viele Unternehmen verfügen bereits über große Mengen an archivierten Daten, vielleicht in Form von Protokollen, aber nicht über die Kapazität, diese zu verarbeiten.
Angenommen, die Datenmengen sind größer als die, die herkömmliche relationale Datenbankinfrastrukturen bewältigen können, so lassen sich die Verarbeitungsoptionen grob in eine Wahl zwischen massiv parallelen Verarbeitungsarchitekturen – Data Warehouses oder Datenbanken wie Greenplum – und Apache Hadoop-basierten Lösungen einteilen. Diese Wahl wird oft durch das Ausmaß bestimmt, in dem eines der anderen „Vs“ – Vielfalt – ins Spiel kommt. Typischerweise beinhalten Data-Warehousing-Ansätze vorgegebene Schemata, die sich für einen regelmäßigen und sich langsam entwickelnden Datenbestand eignen. Apache Hadoop hingegen stellt keine Bedingungen an die Struktur der Daten, die es verarbeiten kann.
Im Kern ist Hadoop eine Plattform zur Verteilung von Rechenproblemen auf eine Vielzahl von Servern. Es wurde zuerst von Yahoo entwickelt und als Open Source veröffentlicht. Es implementiert den MapReduce-Ansatz, der von Google bei der Erstellung seiner Suchindizes eingeführt wurde. Bei MapReduce von Hadoop wird ein Datensatz auf mehrere Server verteilt und auf den Daten operiert: die „Map“-Phase. Die Teilergebnisse werden dann rekombiniert: die „Reduce“-Stufe.
Zur Speicherung der Daten verwendet Hadoop ein eigenes verteiltes Dateisystem, HDFS, das die Daten mehreren Rechenknoten zur Verfügung stellt. Ein typisches Hadoop-Nutzungsmuster umfasst drei Stufen:
- Das Laden von Daten in das HDFS,
- MapReduce-Operationen und
- das Abrufen der Ergebnisse aus dem HDFS.
Dieser Prozess ist von Natur aus eine Batch-Operation und eignet sich für analytische oder nicht-interaktive Rechenaufgaben. Aus diesem Grund ist Hadoop selbst keine Datenbank- oder Data-Warehouse-Lösung, sondern kann als analytische Ergänzung zu einer solchen dienen.
Einer der bekanntesten Hadoop-Anwender ist Facebook, dessen Modell diesem Muster folgt. Eine MySQL-Datenbank speichert die Kerndaten. Diese werden dann in Hadoop gespiegelt, wo Berechnungen stattfinden, wie etwa die Erstellung von Empfehlungen auf Basis der Interessen der Freunde. Facebook überträgt die Ergebnisse dann zurück in MySQL, um sie in den Seiten zu verwenden, die den Nutzern angezeigt werden.
Sparen Sie 20 % bei der Anmeldung mit dem Code RADAR20
Velocity
Die Bedeutung der Datengeschwindigkeit – die zunehmende Geschwindigkeit, mit der Daten in ein Unternehmen fließen – folgt einem ähnlichen Muster wie die Datenmenge. Probleme, die früher auf bestimmte Branchen beschränkt waren, treten jetzt in einem viel breiteren Rahmen auf. Spezialisierte Unternehmen wie Finanzhändler haben schon lange Systeme, die mit schnelllebigen Daten umgehen können, zu ihrem Vorteil genutzt. Jetzt sind wir an der Reihe.
Warum ist das so? Das Zeitalter des Internets und der Mobiltelefone bedeutet, dass die Art und Weise, wie wir Produkte und Dienstleistungen liefern und konsumieren, zunehmend instrumentiert wird und einen Datenfluss zurück zum Anbieter erzeugt. Online-Händler sind in der Lage, große Historien über jeden Klick und jede Interaktion der Kunden zu erstellen: nicht nur über die letzten Verkäufe. Wer in der Lage ist, diese Informationen schnell zu nutzen, indem er zum Beispiel zusätzliche Käufe empfiehlt, verschafft sich einen Wettbewerbsvorteil. Die Smartphone-Ära erhöht die Rate des Datenzustroms noch einmal, da die Verbraucher eine Streaming-Quelle für geografisch verortete Bild- und Audiodaten mit sich führen.
Es geht nicht nur um die Geschwindigkeit der eingehenden Daten: Es ist möglich, schnelllebige Daten in einen Massenspeicher zu streamen, um sie später zum Beispiel als Batch
zu verarbeiten. Die Bedeutung liegt in der Geschwindigkeit der Rückkopplungsschleife, die die Daten von der Eingabe bis zur Entscheidung führt. Ein Werbespot von IBM bringt es auf den Punkt: Sie würden nicht über die Straße gehen, wenn Sie nur einen fünf Minuten alten Schnappschuss der Verkehrslage hätten. Es gibt Zeiten, in denen Sie einfach nicht warten können, bis ein Bericht läuft oder ein Hadoop-Job abgeschlossen ist.
Die Branchenterminologie für solche sich schnell bewegenden Daten ist entweder „Streaming Data“ oder „Complex Event Processing“. Letzterer Begriff hat sich in Produktkategorien etabliert, bevor die Streaming-Verarbeitung von Daten eine größere Relevanz erlangte, und scheint zugunsten von Streaming zu schwinden.
Es gibt zwei Hauptgründe, Streaming-Verarbeitung in Betracht zu ziehen. Der erste ist, wenn die Eingabedaten zu schnell sind, um sie in ihrer Gesamtheit zu speichern: Um die Speicheranforderungen praktikabel zu halten, muss ein gewisser Grad an Analyse stattfinden, während die Daten einströmen. Am extremen Ende der Skala generiert der Large Hadron Collider am CERN so viele Daten, dass die Wissenschaftler die überwältigende Mehrheit davon verwerfen müssen – in der festen Hoffnung, dass sie nichts Nützliches weggeworfen haben. Der zweite Grund, Streaming in Betracht zu ziehen, ist, wenn die Anwendung eine sofortige Reaktion auf die Daten erfordert. Dank der Zunahme von mobilen Anwendungen und Online-Spielen ist dies eine immer häufiger vorkommende Situation.
Produktkategorien für die Verarbeitung von Streaming-Daten teilen sich in etablierte proprietäre Produkte wie InfoSphere Streams von IBM und die weniger ausgefeilten und immer noch aufkommenden Open-Source-Frameworks, die ihren Ursprung in der Webindustrie haben: Twitters Storm und Yahoo S4.
Wie bereits erwähnt, geht es nicht nur um Eingabedaten. Auch die Geschwindigkeit der Ausgaben eines Systems kann eine Rolle spielen. Je enger die Rückkopplungsschleife ist, desto größer ist der Wettbewerbsvorteil. Die Ergebnisse können direkt in ein Produkt einfließen, wie z. B. die Empfehlungen von Facebook, oder in Dashboards, die zur Entscheidungsfindung verwendet werden.
Dieser Bedarf an Geschwindigkeit, insbesondere im Web, hat die Entwicklung von Key-Value-Stores und spaltenbasierten Datenbanken vorangetrieben, die für den schnellen Abruf von vorberechneten Informationen optimiert sind. Diese Datenbanken sind Teil einer übergeordneten Kategorie, die als NoSQL bekannt ist und verwendet wird, wenn relationale Modelle nicht die richtige Wahl sind.
Vielfalt
Selten liegen Daten in einer perfekt geordneten und verarbeitungsbereiten Form vor. Ein gemeinsames Thema in Big-Data-Systemen ist, dass die Quelldaten vielfältig sind und nicht in saubere relationale Strukturen fallen. Es kann sich um Text aus sozialen Netzwerken handeln, um Bilddaten oder um Rohdaten direkt von einer Sensorquelle. Nichts davon ist fertig für die Integration in eine Anwendung.
Selbst im Web, wo die Kommunikation von Computer zu Computer eigentlich gewisse Garantien bieten sollte, ist die Realität der Daten unübersichtlich. Unterschiedliche Browser senden unterschiedliche Daten, Benutzer halten Informationen zurück, sie verwenden möglicherweise unterschiedliche Softwareversionen oder Anbieter, um mit Ihnen zu kommunizieren. Und Sie können darauf wetten, dass es zu Fehlern und Inkonsistenzen kommt, wenn ein Teil des Prozesses von Menschen durchgeführt wird.
Eine häufige Anwendung der Big Data-Verarbeitung besteht darin, aus unstrukturierten Daten eine geordnete Bedeutung zu extrahieren, die entweder von Menschen oder als strukturierter Input für eine Anwendung genutzt werden kann. Ein solches Beispiel ist die Entitätsauflösung, der Prozess der genauen Bestimmung, worauf sich ein Name bezieht. Ist diese Stadt London, England, oder London, Texas? Bis Ihre Geschäftslogik dazu kommt, wollen Sie nicht raten müssen.
Der Prozess des Übergangs von Quelldaten zu verarbeiteten Anwendungsdaten ist mit dem Verlust von Informationen verbunden. Wenn man aufräumt, wirft man am Ende etwas weg. Dies unterstreicht ein Prinzip von Big Data: Wenn Sie können, behalten Sie alles. In den Bits, die Sie wegwerfen, können durchaus nützliche Signale enthalten sein. Wenn Sie die Quelldaten verlieren, gibt es kein Zurück mehr.
Trotz der Popularität und der gut verstandenen Natur relationaler Datenbanken ist es nicht so, dass sie immer das Ziel für Daten sein sollten, selbst wenn sie aufgeräumt sind. Bestimmte Datentypen passen besser zu bestimmten Klassen von Datenbanken. So sind z.B. als XML kodierte Dokumente am vielseitigsten, wenn sie in einem speziellen XML-Speicher wie MarkLogic gespeichert werden. Beziehungen in sozialen Netzwerken sind von Natur aus Graphen, und Graphen-Datenbanken wie Neo4J machen Operationen mit ihnen einfacher und effizienter.
Auch wenn es keine radikale Datentypinkongruenz gibt, ist ein Nachteil der relationalen Datenbank die statische Natur ihrer Schemas. In einer agilen, explorativen Umgebung werden sich die Ergebnisse von Berechnungen mit der Erkennung und Extraktion weiterer Signale weiterentwickeln. Semi-strukturierte NoSQL-Datenbanken erfüllen dieses Bedürfnis nach Flexibilität: Sie bieten genügend Struktur, um Daten zu organisieren, erfordern aber nicht das exakte Schema der Daten, bevor sie gespeichert werden.
In der Praxis
Wir haben die Natur von Big Data erforscht und die Landschaft von Big Data von einem hohen Niveau aus betrachtet. Wie immer, wenn es um den Einsatz geht, gibt es Dimensionen, die über die Tool-Auswahl hinaus zu berücksichtigen sind.
Cloud oder Inhouse?
Die meisten Big-Data-Lösungen werden heute in drei Formen angeboten: als reine Software, als Appliance oder Cloud-basiert. Die Entscheidung, welcher Weg eingeschlagen werden soll, hängt unter anderem von Fragen der Datenlokalisierung, des Datenschutzes und der Regulierung, der Personalressourcen und der Projektanforderungen ab. Viele Unternehmen entscheiden sich für eine hybride Lösung: die Nutzung von On-Demand-Cloud-Ressourcen als Ergänzung zu Inhouse-Implementierungen.
Big Data ist groß
Es ist eine grundlegende Tatsache, dass Daten, die zu groß sind, um sie konventionell zu verarbeiten, auch zu groß sind, um sie irgendwo hin zu transportieren. In der IT findet eine Umkehrung der Prioritäten statt: es ist das Programm, das bewegt werden muss, nicht die Daten. Wenn Sie Daten aus der US-Volkszählung analysieren wollen, ist es viel einfacher, Ihren Code auf Amazons Web-Services-Plattform laufen zu lassen, die solche Daten lokal hostet, und es kostet Sie weder Zeit noch Geld, sie zu übertragen.
Selbst wenn die Daten nicht zu groß sind, um sie zu bewegen, kann die Lokalität immer noch ein Problem sein, besonders bei schnell aktualisierten Daten. Finanzhandelssysteme drängen sich in Rechenzentren, um die schnellste Verbindung zu den Quelldaten zu bekommen, denn dieser Millisekunden-Unterschied in der Verarbeitungszeit ist gleichbedeutend mit einem Wettbewerbsvorteil.
Big Data ist unübersichtlich
Es geht nicht nur um die Infrastruktur. Big-Data-Praktiker berichten immer wieder, dass 80 % des Aufwands im Umgang mit Daten darin besteht, sie überhaupt erst einmal zu bereinigen, wie Pete Warden in seinem Big-Data-Glossar bemerkt: „Ich verbringe wahrscheinlich mehr Zeit damit, chaotische Quelldaten in etwas Brauchbares zu verwandeln, als mit dem Rest des Datenanalyseprozesses zusammen.“
Aufgrund der hohen Kosten für die Datenbeschaffung und -bereinigung lohnt es sich, darüber nachzudenken, was man tatsächlich selbst beschaffen muss. Datenmarktplätze sind eine Möglichkeit, gängige Daten zu beschaffen, und oft kann man auch Verbesserungen zurückgeben. Die Qualität kann natürlich variieren, wird aber zunehmend ein Maßstab sein, an dem sich Datenmarktplätze messen lassen müssen.
Kultur
Das Phänomen Big Data ist eng mit dem Aufkommen von Data Science verbunden, einer Disziplin, die Mathematik, Programmierung und wissenschaftlichen Instinkt vereint. Von Big Data zu profitieren bedeutet, in Teams mit diesen Fähigkeiten zu investieren und sie mit einer organisatorischen Bereitschaft zu umgeben, Daten zu verstehen und zum Vorteil zu nutzen.
In seinem Bericht „Building Data Science Teams“ charakterisiert D.J. Patil charakterisiert
Datenwissenschaftler mit folgenden Eigenschaften:
- Technisches Fachwissen: die besten Datenwissenschaftler haben typischerweise ein tiefes Fachwissen in einer wissenschaftlichen Disziplin.
- Neugierde: der Wunsch, unter die Oberfläche zu gehen und ein Problem zu entdecken und in eine sehr klare Reihe von Hypothesen zu destillieren, die getestet werden können.
- Storytelling: die Fähigkeit, Daten zu nutzen, um eine Geschichte zu erzählen und diese effektiv zu kommunizieren.
- Cleverness: die Fähigkeit, ein Problem auf unterschiedliche, kreative Weise zu betrachten.
Die weitreichende Natur von Big-Data-Analytics-Projekten kann unangenehme Aspekte mit sich bringen: Daten müssen aus Silos herausgebrochen werden, um verarbeitet werden zu können, und die Organisation muss lernen, wie man die Ergebnisse der Analyse kommuniziert und interpetiert.
Diese Fähigkeiten des Storytellings und der Cleverness sind die Gateway-Faktoren, die letztendlich darüber entscheiden, ob die Vorteile der analytischen Arbeit von einer Organisation absorbiert werden. Die Kunst und Praxis der Datenvisualisierung wird immer wichtiger, um die Kluft zwischen Mensch und Computer zu überbrücken und analytische Erkenntnisse auf sinnvolle Weise zu vermitteln.
Wissen Sie, wo Sie hinwollen
Schließlich sollten Sie daran denken, dass Big Data kein Allheilmittel ist. Sie können Muster und Anhaltspunkte in Ihren Daten finden, aber was dann? Christer Johnson, IBMs Leiter für Advanced Analytics in Nordamerika, gibt Unternehmen, die mit Big Data beginnen, folgenden Rat: Entscheiden Sie zunächst, welches Problem Sie lösen wollen.
Wenn Sie ein echtes Geschäftsproblem wählen, z. B. wie Sie Ihre Werbestrategie ändern können, um die Ausgaben pro Kunde zu erhöhen, wird dies Ihre Implementierung leiten. Big-Data-Arbeit profitiert zwar von Unternehmungsgeist, aber auch stark von einem konkreten Ziel.
Zugeordnet:
- Was ist Data Science?
- Aufbau von Data-Science-Teams
- Big Data Now
- „Data at the Scale of the Universe“, Vortrag von Kyle Cranmer auf der Strata NY 2011 (Video)
- Daten-Startups aufbauen: Schnell, groß und fokussiert