White Paper Lösungsansätze für Big Data White Paper Lösungsansätze für Big Data Das Thema „Big Data“ gewinnt für immer mehr Unternehmen an Bedeutung. Es werden neue Anwendungsfelder erschlossen, bei denen riesige Datenmengen automatisch und kontinuierlich aus unterschiedlichen Datenquellen generiert werden. Bei der Auswertung dieser Daten stößt die traditionelle IT jedoch an ihre Grenzen. Wie lassen sich der hohe Komplexitätsgrad und die Beschränkungen bei der Verarbeitungsgeschwindigkeit überwinden? Verschiedene Lösungsansätze wurden erfolgreich erprobt und bereits produktiv eingesetzt. In diesem White Paper möchte Fujitsu Ihnen Einblicke darin vermitteln, wie in welcher Situation vorzugehen ist. Inhalt Unternehmerisches Wunschdenken Daten – Der größte Aktivposten eines jeden Unternehmens Klassische Business Intelligence Die Situation hat sich geändert Veränderte Anforderungen an die Business Intelligence Big Data – Worum geht es dabei eigentlich? Warum traditionelle Lösungen ungeeignet sind Verteilte Parallelverarbeitung Apache Hadoop Hadoop Distributed File System (HDFS) Hadoop MapReduce YARN (Yet Another Resource Negotiator) Apache Hadoop-Unterprojekte Die destillierte Essenz von Big Data In-Memory Plattform In-Memory Datenbanken (IMDB) In-Memory Data Grid (IMDG) Infrastrukturoptimierung für relationale Datenbanken Datenbanken für Big Data Complex Event Processing Referenzarchitektur für Big Data Bei Big Data geht es aber nicht nur um die Infrastruktur Ihr Weg zu Big Data Betrieb von Big-Data-Infrastrukturen IaaS, PaaS, SaaS oder sogar Data Science als Service? Welchen Beitrag kann Fujitsu leisten? Zusammenfassung Seite 1 von 16 2 2 2 2 3 3 4 5 5 5 6 6 7 7 8 8 9 9 10 12 13 14 14 15 15 16 16 www.fujitsu.com/de White Paper Lösungsansätze für Big Data Unternehmerisches Wunschdenken Die Steigerung von Rentabilität und Erlösen hat in Unternehmen normalerweise oberste Priorität. Hierzu ist eine beständige Steigerung von Leistungsfähigkeit und Produktivität der Mitarbeiter sowie der Effizienz und Wettbewerbsfähigkeit des Unternehmens als Ganzes bei gleichzeitiger Risikominimierung erforderlich. Die spannende Frage lautet nun, wie sich dies schneller, effektiver und in größerem Umfang erreichen lässt als bei den Mitbewerbern. Wie wäre es, wenn Sie voraussagen könnten, wie sich Trends, das Verhalten der Kunden oder geschäftliche Chancen entwickeln werden? Wenn Sie stets die optimale Entscheidung treffen würden? Wenn Sie die Entscheidungsfindung beschleunigen könnten? Wenn entscheidende Maßnahmen automatisch ergriffen würden? Wenn Sie Probleme und Kosten bis zu ihrem Ursprung zurückverfolgen könnten? Wenn sich sinnlose Aktivitäten eliminieren ließen? Wenn sich Risiken exakt quantifizieren und auf ein Minimum reduzieren ließen? Die traditionelle BI nutzt hauptsächlich interne und historische Datenbank-Views, die sich aus einigen wenigen Datenquellen speisen. Die Daten werden strukturiert und typischerweise in einem relationalen Datenbankmanagementsystem (RDBMS) gespeichert. Business Analytics-Vorgänge werden auf Grundlage eines statischen Modells entworfen und in regelmäßigen Abständen – täglich, wöchentlich oder monatlich – als Batchverarbeitung ausgeführt. Da der durchschnittliche Benutzer meist nicht entsprechend geschult ist, um komplexe Analysen in Eigenregie zu erstellen, ist die Zahl derjenigen, die Abfragen ausführen oder sich mit der Auswertung von Unternehmensdaten beschäftigen, auf einige wenige Fachanwender beschränkt. Bei der Betrachtung solcher Fragen denken viele Manager sofort an die Chancen, die sich daraus für ihr Unternehmen ergeben. Sind dies jedoch lediglich Wunschträume, oder besteht die Chance, dass sie eines Tages verwirklicht werden können? Daten – Der größte Aktivposten eines jeden Unternehmens Neben den Mitarbeitern sind Daten die wertvollste Ressource eines jeden Unternehmens. Bereits vor Jahrzehnten wurde dies erkannt, und man versuchte, Daten profitbringend einzusetzen. Es lag auf der Hand, dass durch die intelligente Nutzung von Daten eine Entscheidungsfindung möglich wurde, die auf fundierten Fakten und nicht auf Intuition beruhte. Hierdurch konnten geschäftliche Abläufe verbessert, das Risiko minimiert, Kosten reduziert und das Geschäft im Allgemeinen gefördert werden. Eine weitere wichtige Erkenntnis bestand darin, dass Daten in ihrer ursprünglichen Form normalerweise nur von geringem Wert waren. Aus diesem Grund wurden Daten aus abrufbereiten Datenquellen – hauptsächlich aus transaktionalen Datenbanken – erfasst, konsolidiert und in eine für die Analyse geeignete Form gebracht, um Beziehungen, Muster und Grundsätze und damit letztendlich ihren echten Wert zu ermitteln. Genau dies war anfänglich der Grundgedanke der Business Intelligence (BI). Klassische Business Intelligence Im Rahmen der Business Intelligence werden die aufbereiteten Daten geladen und in einer speziellen Datenbank gespeichert, dem so genannten Data Warehouse. Dieses ist von den Transaktionssystemen getrennt, um diese nicht mit der Analyse von Unternehmensdaten, der Berichterstellung oder der Visualisierung von Abfrageergebnissen zu belasten. Data Warehouses sind für die Generierung von Reports optimiert. Aus Leistungs- oder Berechtigungsgründen werden multidimensionale Intervalle oder andere spezielle Datenbankansichten als Auszüge des Data Warehouse erstellt. Diese so genannten „Cubes“ oder „Data Marts“ können dann für eine tiefgreifende Analyse oder zur Generierung rollenspezifischer Berichte genutzt werden. Seite 2 von 16 Die Situation hat sich geändert Seit den Anfangszeiten der BI haben sich die Dinge erheblich geändert. Es sind eine Reihe vielseitig nutzbarer Datenquellen hinzugekommen, die es zu berücksichtigen gilt. Neben transaktionalen Datenbanken sind es insbesondere die Daten aus dem Internet in Form von Blog-Inhalten oder Click-Streams, die wertvolle Informationen enthalten, ganz zu schweigen von den Inhalten der sozialen Medien, die sich zu den am häufigsten genutzten Kommunikationsplattformen entwickelt haben. Auch aus Multimedia-Daten, z. B. Video, Foto oder Audio, lassen sich Rückschlüsse für unternehmerische Entscheidungen ziehen. Es existiert ein riesiger Fundus an Textdateien, darunter schier endlose Protokolldateien aus IT-Systemen, Notizen und E-Mails, die ebenfalls Indikatoren enthalten, die für Unternehmen interessant sein könnten. Und nicht zuletzt gibt es noch eine Myriade von Sensoren, die in Smartphones, Fahrzeugen, Gebäuden, Robotersystemen, Geräten und Apparaten, intelligenten Netzwerken – schlichtweg in jedem Gerät, das Daten erfasst – in einem Umfang verbaut wurden, der noch vor Kurzem unvorstellbar war. Diese Sensoren bilden die Grundlage für das sich im Aufbau befindliche, vielfach zitierte „Internet der Dinge“. Aus branchenspezifischer Sicht wären außerdem medizinische Untersuchungen im Gesundheitswesen, RFID-Etiketten zur Verfolgung beweglicher Güter sowie geophysische oder dreidimensionale Raumdaten (z. B. GPS-gestützte Ortsdaten) oder Daten von Beobachtungssatelliten zu nennen. Diese Aufzählung ist bei weitem nicht vollständig. www.fujitsu.com/de White Paper Lösungsansätze für Big Data Natürlich nimmt das Volumen bei allen Arten von Daten beständig zu, aber es sind insbesondere die Sensoren mit ihren automatisch und kontinuierlich generierten Ereignisdaten, die in Zukunft einen enormen Einfluss haben werden. Es überrascht daher kaum, dass wir uns einem exponentiellen Datenwachstum gegenüber sehen. Schauen wir uns einmal ein wenig genauer an, was diese exponentielle Datenentwicklung eigentlich bedeutet. Die Experten 18 sprechen von einem Datenvolumen von 2,5 x 10 Byte, das täglich hinzukommt. Dabei stammen 90 % aller vorhandenen Daten aus den letzten zwei Jahren. Das Datenvolumen steigt jährlich um 65 % an. Dies entspricht einer Verdopplung der Datenmenge alle 18 Monate bzw. einem Wachstum um den Faktor 12 alle fünf Jahre im Vergleich zum heutigen Stand. Mithin geht es hier nicht nur um Terabyte, sondern um Petabyte, Exabyte, Zettabyte und sogar Yottabyte, und ein Ende ist nicht abzusehen. Viele IT-Manager haben daher das Gefühl, in einer Flut aus Daten buchstäblich unterzugehen. Dabei geht es nicht nur um die Vielzahl von Datenquellen und das anwachsende Datenvolumen, sondern auch um neue Datentypen, die laufend hinzukommen. In der klassischen BI wurden lediglich strukturierte Daten in den festen Tabellenfeldern relationaler Datenbanken berücksichtigt. Heute ist der Großteil der Daten unstrukturiert – Experten sprechen dabei von mehr als 80 %. Unstrukturierte Daten sind etwa Textdaten wie Artikel, E-Mails und andere Dokumente, oder Daten, die nicht in Textform vorliegen, z. B. Audio, Video oder Bilddaten. Zusätzlich zu strukturierten und unstrukturierten Daten gibt es außerdem semistrukturierte Daten, die nicht in festen Datenfeldern vorliegen, sondern durch so genannte Tags in aufeinander folgende Datenelemente unterteilt werden. Beispiele für semistrukturierte Daten sind XML-, HTML- und PDF/A-Daten sowie RSS-Feeds. Abschließend sind noch die polystrukturierten Daten zu nennen, die aus einer Vielzahl unterschiedlicher Datenstrukturen bestehen, die sich zusätzlich noch verändern können. Beispiele für polystrukturierte Daten sind elektronische Datensätze in Form von XML-Dokumenten mit PDF/A-Elementen oder unterschiedliche Versionen eines Dokuments, die sich in der Anzahl der Elemente oder sogar in der Version des zugrunde liegenden XML-Schemas unterscheiden. Veränderte Anforderungen an die Business Intelligence Interessant ist, welche Auswirkungen all diese Überlegungen auf die Business Intelligence von heute haben. Aus unternehmerischer Sicht wurde nämlich schnell klar, dass sich aus dieser Vielzahl unterschiedlicher Datenquellen mit ihren riesigen, aber bislang ungenutzten Datenbeständen – egal ob diese strukturiert, unstrukturiert, semistrukturiert oder polystrukturiert vorliegen – immenser Nutzen schlagen lässt. Aber im Gegensatz zur klassischen BI, als es noch Stunden dauerte, um Berichte im Batchverfahren zu generieren, werden heutzutage Ad-hoc-Abfragen mit Analyseergebnissen in Echtzeit erwartet, die die Grundlage für umgehende, proaktive Entscheidungen bilden oder sogar ein automatisiertes Eingreifen ermöglichen. Hinzu kommt, dass sich die Datenanalyse nicht mehr mit der Beschreibung vergangener Ereignisse allein beschäftigt, sondern vorherzusagen versucht, was in Zukunft passieren wird. Seite 3 von 16 Aufgrund der Vielzahl von Anwendungsmöglichkeiten und Chancen, die sich aus dieser Datenvielfalt ergibt, gibt es aber auch weitaus mehr Benutzer, die sich einen direkten Zugriff auf Analysedaten wünschen, und dies nicht nur vom Büro aus, sondern ortsungebunden von jedem Gerät aus, sei es ein Laptop-Computer, ein Smartphone oder etwas anderes. Natürlich muss eine Lösung, die all dies ermöglicht, zuallererst auch effizient und kostengünstig sein. Hiermit wurden die Grundlagen für ein neues Modewort und eines der am meisten diskutierten Themen in der heutigen IT geschaffen: Big Data. Big Data – Worum geht es dabei eigentlich? Big Data vereint alle oben erörterten Eigenschaften von Daten. Big Data kann für Unternehmen zum Problem werden, bietet aber auch die Chance, sich einen Wettbewerbsvorteil zu erarbeiten. Big Data beginnt bei Datenvolumen im Bereich mehrerer Terabyte und darüber hinaus – mehrere Petabyte sind keine Seltenheit, oft in Form unterschiedlicher Datentypen (strukturiert, unstrukturiert, semistrukturiert und polystrukturiert) aus verschiedenen, geografisch verteilten Datenquellen. Die Daten werden häufig mit hoher Geschwindigkeit generiert und müssen in Echtzeit verarbeitet und analysiert werden. Manchmal verlieren Daten genauso schnell ihre Gültigkeit, wie sie generiert wurden. Inhaltlich gesehen können Daten durchaus ambivalent sein, was ihre Interpretation zu einer echten Herausforderung macht. Bei Big Data geht es jedoch nicht nur um die Daten selbst, sondern auch um erschwingliche Systeme, die Speicherung, Erschließung und Analyse riesiger Datenmengen in Echtzeit ermöglichen. Dank Verarbeitung in höchster Geschwindigkeit können Abfragen immer weiter verfeinert und die Abfrageergebnisse so Schritt für Schritt verbessert werden. Auf diese Weise ist ein großer Benutzerkreis auch ohne tiefgreifende Vorkenntnisse in der Lage, produktiv mit Analysedaten umzugehen – etwas das noch vor kurzem absolut unvorstellbar gewesen wäre. Big Data verschafft also einen unkomplizierten Zugang zu Analysedaten, und damit zu Wissen, und zwar allen, die diesen Zugang benötigen,. www.fujitsu.com/de White Paper Lösungsansätze für Big Data Auf die Frage, ob Sie sich mit dem Thema „Big Data“ überhaupt beschäftigen sollten, gibt es eine relativ einfache Antwort. Führen Sie sich einfach vor Augen, dass Sie derzeitig durchschnittlich 5 % Ihrer verfügbaren Daten für Analysezwecke nutzen, was umgekehrt bedeutet, dass 95 % Ihrer Daten brach liegen. Wenn Sie die Möglichkeiten von Big Data ignorieren und sich mit 5 % begnügen, Ihre Mitbewerber – deren Wirkungsgrad bei der Datennutzung ähnlich aussehen dürfte – aber dank Big Data-Technologien 15 % ihrer Daten erschließen, ist es ziemlich offensichtlich, wer am Ende erfolgreicher sein wird. Der Nutzen von Big Data Unternehmen können vielfältigen Nutzen aus Big Data ziehen. Sie gewinnen Erkenntnisse über Kunden, Zulieferer und andere Geschäftspartner, über Märkte und Betriebsabläufe, über die Ursachen von Problemen und Kosten und über die potenziellen Risiken, mit denen Ihr Unternehmen umgehen muss. Alle diese Fakten und Erkenntnisse wären ohne Big Data verborgen geblieben. Aus neu entdeckten Mustern und Verhaltensweisen lassen sich Voraussagen über zukünftige Trends und geschäftliche Chancen ableiten, und dies wird die Geschwindigkeit, Qualität und Zweckdienlichkeit betrieblicher, taktischer und strategischer Entscheidungen eindeutig verbessern. Allein das Vermeiden einer Reihe von sinnlosen Aktivitäten birgt ein enormes Einsparpotenzial. Big Data versetzt Sie in die Lage, Ihre Daten effektiv zur Erlangung eines Wettbewerbsvorteils und zur Steigerung der Wertschöpfung einzusetzen. Die Möglichkeit, Maßnahmen zu automatisieren, trägt dazu bei, diese Ziele noch schneller zu erreichen. Schauen wir uns die Vorteile von Big Data anhand einiger Beispiele genauer an. Neue Erkenntnisse können Ihrem Geschäft, Ihren Produkten und Ihren Services neue Impulse geben. Kunden, die wahrscheinlich abgewandert wären, können gehalten werden, und diejenigen, die bereits das Lager gewechselt haben, werden zurückgewonnen, indem die Kundenstimmung verlässlich analysiert und bewertet wird, z. B. durch Vergleich von Lieferstatus und Kundenanrufen beim Helpdesk. Neukunden werden durch Ermitteln der aktuellen Nachfrage gewonnen, z. B. durch Analyse von sozialen Medien. Gleichzeitig lässt sich durch ein mehr zielgerichtetes Vorgehen die Rentabilität von Marketingkampagnen steigern. Andere Beispiele hängen eng mit der Optimierung von Geschäftsprozessen zusammen. Hier wären die Verkürzung der Forschungs- und Entwicklungsdauer, die Verbesserung von Planung und Prognose durch eine detaillierte Analyse historischer Daten, eine optimierte Bereitstellung und Verteilung von materiellen Ressourcen und Personal oder Leistungs- und Produktivitätssteigerungen durch automatisierte Entscheidungsprozesse in Echtzeit zu nennen. Letztendlich wird durch größere Effizienz und Effektivität die Rentabilität erhöht und das Wachstum gefördert. Die Möglichkeit, Risiken exakt zu quantifizieren und auf ein Minimum zu reduzieren, bedeutet enorme unternehmerische Vorteile. Durch effektive Nutzung von Informationen verbessern Sie Ihre Wettbewerbsfähigkeit. Seite 4 von 16 Warum traditionelle Lösungen ungeeignet sind Wie bereits erwähnt, fungieren Data Warehouses in klassischen BI-Lösungen als Datenspeicher. Normalerweise basieren sie auf relationalen Datenbanken. Für relationale Datenbanken ist immer eine Art von Struktur erforderlich, d. h. unstrukturierte oder semistrukturierte Daten müssen im Vorfeld aufbereitet werden. Die sich dabei ergebenden Tabellen sind oft riesig, enthalten aber vergleichsweise nur wenige Daten. Dies wiederum bedeutet ein große Menge von Metadaten, hohe Speicherkapazitäten und eine geringe Abfragegeschwindigkeit. Eine Strukturierung von Daten in Zeilen eignet sich gut für OLTP-Anwendungen (Online Transaction Processing), bei analytischen Aufgabenstellungen müssen aber zwangsläufig eine Menge irrelevanter Daten aus den vielen Zeilen gelesen werden, da eben nur die Informationen aus manchen Spalten von Bedeutung ist. Lässt sich diese Situation durch eine vertikale Serverskalierung (Scale up) verbessern? Egal wie leistungsstark Ihr Server auch sein mag, für jede seiner physischen Ressourcen gibt es eine Obergrenze, die nicht überschritten werden kann. Heutzutage liegen diese Obergrenzen bei ca. 128 Prozessorkernen, 4 TB Hauptspeicher, 10 - 50 TB an lokalem Festplattenspeicher und 40 GB/s Netzwerkbandbreite. Angesichts des wachsenden Datenvolumens werden diese Obergrenzen früher oder später zum Problem. Zweifellos werden diese Grenzen in Zukunft weiter nach oben verschoben, aber das Gesamtvolumen der Daten, die Sie für Ihre Analysen nutzen, wird um einiges schneller ansteigen. Außerdem werden die Kosten für CPUs, Hauptspeicher und Netzwerkanbindung bei vertikal skalierten Hochleistungsservern immer vergleichsweise hoch sein. Scheidet eine vertikale Skalierung also aus, bleibt die Frage nach relationalen Datenbanken und einer horizontalen Serverskalierung (Scale out) Da mehrere Server auf die Datenbank zugreifen, könnten die Speicherverbindungen zur entscheidenden Schwachstelle werden. Gleichzeitig steigt der Koordinationsaufwand für den Zugriff auf gemeinsam genutzte Daten mit der Anzahl der verwendeten Datenbankserver. Dies führt laut Amdahl‘schem Gesetz zu einer Abnahme der Servereffizienz und einer Einschränkung der Parallelisierung. Nach dem Amdahl‘schen Gesetz begrenzt bei jedem Parallelisierungsansatz der Kehrwert des nicht parallelisierbaren, sequentiellen Anteils die theoretisch erreichbare Leistungssteigerung. Demzufolge ist bei 1000 Rechnerknoten – um auch eine 1000-fache Leistungssteigerung zu erzielen - ein serieller Anteil von unter 0,1% anzustreben. Folglich wären alle Verbesserungsbemühungen in Verbindung mit relationalen Datenbanken, egal ob Sie horizontal oder vertikal skalieren, äußerst zeit- und kostenintensiv und würden Sie dem Ziel einer Datenanalyse in Echtzeit nur unwesentlich näher bringen. Die Analyseergebnisse würden zu spät vorliegen, und die gewonnenen Einsichten könnten zum Zeitpunkt, zu dem sie präsentiert werden, bereits hinfällig sein. Angesichts des hohen Datenvolumens werden relationale Datenbanken die Grenzen der wirtschaftlichen Machbarkeit überschreiten und trotzdem nicht die geforderte Performance erreichen. www.fujitsu.com/de White Paper Lösungsansätze für Big Data Natürlich wäre es denkbar, getrennte Datenbanken und Data Warehouses aufzubauen und die Analyseaufgaben auf sie zu verteilen. Hierdurch würden jedoch voneinander getrennte Datensilos mit separaten Analyseverfahren entstehen, die Ihnen nicht die erwarteten umfassenden Erkenntnisse liefern. Da Sie bei klassischen Lösungen in allen Bereichen auf Einschränkungen stoßen, sind neue Ansätze erforderlich, die es ermöglichen, die Verarbeitungszeit bei steigendem Datenvolumen konstant zu halten. Da sich solche Serverfarmen aus handelsüblichen Servern, in der Regel mit Dual-Socket-Konfiguration und einigen Terabyte an lokalem Speicherplatz, aufbauen lassen, aber ansonsten keine speziellen Anforderungen an die Hardware gestellt werden, ist die resultierende Lösung normalerweise extrem kostengünstig, was vor einigen Jahren so noch nicht möglich war. Dies wird als eine der wichtigsten technischen Voraussetzungen für Big Data-Analyseverfahren angesehen. Verteilte Parallelverarbeitung Der Schlüssel zum Erfolg liegt in der Parallelisierung auf Grundlage einer „Shared Nothing“-Architektur sowie nicht blockierenden Netzwerken, die eine reibungslose Kommunikation zwischen den Servern gewährleisten. Sie verteilen die Ein-/Ausgabe (I/O) auf mehrere Serverknoten, indem Datenuntermengen in den lokalen Speicher der Server ausgelagert werden. Apache Hadoop Als Standard für Big Data und verteilte Parallelverarbeitung hat sich im Markt Hadoop etabliert. Hadoop ist ein Projekt der Apache Software Foundation und ein in der Sprache Java programmiertes Open-Source-Framework für Batchbetrieb. Es lässt sich horizontal von wenigen auf mehrere tausend Serverknoten skalieren, toleriert Serverausfälle, die in großen Server-Farmen als „Normalzustand“ anzusehen sind, und sorgt so für stabile Speicher- und Analyseprozesse. Ähnlich wird die Verarbeitung der Daten verteilt, indem Rechenprozesse auf die Serverknoten verlagert werden, auf denen die Daten liegen. Die Hauptbestandteile von Hadoop sind das Hadoop MapReduce-Framework und das Hadoop Distributed File System (HDFS), die nachfolgend etwas näher beleuchtet werden. Hadoop Distributed File System (HDFS) HDFS ist ein verteiltes Dateisystem, welches insbesondere für die Verarbeitung hoher Volumina und hohe Verfügbarkeit konzipiert und optimiert ist. Es erstreckt sich über die lokalen Speicher eines Clusters bestehend aus mehreren Rechnerknoten. Die zentrale Komponente von HDFS ist der Master Server (NameNode), der die ursprünglichen Daten partitioniert und sie regelbasiert anderen Rechnerknoten zuteilt. Jeder Slave speichert also nur einen Teil der kompletten Datenmenge. Der auf jedem Slave installierte DataNode ist für die lokale Datenverwaltung verantwortlich. Verteilte Parallelverarbeitung bietet eine Reihe von Vorteilen. Das Ausführen einer Abfrage auf einer Vielzahl von Knoten erhöht die Leistung und sorgt so für schnellere Ergebnisse. Sie können mit nur wenigen Servern klein anfangen und bei Bedarf weitere hinzufügen. Im Grunde lässt sich Ihre Infrastruktur linear und ohne Obergrenze horizontal skalieren. Selbst wenn Tausende von Servern nicht ausreichen sollten, bleibt der Vorgang des Hinzufügens immer derselbe. Die Daten werden automatisch auf mehrere Knoten repliziert, um die Konfiguration fehlertolerant zu machen. Fällt ein Server aus, kann die entsprechende Aufgabe auf einem Server mit einer Datenreplik fortgeführt werden, vollkommen transparent für die Softwareentwicklung und den Betrieb. Seite 5 von 16 Zwecks erhöhter Verfügbarkeit wird jeder Datenblock auf mehrere Server repliziert; standardmäßig gibt es jeden Block dreimal. By default, every data lock exists three times. Neben dem Primärblock existieren eine Kopie typischerweise auf einem zweiten Server innerhalb desselben Server-Racks und eine zusätzliche Kopie in einem anderen Rack. Um die Verfügbarkeit zu erhöhen, lassen sich die Daten auch auf unterschiedliche Lokationen verteilen. Gegen logische Fehler beim Kopieren oder Löschen von Daten hilft das natürlich nicht; hier sind zusätzliche Datensicherungsverfahren anzuwenden. Der HDFS NameNode verwaltet die Metadaten, weiß also jederzeit Bescheid, welche Datenblöcke zu welchen Dateien gehören, wo die Datenblöcke liegen und wo welche Speicherkapazitäten belegt sind. Über periodisch übermittelte Signale kann der NameNode feststellen, ob die DataNodes noch funktionsfähig sind. Anhand ausbleibender Signale erkennt der NameNode den Ausfall von DataNodes, entfernt ausgefallene DataNodes aus dem Hadoop-Cluster und versucht jederzeit, die Datenlast gleichmäßig über die zur Verfügung stehenden DataNodes zu verteilen. Und er sorgt dafür, dass stets die festgelegte Anzahl von Datenblockkopien zur Verfügung steht. www.fujitsu.com/de White Paper Lösungsansätze für Big Data Um sich gegen einen Ausfall des NameNodes abzusichern, werden zwei NameNodes auf unterschiedlichen Maschinen im Cluster aufgesetzt. Dabei ist zu jeder Zeit einer aktiv und der andere passiv (Hot Stand-by). Änderungen der Daten, sowie ggf. der Metadaten, werden auf den NameNodes protokolliert. Die Synchronisation der Journaldaten kann über einen Shared-Storage (NAS) oder Quorum-basiert über mehrere Rechnerknoten erfolgen. Da immer beide NameNodes von den DataNodes direkt mit aktuellen Blockinformationen und Heartbeat-Signalen versorgt werden, kann bei Ausfall des aktiven NameNodes sehr schnell automatisch umgeschaltet werden. Hadoop MapReduce Wie HDFS, so arbeitet auch das MapReduce-Framework nach dem Master-Slave-Prinzip.. Der Master (JobTracker) zerlegt ein Problem in eine Vielzahl sinnvoller Teilaufgaben (Map-Tasks) und verteilt diese über das Netz auf eine Reihe von Rechnerknoten (TaskTracker) zur parallelen Bearbeitung. Typischerweise laufen die Map-Tasks auf denselben Clusterknoten, auf denen die zu bearbeitenden Daten liegen. Sollte dieser Rechnerknoten schon überlastet sein, so wird ein anderer Knoten ausgewählt, der möglichst nahe bei den Daten liegt, bevorzugt also im selben Rack. Zwischenergebnisse werden zwischen den Knoten ausgetauscht (Shuffling) und danach durch die Reduce-Tasks zu einem Endergebnis zusammengefasst. Da die Bearbeitungsprozesse zu den zu verarbeitenden Daten bewegt werden und nicht umgekehrt, ist es möglich, in der Map-Phase die I/O-Aktivität zu parallelisieren und die Netzbelastung fast vollständig zu vermeiden. Um auch in der Shuffling-Phase Skalierungsengpässe zu vermeiden, ist ein sich nicht blockierendes, leistungsfähiges Switched Network zwischen den Rechnerknoten erforderlich. Während sich die Eingangsdaten für MapReduce wie auch die Endergebnisse im HDFS befinden, werden Zwischenergebnisse in den lokalen Dateisystemen der DataNodes hinterlegt. Der JobTracker steht ständig mit den Slaves in Kontakt, überwacht die Slaves und sorgt dafür, dass unterbrochene bzw. abgebrochene Tasks erneut ausgeführt werden. Meldet eine Task lange Zeit keinen Fortschritt oder fällt ein Knoten ganz aus, so werden die noch nicht beendeten Tasks auf einem anderen Server neu gestartet, in der Regel auf einem Rechnerknoten, auf dem eine Kopie der betreffenden Daten vorhanden ist. Wenn eine Task sehr langsam läuft, kann der JobTracker den Auftrag auf einem anderen Server noch einmal starten (spekulative Ausführung), um den Gesamtauftrag sicher zu erfüllen. Die einzige Schwachstelle ist der JobTracker selbst, der einen Single Point of Failure darstellt. Dieser Rechner sollte deshalb in sich möglichst viele redundante Komponenten enthalten, um die Ausfallwahrscheinlichkeit so gering wie möglich zu halten. MapReduce wird durchaus zur Ausführung von Business Analytics-Abfragen genutzt werden; ein häufiger Anwendungsfall ist allerdings, große Datenmengen erst in eine für Analyseverfahren optimierte Form zu bringen. YARN (Yet Another Resource Negotiator) YARN ist eine Weiterentwicklung des MapReduce-Frameworks. Die Ressourcenverwaltung und die Applikationssteuerung, die in MapReduce v1 beide vom JobTracker erledigt wurden, sind in zwei von einander getrennte Instanzen aufgeteilt. Nur der schlanke Ressourcen-Manager bleibt als zentrale Instanz vorhanden, während die gesamte Job-Planung an die ApplicationMaster delegiert wird, die auf jedem Slave-Knoten ablaufen können. Pro Job wird ein ApplicationMaster dynamisch auf einem der Slave-Knoten erzeugt und steht exklusiv für diesen Jobauftrag zur Verfügung. MapReduce v2 ist dann nur noch eine von mehreren denkbaren Ausprägungen der parallelen Ablaufsteuerung. Die verteilte Applikationssteuerung erhöht den Grad der Parallelisierung, beseitigt Engpässe und ermöglicht Cluster mit zehntausenden von Rechnerknoten. Optional können Zwischenergebnisse aus der Map-Phase und der Shuffle-Phase aggregiert werden(Combine), um die Datenmenge, die von den Map-Tasks an die Reduce-Tasks übergeben werden müssen, gering zu halten. Seite 6 von 16 www.fujitsu.com/de White Paper Lösungsansätze für Big Data Apache Hadoop-Unterprojekte Neben den beiden Basisfunktionen, dem Hadoop Distributed File System (HDFS) und MapReduce gibt es eine Reihe zusätzlicher Hadoop-Unterprojekte, die in Kombination mit den beiden Kernkomponenten, Hadoop zu einem umfassenden Ökosystem und einer universell einsetzbaren Plattform für Analyseanwendungen machen. Nachfolgend werden die wichtigsten Unterprojekte zusammengefasst. Mit Spark können Daten aus HDFS oder HBase direkt in den Hauptspeicher der Cluster-Knoten geladen werden. So kann für bestimmte Applikationen eine erhebliche Beschleunigung im Vergleich zu Hadoop MapReduce erreicht werden. Dies ist insbesondere dann von Vorteil, wenn mehrfache Abfragen auf dieselben Datenbestände erfolgen, wie dies beispielsweise bei Machine Learning der Fall ist. Pig mit der Skriptsprache „Pig Latin“ ermöglicht die Erstellung von Scripts, die in MapReduce-Jobs kompiliert werden. Hive und die deklarative Abfragesprache HiveQL werden für Ad-hoc-Abfragen und die einfache Erstellung von Reports verwendet. Die Kompilierung in die entsprechenden MapReduce-Jobs findet automatisch statt. Hive wird auch verwendet, um Daten aus HDFS in ein bestehendes Data Warehouse zu laden. Sqoop wird für den Import und Export von Massendaten zwischen HDFS und relationalen Datenbanken herangezogen. Flume eignet sich insbesondere für den Import von Datenströmen, wie bspw. Web-Logs oder andere Protokolldaten, in das HDFS. Avro dient der Serialisierung strukturierter Daten. Die strukturierten Daten werden in Bitketten konvertiert und in einem kompakten Format effizient im HDFS abgelegt. Die serialisierten Daten enthalten auch Informationen über das ursprüngliche Datenschema. Die beiden NoSQL Datenbanken HBase und Cassandra erlauben eine sehr effiziente Speicherung großer Tabellen und einen effizienten Zugriff darauf. Mahout ist eine Bibliothek von Moduln für maschinelles Lernen und Data Mining. ZooKeeper ist eine Bibliothek von Modulen zur Implementierung von Koordinations- und Synchronisierungsdiensten in einem Hadoop-Cluster. Die destillierte Essenz von Big Data Wie bereits erwähnt, kann verteilte Parallelverarbeitung auf Basis verteilter Dateisysteme sehr wohl für umfangreiche Analyseaufgaben herangezogen werden. Häufig steht jedoch die Vorverarbeitung großer Datenmengen im Vordergrund. Dabei werden die Daten bereinigt; Redundanzen und Widersprüche werden entfernt; und letztlich werden die Daten in eine Form gebracht, die sich besser für spontane (ad-hoc) Abfragen eignet. Das Ergebnis dieser Transformation ist in der Regel sehr viel kleiner als die Eingangsdatenmenge, enthält aber alle für den Anwendungsfall wichtigen Informationen und lässt sich somit als destillierte Essenz der Gesamtdaten auffassen. Es steht außer Frage, dass der Zugriff zu Daten auf Plattenspeichersystemen oder auch AFA (All-Flash-Arrays), welche sich durch hohe I/O-Leistung und niedrige Latenzzeiten auszeichnen nie so schnell sein kann wie auf Daten, die sich resident im Hauptspeicher eines Servers und somit näher bei den Applikationen befinden. Daher stellt man bei Echtzeitaufgaben die destillierte Essenz in einer In-Memory Plattform bereit, um sie für die Analyseanwendungen schnell zugänglich zu machen. Abläufe lassen sich mit Oozie beschreiben und automatisieren. Dies geschieht unter Berücksichtigung von Abhängigkeiten zwischen einzelnen Jobs. Chukwa überwacht große Hadoop-Umgebungen. Protokolldaten werden von den Clusterknoten gesammelt und verarbeitet und die Ergebnisse visualisiert. Ambari erlaubt eine einfache Verwaltung von Hadoop-Umgebungen. DataNodes werden hinsichtlich ihres Ressourcenverbrauchs und ihres Gesundheitszustandes überwacht. Cluster-Installation und Upgrades können automatisiert ohne jegliche Serviceunterbrechung durchgeführt werden. Dies erhöht die Verfügbarkeit und beschleunigt die Wiederherstellung im Notfall. Seite 7 von 16 www.fujitsu.com/de White Paper Lösungsansätze für Big Data In-Memory Plattform Bei einer In-Memory Plattform handelt es sich um einen einzelnen Server oder ein Server-Cluster, dessen Hauptspeicher als Datenspeicher für schnellen Datenzugriff verwendet wird. In der Praxis werden mit der Einführung derartiger In-Memory-Plattformen die Datenzugriffe um das 1.000- bis 10.000-fache beschleunigt. Die Analyse von Geschäftsdaten kann so in Echtzeit erfolgen und nimmt nicht mehr Stunden, Tage oder sogar Wochen in Anspruch. Wichtige Entscheidungen lassen sich somit viel schneller treffen. Um die Datenverfügbarkeit zu erhöhen, können Hauptspeicherinhalte zwischen verschiedenen Rechnerknoten gespiegelt und damit synchron gehalten werden. Natürlich reduziert sich dadurch die insgesamt verfügbare Netto-Hauptspeicherkapazität entsprechend. Für Analysezwecke kann auf Plattenspeicher komplett verzichtet werden. Zu beachten ist allerdings, dass Daten, die sich nur im flüchtigen Hauptspeicher eines Rechners befinden, bei Systemabsturz verloren gehen können, insbesondere natürlich nach einem Stromausfall. Der Einsatz von Notfallbatterien für den Hauptspeicher hilft hier sicher nur temporär. Um Datenverlustes zu verhindern, müssen die Dateninhalte, die sich im Hauptspeicher befinden, zusätzlich auf ein nichtflüchtiges, persistentes Speichermedium gebracht werden. Hierfür sind mehrere Lösungsansätze denkbar. Eine gängige Methode ist die kontinuierliche Replikation der Hauptspeicherdaten auf Platte. Ein identischer Status von Hauptspeicher und Platte ist damit jederzeit garantiert. Zur Reduzierung der I/O-Last können alternativ in regelmäßigen Abständen oder beim kontrollierten Abschalten des Gesamtsystems Snapshot-Dateien erzeugt werden, die den jeweils aktuellen Zustand des Hauptspeicherinhalts festhalten. Bei einem Absturz können hierbei allerdings Datenänderungen, die sich seit dem letzten Snapshot ergeben haben, verloren gehen. Durch Mitprotokollieren sämtlicher Datenänderungen ist auch diese Lücke zu schließen. Aus dem letzten Snapshot und dem Protokoll der inzwischen getätigten Änderungen kann der zuletzt gültige Hauptspeicherinhalt automatisch wiederhergestellt werden. Seite 8 von 16 Als Speicher für die Datenreplikate, die Snapshots bzw. die Änderungsprotokolle kommen sowohl lokale Platten der beteiligten Rechnerknoten, wie auch Speichersysteme im Netz in Betracht. Die Verwendung von Solid State Disks (SSD) beschleunigt natürlich die Wiederherstellung der Daten nach einem Absturz. Infolge der ständig sinkenden Preise für Hauptspeicher und der steigenden Leistung von Netzkomponenten, welche dazu beitragen, die Hauptspeicherinhalte mehrerer Rechner zu einer logischen Einheit zu formen, werden In-Memory-Plattformen mit immer größer werdenden Datenkapazitäten zu einem wichtigen Infrastrukturbaustein für Big Data. Nachfolgend werden verschiedene Implementierungsmöglichkeiten von In-Memory-Plattformen näher unter die Lupe genommen. In-Memory Datenbanken (IMDB) Bei einer In-Memory Datenbank (IMDB) befindet sich der komplette Datenbestand inklusive Verwaltungsdaten komplett im Hauptspeicher. Auch die Datenoperationen werden nur noch im Hauptspeicher durchgeführt, um schnelle Analysen zu ermöglichen. Für die Analysen können Lesevorgänge und Schreivorgänge von und zur Platte entfallen, komplett und ohne Ausnahme. Der Einsatz von IMDB liegt nahe, wenn voneinander unabhängige Applikationen aus vollkommen unterschiedlichen Blickwinkeln auf Datenbestände zugreifen, darauf dynamisch im Vorfeld noch nicht bekannte ad-hoc Abfragen absetzen, und die Ergebnisse in Echtzeit zu bereitzustellen sind. Die ersten im Markt verfügbaren IMDB waren für vertikale Skalierung ausgelegt. Mittlerweile gibt es aber auch IMDB, die horizontal skalieren. Die Skalierbarkeit ist hier jedoch bei weitem nicht so ausgeprägt wie bei Hadoop-Konfigurationen. Der Trend geht derzeit in die Richtung, horizontale und vertikale Skalierung gleichermaßen zu unterstützen. Ob eine In-Memory-Datenbank für die destillierte Essenz in Frage kommt, hängt von verschiedenen Faktoren ab. Zum einen ist dies die Datengröße, welche durch die im gesamten Servercluster verfügbare Hauptspeicherkapazität begrenzt wird. Bei spaltenorientierten Architekturen ist hier auch der Komprimierungsfaktor ausschlaggebend, der je nach IMDB und verwendetem Komprimierungsverfahren bei 10 bis 50 liegt und demzufolge die Kapazitätsgrenze um das 10 - 50-fache nach oben verschieben lässt. Wie viele Rechnerknoten insgesamt verwendet werden dürfen, ist in der Regel auch von IMDB zu IMDB verschieden. Außerdem spielt natürlich das verfügbare Budget eine Rolle; obwohl Arbeitsspeicher ständig preiswerter wird, sind die Kosten im Vergleich zu anderen Speichermedien immer noch vergleichsweise hoch. www.fujitsu.com/de White Paper Lösungsansätze für Big Data Einige IMDBs beziehen OLTP-Produktionsdaten und störungsfreie OLAP-Abfragen in dieselbe Datenbankinstanz ein und ermöglichen so eine Analyse von Produktionsdaten in Echtzeit. In solchen Implementierungen verwendet man häufig hybride Tabellen, bestehend aus einem für OLAP optimierten Spaltenspeicher und einem Zeilenspeicher. Dabei werden aktuelle Datenänderungen während der Transaktionsverarbeitung im Zeilenspeicher hinterlegt, damit sie nicht ständig in den Spaltenspeicher einsortiert werden müssen. Nach gewissen Kriterien, wie bspw. Systemauslastung, Größe des Update-Zeilenspeichers oder nach einem bestimmten, vorgegebenen Zeitintervall, wird der Inhalt des Zeilenspeichers in den Spaltenspeicher einsortiert. Natürlich laufen Abfragen immer über beide Teile einer Tabelle, sofern es einen nicht-leeren Zeilenspeicher gibt. Kleine Tabellen werden üblicherweise nicht in Spalten konvertiert, ebenso wenig wie Systemtabellen, die in der Regel ja auch klein sind. In-Memory Data Grid (IMDG) Kommt eine IMDB nicht in Frage, verdient ein In-Memory Data Grid (IMDG) zwischen dem Plattenspeicher und den Applikationen Beachtung. Ein IMDG ist ein in der Regel über mehrere Server verteilter residenter Hauptspeicherbereich, in den große Datenbestände von externen Speichersystemen eingelagert werden. Jede Art von Datenobjekt kann in einem IMDG verwaltet werden, also auch vollkommen unstrukturierte Daten, wie man sie bei Big Data mehrheitlich vorfindet. Im Gegensatz zu einer IMDB muss hier nicht zwingend der gesamte Datenbestand in den Hauptspeicher passen. Dennoch wird die I/O-Last drastisch reduziert, Applikationen werden beschleunigt, und Analysen können in Echtzeit durchgeführt werden. Über vertikale und horizontale Skalierung kann mit eventuellem Datenwachstum Schritt gehalten werden. Während sich IMDB für oftmals im Vorfeld noch nicht bekannte ad-hoc Abfragen von unterschiedlichen Anwendungen eignen, welche nach Belieben dynamisch auf den Datenbestand zugreifen, liegt der Haupteinsatz von IMDG eher bei exklusiven Nutzern und vordefinierten, somit also im Vorfeld schon bekannten Abfragen. Die Applikation bestimmt und steuert die Verarbeitung innerhalb der einzelnen Datenobjekte, das IMDG kümmert sich um den Zugriff auf die Daten, ohne dass die Anwendungen wissen müssen, wo sich die Daten befinden. Zusätzliche Funktionen zu Suche und Indexierung der im IMDG gespeicherten Daten lassen die Grenzen zwischen einer IMDG-Lösung und einer NoSQL-Datenbank fließend erscheinen. Ein IMDG kann eine kosteneffiziente Alternative zu einer IMDB sein, vor allem wenn die Dateninhalte nicht häufig aktualisiert werden. Die Anwendungen, die auf die Daten zugreifen, können in der Regel unverändert genutzt werden; bei entsprechend vorhandener Expertise kann aber durch eine Anpassung der Anwendungen der Nutzen eines IMDG optimiert werden. Wo letztlich die Daten in einem IMDG herkommen, spielt für das IMDG keine Rolle. Die Daten können von Speichersystemen im Netz kommen, oder es kann sich um Daten aus dem HDFS handeln. Weniger denkbar sind NoSQL-Datenbanken, da diese oftmals eine integrierte Caching-Funktion besitzen, die bereits manche der Vorteile eines IMDG bietet. Seite 9 von 16 Infrastrukturoptimierung für relationale Datenbanken Zu einer häufig geführten Diskussion führt die Frage, wie vorhandene Infrastrukturen für relationale Datenbanken in die Big Data-Welt integriert werden können. Für relationale Datenbanken gelten die bereits erörterten Einschränkungen. Deshalb kommen sie im Big Data-Umfeld nicht generell zum Einsatz. Relationale Datenbanken können jedoch Datenquellen für Hadoop sein, oder auch der Bestimmungsort für die destillierte Essenz. In beiden Fällen sind die Verarbeitungs- und Zugriffsgeschwindigkeit ausschlaggebend, insbesondere angesichts der steigenden Datenbankgrößen. Wie lässt sich der Datenbankzugriff also beschleunigen? Wie lässt sich die I/O-Aktivität reduzieren, wie holen Sie mehr IOPS aus der Speicherinfrastruktur heraus, und wie erreichen Sie eine kürzere Latenz? Welche Möglichkeiten zur Optimierung der Datenbankinfrastrukturen gibt es? Die bereits vorgestellte In-Memory-Datenbank, sowie das In-Memory Data Grid sind mögliche Lösungsansätze. In diesem Abschnitt werden weitere Alternativen behandelt. Eine Möglichkeit ist das Caching, bei dem häufig abgefragte Datensätze im Hauptspeicher des Datenbankservers verbleiben. Hierdurch werden die Lesevorgänge in der Datenbank beschleunigt, während die Schreibvorgänge direkt auf Festplatte erfolgen. Je größer der Cache, umso mehr Treffer sind zu erwarten und umso geringer die erzeugte I/O-Aktivität. Andererseits werden hierdurch zusätzlicher Speicher für den Cache und ein wenig mehr Arbeitsspeicher sowie zusätzliche CPU-Zyklen für den Cache-Algorithmus benötigt. Werden bestimmte Datensätze aufgrund ihrer besonderen Bedeutung im Hauptspeicher vorgehalten, dann sollten dafür In-Memory-Tabellen verwendet werden. Auch hierfür sind zusätzlicher Arbeitsspeicher und auch zusätzliche CPU-Zyklen zur Tabellenverwaltung erforderlich. Eine weitere Möglichkeit besteht in der Nutzung von RAM-Disks, eine Softwarelösung, bei der ein Teil des Hauptspeichers (RAM) reserviert und wie eine Festplatte genutzt wird. Die bisher vorgestellten Varianten nutzen allesamt die Tatsache, dass eine reine In-Memory-Verarbeitung zu einer Reduzierung der I/O-Aktivität führt. Die Nutzung schnellerer Festplattentechnologien für Ihre Speichersysteme, bspw. SSD (Halbleiterlaufwerke auf Basis von NAND-Flash), könnte aber auch in Betracht gezogen werden. SSDs sind einerseits leistungsfähiger als Festplattenlaufwerke und bieten außerdem mehr Kapazität als der Hauptspeicher. Eine weitere denkbare Alternative besteht darin, die Datenbankserver selbst mit einem lokalen Flash-Speicher (z.B. PCIe SSD) zu versehen, der ein Großteil der zur Bearbeitung benötigten Daten bei extrem verkürzten Zugriffszeiten vorhalten kann. www.fujitsu.com/de White Paper Lösungsansätze für Big Data Interessant könnte außerdem ein All-Flash-Array (AFA) sein, das dem Speicher-Array vorgeschaltet ist und in dem idealerweise die gesamte Datenbank Platz findet. Eine solche Architektur bedeutet jedoch immer einen Kompromiss zwischen Größe, erforderlicher Systemleistung und Kosten. Da hohe Geschwindigkeit bei Datenzugriffen und Datenverarbeitung im Vordergrund steht, ist in vielen NoSQL-Implementierungen eine Caching-Funktion integriert, bei der häufig benutzte Daten resident im Hauptspeicher der Rechnerknoten gehalten werden, um die I/O-Last zu reduzieren. Unabhängig davon, für welche der Optionen Sie sich entscheiden, ob der Zugriff auf das Speicher-Array direkt erfolgt oder ein Flash-Array zwischen Server und Speicher-Array geschaltet wird – eine Hochgeschwindigkeitsanbindung zwischen Servern und Speicher-Array ist im Grunde unerlässlich. Die latenzarme und leistungsstarke Infiniband-Technologie ist für diesen Zweck bestens geeignet. Um Infiniband in die bereits vorhandenen Speicher- topologien und -protokolle zu integrieren, sind eventuell Hard- oder Software-Gateways erforderlich. Es gibt eine Reihe unterschiedlicher Datenmodelle für NoSQL-Datenbanken, die für die Lösung unterschiedlicher Problemstellungen optimiert wurden. Datenbanken für Big Data Verteilte Dateisysteme, wie das HDFS, können problemlos für große Datenmengen und Daten unterschiedlichen Typs verwendet werden. Im Vergleich zu einem Dateisystem erlaubt eine Datenbank auf Grund der bereitgestellten Abfragesprache eine weitaus effizientere Bereitstellung und einfachere Bearbeitung der Daten. Die heute am weitesten verbreitete Form der Datenbank ist die relationale Datenbank. Relationale Datenbanken eignen sich hervorragend für die Transaktionsverarbeitung strukturierter Daten von begrenztem Umfang. Sie sind optimiert für den satzweisen parallelen Zugriff vieler Benutzer, sowie für Operationen zum Einfügen, Aktualisieren und Löschen von Datensätzen. Abfragen dagegen verursachen einen höheren zeitlichen Aufwand. Big Data überschreitet diese Volumenbeschränkung, enthält mehrheitlich unstrukturierte Date und erfordert häufige Abfragen. Dies alles zeigt, dass relationale Datenbanken nicht die beste Wahl für Big Data sind. NoSQL (Not only SQL) Datenbanken sind speziell für Big Data-Anwendungen ausgelegt und können daher die Einschränkungen des relationalen Modells geschickt umgehen. Da sie auf keinem festen Schema aufsetzen, können sie recht einfach beliebige neue Datentypen aufnehmen; ebenso sind Datenformate einfach veränderbar, ohne dabei die Applikationen in irgendeiner Form zu beeinträchtigen. Im Gegensatz zu relationalen Datenbanken, die praktisch für unterschiedlichste Zwecke eingesetzt werden können, sind NoSQL-Datenbanken nur für spezielle Anwendungsfälle gedacht. Auf Grund ihrer Einfachheit kann ein höherer Durchsatz auch bei großen Datenmengen erzielt werden, wie sie bei Big Data typisch sind. Die Abfragen ähneln denen von SQL. Key-Value Stores Die erste Variante, die wir uns anschauen, sind die Key-Value-Stores, in denen Paare aus Schlüssel und Wert-in großen Mengen gespeichert werden. Der Zugriff auf den Wert erfolgt über den Schlüssel, über den der Wert eindeutig referenziert werden kann. Die Struktur der Values wird nicht von der Datenbank interpretiert; das ist allein Sache der Applikation. Key-Value Stores eignen sich insbesondere für die schnelle Verarbeitung von Daten aus dem Internet, wie bspw. Clickstreams bei Online Shopping-Anwendungen. Suchfunktionen, z.B. in Mail-Systemen, ist ebenfalls ein interessanter Einsatzfall. Dokument-orientierte Datenbanken (Document Stores) Bei Dokument-orientierten Datenbanken werden die Daten in Form von Dokumenten gespeichert. Ähnlich wie bei den Key-Value-Stores werden die Dokumente (Values) durch eindeutige Namen (Keys) referenziert. Jedes Dokument ist vollkommen frei bezüglich seiner Struktur oder seines Schemas; das heißt, es kann das Schema verwendet werden, das für die Applikation benötigt wird. Sollten neue Anforderungen auftreten, so ist leicht eine Anpassung möglich. Neue Felder können hinzugefügt und bereits verwendete Felder können weggelassen werden. Da dokumenten-orientierte Datenbanken über keine Mittel zur Verarbeitung der Dateiinhalte verfügen, ist der Datenzugriff vollständig durch die Applikation zu leisten und die Programmierung etwas aufwändiger. Dokument-orientierte Datenbanken eignen sich besonders zum Speichern zusammenhängender Daten in einem Dokument (bspw. HTML-Seiten), oder serialisierter Objektstrukturen (bspw. im JSON-Format). Beispielsweise setzt Twitter eine Dokument-orientierte Datenbank zur Verwaltung der Nutzerprofile unter Einbeziehung der Follower und Kurznachrichten (Tweets) ein. Daten und Abfragen lassen sich auf die Rechnerknoten eines Clusters verteilen und ermöglichen fast lineare und unbegrenzte Skalierbarkeit, sowie hohe Fehlertoleranz durch Datenreplikation und automatische Wiederherstellung im Fehlerfall. Seite 10 von 16 www.fujitsu.com/de White Paper Lösungsansätze für Big Data Spaltenorientierte Datenbanken (Columnar Stores) Die geläufigste und wahrscheinlich am häufigsten genutzte Variante der NoSQL-Datenbank ist die spaltenorientierte Datenbank. Ihr Hauptanwendungsgebiet liegt in der Verarbeitung großer Mengen strukturierter Daten, die sich mit relationalen Datenbanksystemen nicht angemessen bewältigen lassen. Dictionary compression Region Product Sales Vendor 0 Europe 0 Mice 0 750 0 Tigerfoot 1 America 1 Rabbits 1 1100 1 Lionhead 2 Asia 2 Rats 2 250 3 2000 Man stelle sich eine Tabelle mit Milliarden von Zeilen vor, wobei jede einzelne Zeile einen Datensatz darstellt. Die Anzahl der benötigten Spalten pro Datensatz ist dagegen vergleichsweise gering. Abfragen bei Analyseaufgaben beziehen sich in aller Regel nur auf wenige Spalten. Auf Grund der zeilenweisen Ablage müssen jedoch bei jeder Abfrage alle Spalten gelesen werden. Dies ist äußerst ineffizient. 0 1 1 2 0 Eine spaltenweise Speicherung der Daten in einer spaltenorientierten Datenbank erhöht die Effizienz. Der Zugriff wird auf die für die Abfrage der relevanten Spalten beschränkt, wodurch das Lesen irrelevanter Daten vermieden wird. Aufgrund der eingeschränkten Spaltenzahl pro Datensatz kann eine gesamte Spalte in einem Schritt gelesen werden. Auf diese Weise lässt sich die zu lesende Datenmenge erheblich reduzieren. Bei Bedarf können Spalten in mehrere Bereiche unterteilt werden, um die parallele Verarbeitung zu vereinfachen und Analyseverfahren auf diese Weise zusätzlich zu beschleunigen. Row-oriented store Key Region Product 0 Europe Mice 1 America Mice 2 America Rabbits 3 Asia Rats 4 Europe Rats Sales 750 1100 250 2000 2000 Vendor Tigerfoot Lionhead Tigerfoot Lionhead Tigerfoot Column-oriented store Key Region Product 0 Europe Mice 1 America Mice 2 America Rabbits 3 Asia Rats 4 Europe Rats Sales 750 1100 250 2000 2000 Vendor Tigerfoot Lionhead Tigerfoot Lionhead Tigerfoot SELECT SUM (Sales) GROUP BY Region Data required Data read, but not required 0 0 1 2 2 0 1 2 3 3 0 1 0 1 0 Run-length compression Region Product Sales Vendor 0 Europe 0 Mice 0 750 0 Tigerfoot 1 America 1 Rabbits 1 1100 1 Lionhead 2 Asia 2 Rats 2 250 3 2000 0 1 2 0 x1 x2 x1 x1 0 x2 1 x1 2 x2 0 1 2 3 x1 x1 x1 x2 0 1 0 1 0 x1 x1 x1 x1 x1 Columnar Stores eignen sich besonders, um sehr große Datenmengen in der Struktur dünn besetzter Tabellen schnell für Ad-hoc-Abfragen zur Verfügung zu stellen. Einige Columnar Stores unterstützen Spaltenfamilien. Das Datenbankschema enthält nur die grobe Struktur dieser Familien. Jede Spaltenfamilie steht typischerweise für einen inhaltlich zusammenhängenden Bereich von Daten mit ähnlichen Zugriffsmustern. Eine Unterteilung der Familie in mehrere Spalten, auch das Hinzufügen neuer Spalten, kann dynamisch erfolgen, ohne dass das Schema geändert und die Datenbank reorganisiert werden muss. Dies macht den Einsatz der Datenbank sehr flexibel. Neue oder geänderte Einträge werden mit einem Zeitstempel versehen, so dass nicht nur der aktuelle Stand, sondern auch eine gewisse Historie der Daten gespeichert wird. Dadurch wird das dynamische Verhalten nachvollziehbar, und es ist möglich, ggf. auftretende Inkonsistenzen im Nachhinein zu beheben. Spaltenorientierte Datenbanken sind selbstindizierend. Obwohl sie dieselben Vorteile für die Abfrageleistung bieten wie Indizes, ist kein zusätzlicher Indexbereich erforderlich. Da Daten in einer Spalte denselben Datentyp haben und es oft nur wenige verschiedene Werte pro Spalte gibt, lässt sich eine hohe Datenkomprimierung erzielen. Typische Komprimierungsfaktoren liegen im Bereich von 10 bis 50. Somit lassen sich die benötigten Speicherkapazitäten und folglich auch die Speicherkosten reduzieren. Der einzige Nachteil besteht darin, dass für das Einfügen bzw. Aktualisieren von Datensätzen eine höhere Anzahl von CPU-Zyklen erforderlich ist. Seite 11 von 16 www.fujitsu.com/de White Paper Lösungsansätze für Big Data Graph-Datenbanken Bei Graph-Datenbanken werden Informationen in Graphen mit Knoten und Kanten, sowie deren Eigenschaften dargestellt. Eine der häufigsten Berechnungen in einer Graphen-Datenbank ist die Suche nach dem einfachsten und effizientesten Pfad durch den gesamten Graphen. Anwendungsgebiete sind die Fahrplanoptimierung, geografische Informationssysteme (GIS), Hyperlinkstrukturen sowie die Darstellung von Nutzerbeziehungen innerhalb sozialer Netzwerke. Eine CEP-Lösung muss demzufolge vor allem schnell und skalierbar sein. Um zeitraubende Plattenzugriffe zu vermeiden, werden die Ereignisströme hauptspeicherresident organisiert. Lediglich Betriebsprotokolldaten werden in eine Datei auf Platte geschrieben, sofern von dieser Option überhaupt Gebrauch gemacht wird. In diesem Protokoll werden unter anderem Engpässe bei Betriebsmitteln festgehalten, oder auch Anomalitäten, um im Nachgang die Ursache dafür zu ermitteln. Ist die auftretende Last nicht von einem Server zu bewältigen, ist eine Verteilung auf mehrere Server erforderlich. Große Datenströme werden auf mehrere Server mit entsprechenden CEP Engines verteilt. Eingehende Ereignisse werden verarbeitet oder an andere Server weiter geroutet. Wenn die Anzahl der Knoten und Kanten für einen Server zu groß wird, muss der Graph partitioniert werden, was im Prinzip einer horizontalen Skalierung entspricht. Dabei wird der Gesamtgraph in Teilgraphen zerlegt, was sich als durchaus schwierige, manchmal sogar unlösbare Aufgabe erweisen kann. In letzterem Falle müssten manche Knoten mehreren Teilgraphen zugeordnet werden; man spricht dann auch von einer überlappenden Partitionierung. Bei großen Datenbanken mit hoher Lese-Intensität und relativ geringer Schreiblast, kann eine Replikation der Daten auf mehrere Server zu einer beschleunigten Bearbeitung beitragen. Complex Event Processing In den bisherigen Abschnitten wurde stets davon ausgegangen, dass Daten auf lokalen oder zentralen Plattenspeichern oder resident im Hauptspeicher von Rechnersystemen ruhen (Data at Rest) und auf Verarbeitung warten. Nun schauen wir uns Daten in Bewegung (Data in Motion) etwas näher an. Sind sehr viele Regeln und Abfragen abzuarbeiten, findet eine Verteilung auf mehrere Server mit voneinander unabhängigen CEP Engines statt. Dabei wird versucht, Abfragen die in einer Beziehung miteinander stehen, soweit möglich, auf denselben Rechnerknoten zu dirigieren. Bei Regeln mit hohem Hauptspeicherbedarf, bspw. auf Grund größerer zu betrachtender Zeitfenster, kann ein IMDG helfen, welches sich über mehrere Server erstreckt. Datenverluste können über die in IMDG-Lösungen realisierten Hochverfügbarkeitsfunktionen vermieden werden (bspw. automatische Datenreplikation auf unterschiedlichen Rechnerknoten, bzw. eine temporäre Zwischenlagerung auf persistenten Speichermedien). Komplexe Abfragen, die ein einzelner Server nicht alleine bearbeiten kann, können in Teilaufgaben zerlegt und auf mehrere Server verteilt werden. Ereignisströme (Event Streams) werden kontinuierlich und in hoher Frequenz bspw. von Sensoren erzeugt. Diese Event Streams müssen sofort erfasst und in Echtzeit analysiert werden. Je nach Relevanz werden die Ereignisse gefiltert und korreliert. Die Analyse erfolgt mit Hilfe von vordefinierten Regeln, die jeweils eine Bedingung und eine Aktion enthalten. Wenn die Bedingung erfüllt ist (das kann eine Korrelation sowohl in logischer wie auch in zeitlicher Hinsicht sein), wird die Aktion in Echtzeit angestoßen. Das genau ist das Arbeitsprinzip einer CEP (Complex Event Processing) Engine. Je nach Anwendungsfall sind Hunderttausende oder gar Millionen von Ereignissen pro Sekunde bewältigen. Ein weiterer kritischer Parameter ist die Latenz, d. h. in diesem Fall die Zeit, die zwischen Ereigniseingabe- und Ereignisausgabe verstreichen darf. Typische Anforderungen bezüglich der Latenzwerte liegen im Mikro- bzw. Millisekunden-Bereich. Seite 12 von 16 Je nach Anwendungsfall können von einer CEP-Engine erarbeitete Ergebnisse auch in HDFS (bspw. die Betriebsprotokolldaten), NoSQL-Datenbanken, In-Memory-Datenbanken oder IMDG hinterlegt und für weitere Analysezwecke oder zur Visualisierung, bzw. für das Berichtswesen (Reporting) genutzt werden. Theoretisch ist es auch denkbar, von Sensoren erzeugte Daten in anderen Datenspeichern zu konservieren; bspw. wenn alle Vorgänge nachvollziehbar sein müssen und deshalb sämtliche eintreffenden Daten protokolliert werden. www.fujitsu.com/de White Paper Lösungsansätze für Big Data Referenzarchitektur für Big Data Nachdem nun die wesentlichen Infrastrukturkonzepte für Big Data behandelt wurden, soll im nächsten Schritt eine Referenzarchitektur betrachtet werden, in der diese Konzepte berücksichtigt sind. Je nach Anwendungsfall kommen manche Technologien nur alternativ zum Einsatz, oder sie sind möglicherweise gar nicht erforderlich. Die Referenzarchitektur stellt letztlich einen Technologiebaukasten dar, aus dem für jede kundenspezifische Situation eine optimale Lösung als Kombination verschiedener Technologien konzipiert werden kann. Bei weniger zeitkritischen Anwendungsfällen, kann sich die SQL-Datenbank durchaus auf einem zentralen Plattenspeichersystem befinden, das zweckmäßigerweise über eine Hochgeschwindigkeitsverbindung mit dem entsprechenden Datenbank-Server verfügt. Die Verwendung schneller Speichersysteme, wie bspw. All-Flash-Arrays (AFA), die von Hause aus für Solid State Disks (SSD) konzipiert sind, und sich durch extrem hohe I/O-Leistung und geringe Latenzzeiten auszeichnen, kann hier weitere Vorteile bringen. Beginnen wir mit einer kurzen Zusammenfassung der in der Abbildung unten gezeigten Abläufe. Daten werden aus verschiedenen Datenquellen extrahiert. Bei diesen Datenquellen kann es sich handeln um Transaktionssysteme und Data Warehouses, aber auch um Protokolldateien, Click Streams, Internetseiten, die auch miteinander verlinkt sein können, E-Mails, Textdateien und Multimedia-Dateien. Und falls bereits eine IMDB im Einsatz ist, kann diese auch als Datenquelle herangezogen werden. Sind jedoch Analyseergebnisse in Echtzeit gefragt, bietet sich eine IMDB an. Alternativ kann ein IMDG etabliert werden, um die destillierte Essenz entweder komplett oder zumindest zu großen Teilen hauptspeicherresident zu halten, und die Analyse-Applikationen drastisch zu beschleunigen. Zur Beschleunigung der Extraktion von Daten auf Plattenspeichern kann optional ein IMDG eingesetzt werden. Dies ist nicht nur für die Big Data-Anwendung von Vorteil, sondern auch für jede andere Applikation, die diese Daten benötigt. Die Daten aus den genannten Quellen werden in ein verteiltes Datenhaltungssystem importiert, bspw. das HDFS, welches als Sammelbecken für große Datenmengen dient und sich über die lokalen Plattenspeicher von Rechnerknoten erstreckt. Über verteilte Parallelverarbeitung werden die Daten bereinigt und vorbearbeitet. Die Analyse und die Visualisierung der Analyseergebnisse kann unmittelbar auf das verteilte Datenhaltungssystem angewandt werden. Alternativ können durch verteilte Parallelverarbeitung transformierte Daten als destillierte Essenz in ein anderes Datenhaltungssystem exportiert werden. Dies ist in aller Regel entweder eine SQL- oder eine NoSQL-Datenbank. Auf diese Datenbank finden dann entsprechend auch die Analysen statt. Seite 13 von 16 Während Daten aus den oben erwähnten Quellen typischerweise mit Hilfe von Hadoop und MapReduce im Batchbetrieb verarbeitet werden, müssen z.B. Sensordaten, Eindringversuche, Kreditkartentransaktionen, oder andere mit hoher Frequenz generierte Ereignisströme mittels einer CEP-Plattform in Echtzeit erfasst und analysiert werden, damit auch die entsprechenden Maßnahmen in Echtzeit eingeleitet werden können. Als Datenspeicher für Complex Event Processing wird der Hauptspeicher genutzt, je nach Komplexität auch ein IMDG. Ergebnisse aus den der CEP-Engines können auch nach Hadoop, bzw. an die destillierte Essenz außerhalb Hadoop zwecks Weiterverarbeitung oder Visualisierung weitergeleitet werden. Gleichermaßen werden Hadoop-Daten manchmal auch für CEP genutzt. Die Pfeilstärke in der Abbildung steht stellvertretend für das Datenvolumen, welches zwischen den einzelnen Instanzen der Big Data-Referenzarchitektur bewegt wird. www.fujitsu.com/de White Paper Lösungsansätze für Big Data Wie jeder hybride Lösungsansatz erweckt dies auf den ersten Blick den Anschein einer hohen Komplexität. Umso wichtiger ist es, den Endanwender nicht mit dieser hohen Komplexität zu konfrontieren. Dies ist über den Einsatz entsprechender Konnektoren zwischen den Teilsystemen, bzw. durch Datenadapter zu erreichen, die einen reibungslosen Übergang ermöglichen. Letztlich entscheidend für den Endanwender ist jedoch, dass die für ihn bereitgestellten Analysefunktionen sich – für ihn vollkommen transparent - der richtigen Daten aus den richtigen Datenspeichern bedienen. Für den Anwender ist nicht die zu Grunde liegende Technologie entscheidend, sondern die Einsicht in die verfügbaren Daten, und das Gewinnen von Erkenntnissen, die ihn und seinen Geschäftsauftrag nach vorne bringen. Bei Big Data geht es aber nicht nur um die Infrastruktur Bisher wurde erörtert, was unter Big Data zu verstehen ist, welche Vorteile Sie davon erwarten dürfen, welche Lösungsansätze und sogar welche Kombinationen von Lösungsansätzen sinnvoll sein könnten, und wie die Gesamtarchitektur von Lösungen aussieht. Es würde dem Thema jedoch nicht gerecht werden, wenn wir unsere Betrachtung hier beenden würden, da es bei Big Data nicht nur um die Infrastruktur geht. Wer sich für Big Data-Verarbeitung entscheidet, stellt hohe Ansprüche an die Qualität der zu erwartenden Ergebnisse. Hierfür ist die Aufbereitung von Rohdaten zu qualitativ hochwertigen Informationen eine entscheidende Voraussetzung. Daten von geringer Qualität führen zu minderwertiger Ergebnisqualität und einer unbefriedigenden Benutzererfahrung, und Ihr Big Data-Projekt stellt sich im Endeffekt als Zeit- und Geldverschwendung heraus. Eines der am weitesten verbreiteten Probleme, auf das wir in Unternehmen immer wieder stoßen, besteht darin, dass zu viele Daten und zu wenige Ressourcen vorhanden sind und es darüber hinaus auch an analytischem und technischem Know-how mangelt. Dies führt dazu, dass manche Fragen nicht immer hinreichend beantwortet werden können. Hier einige Beispiele: Welche Daten von welchen Datenquellen? Nach was sollen gesucht werden? Wie sieht die Fragestellung bei den Abfragen aus? Welche Aktionen sind anzustoßen? Welche Analysemethoden? Welche Art der Visualisierung? Welche Tools? Wie sind die Tools zu benutzen? Wie kann man die Bedeutung der Daten entdecken? Wie kann eine interaktive Erforschung der Daten aussehen? Welche Daten sind wie lange aufzubewahren? Welche Daten können gelöscht werden? Wie sehen die ersten Schritte aus? Besonders der Analysebereich bedarf besonderer Aufmerksamkeit. Immer mehr Unternehmen interessieren sich für den so genannten „Data Scientist“, eine Fachkraft, die Kompetenz in den Bereichen Datenanalyse, Mathematik und Informatik mitbringt, über ein umfangreiches Branchenwissen verfügt und beauftragt wird, sich eingehend mit der Datenthematik zu befassen. Seite 14 von 16 Ihr Weg zu Big Data Schauen Sie sich nun die Schritte an, die zur erfolgreichen Einführung von Big Data-Analyseverfahren in einem Unternehmen erforderlich sind. Zunächst gilt es, die Big Data-Strategie mit Ihrer Unternehmensstrategie in Einklang zu bringen. Ein erster Schritt besteht daher darin, die Bereiche zu identifizieren, in denen durch neue Erkenntnisse die größten Auswirkungen erzielt werden können. Teilen Sie Ihre Big Data-Strategie dann in überschaubare Zwischenziele ein, fragen Sie sich, welche Analyseergebnisse Sie benötigen oder welche Entscheidungen getroffen werden müssen, und was Sie dazu wissen müssen. Hierbei geht es nicht zwangsläufig um Maximalziele. Konzentrieren Sie sich jeweils nur auf ein Teilziel. Dies trägt dazu bei, die Projektzeit zu verkürzen und die Wertschöpfung zu beschleunigen. Stellen Sie eine funktionsübergreifende Arbeitsgruppe aus Dateneigentümern, System- und Tool-Eigentümern sowie Vertretern der Endanwender zusammen. Dateneigentümer kennen sich mit ihren Daten aus. Sie wissen, welche Daten erforderlich sind und aus welchen Quellen sie stammen. System- und Tool-Besitzer kennen sich mit den Systemarchitekturen und den Tools aus. Sie sind mit den in Frage kommenden Tools vertraut und in der Lage, die verteilten Datenquellen zu integrieren. Die Endanwendervertreter sollten eine klare Vorstellung davon haben, welche Anforderungen an die gewünschten Ergebnisse gestellt werden. Sobald Ihr funktionsübergreifendes Team einsatzbereit ist, können Sie damit beginnen, Testfälle zu erstellen. Bereiten Sie die geeigneten Daten für die Analyse vor, stellen Sie die benötigte Hardware und geeignete Tools zusammen, und beginnen Sie nach Möglichkeit mit einer kleinen Infrastruktur. Versuchen Sie nicht, das Rad neu zu erfinden. Besser ist es, nach dem Bibliotheks-Ansatz vorzugehen. Wählen Sie aus den bereits vorhandenen die brauchbaren Algorithmen aus, und passen Sie sie an Ihre Anforderungen an. Hierdurch sparen Sie Zeit und Geld. Analysieren Sie dann die Daten, und visualisieren Sie die Ergebnisse. Probieren Sie unterschiedliche Datenkombinationen aus, um neue Erkenntnisse zutage zu fördern, und stellen Sie Fragen, die bisher noch nicht gestellt wurden. Eines ist hierbei besonders wichtig: Machen Sie die Ergebnisse allen im Unternehmen zugänglich, die Nutzen daraus ziehen könnten. Nur so können Sie von eventuellen Rückmeldungen und Anregungen profitieren. Darüber hinaus müssen Sie sich mit Problemen auseinandersetzen, die in den Bereichen Sicherheit, Datenschutz, Compliance oder Haftung entstehen könnten. Wenn Sie diese Schritte erfolgreich absolviert haben, können Sie den Projektumfang und die Infrastruktur erweitern. www.fujitsu.com/de White Paper Lösungsansätze für Big Data Bei all dem sollten die erforderlichen Veränderungen innerhalb der Unternehmenskultur nicht unerwähnt bleiben. Insbesondere Datenund Prozesseigentümer müssen bereit sein, die Kontrolle über Dinge abzugeben, die zuvor allein in ihren Händen lag. Entscheidungsträger müssen lernen, Analyseergebnisse zu akzeptieren und zu respektieren. Häufig ist dies nur möglich, wenn die Geschäftsleitung einen entsprechenden Beitrag leistet und Unterstützung anbietet. Betrieb von Big-Data-Infrastrukturen Nachdem wir nun recht ausführlich über zusammengesetzte Konzepte und Referenzarchitekturen für Big Data mit ihren verschiedenen Technologiebausteinen gesprochen haben, bleibt die Frage, wie die IT-Infrastruktur für Big Data zweckmäßigerweise betrieben werden sollte. Eine Option ist sicherlich der Eigenbetrieb im eigenen Rechenzentrum. Hier können vordefinierte, vorgetestete und vorintegrierte Konfigurationen, Appliances und optimal aufeinander abgestimmte Hardware- und Softwarekomponenten dazu beitragen, die Einführung und auch die Verwaltung entscheidend zu vereinfachen. Der Aufbau, die Integration und der Betrieb einer Big Data-Infrastruktur ist jedoch aufwändig, erfordert Personal und entsprechendes Spezialwissen. Insbesondere bei Personalknappheit oder nicht vorhandenem Spezialwissen, kann es sinnvoll sein, sich auf seine Kernkompetenzen zu konzentrieren und den Betrieb der Infrastruktur einem Dienstleister zu überlassen, der diesen Service schneller, besser und auf Grund der erzielbaren Skaleneffekte auch kostengünstiger bereitstellen kann. Immer mehr Unternehmen sind nicht mehr daran interessiert, komplexe Infrastrukturen im eigenen Rechenzentrum zu halten. In diesem Falle ist Big Data aus der Cloud eine interessante Alternative, die den Anwender schließlich von Vorabinvestitionen und allen Betriebsaufgaben befreit. Der Aufwand für Installation, Konfiguration und Wartung entfällt vollständig. Auch eine Kapazitätsplanung ist nicht mehr erforderlich. Die benötigten Kapazitäten lassen sich flexibel an den sich verändernden Bedarf anpassen, insbesondere im Fall von gelegentlich oder periodisch auftretenden Belastungsspitzen. Es gibt aber auch gute Gründe, die Daten im eigenen Rechenzentrum zu belassen. So zum Beispiel, wenn es um interne Daten geht, bspw. Sensordaten von Fertigungsstraßen oder Videodaten von Sicherheitssystemen, die einen erheblichen Datenverkehr im Netz verursachen würden. Ebenso bei sensiblen Daten, bei denen der Verlust ein enorm hohes Risiko für das Unternehmen mit sich bringt, bzw. die auf Grund von Compliance-Anforderungen gar nicht in ein Public Cloud verlagert werden dürfen. Oder aber riesige Mengen flüchtiger Daten, die in einer derart hohen Frequenz anfallen, dass sie nicht schnell genug in die Cloud weitergeleitet werden können. IaaS, PaaS, SaaS oder sogar Data Science als Service? Wenn man erst mit Big Data aus der Cloud liebäugelt, stellt sich die Frage, was nun genau aus der Cloud geliefert werden soll. Am einfachsten ist es sicherlich, wenn man sich weder um die Analyse-Applikationen und die Middleware, noch die Infrastruktur inklusive Serversystemen, Speichersystemen und Netzen kümmern muss. Unternehmen können die Infrastruktur eines Cloud-Anbieters inklusive Serversystemen, Speichersystemen und Netzkomponenten nutzen, kümmern sich aber selbst um Middleware und Analysetools. In diesem Fall spricht man von Infrastructure as a Service (IaaS,). Wird zusätzlich zur Infrastruktur auch die Big Data Middleware, bspw. das Hadoop-Ökosystem vom Cloud-Anbieter bezogen, spricht man von Platform as a Service (PaaS). Bei Software as a Service (SaaS) nutzen Unternehmen auch die Analysetools des Cloud-Anbieters. Somit bleibt für das Unternehmen „nur“ noch die Aufgabe, die so oft zitierte Nadel im Heuhaufen zu finden, also die Data Science-Fragen zu klären, für die man angeblich die händeringend gesuchten Data Scientists benötigt. Da diese sehr rar sind, gehen manche Cloud-Anbieter noch einen Schritt weiter und bieten Data Science as a Service an, ein Service, der dem Kunden quasi die Nadel im Heuhaufen sucht und findet. Insbesondere erübrigt sich dann auch die häufig diskutierte Frage, ob die riesigen Mengen externer Daten tatsächlich durch die Unternehmens-Firewall geschleust werden müssen. Abgerechnet wird Big Data aus der Cloud nach Nutzung der angebotenen Services (Pay-per-Use). Welche Parameter bei der Kostenfindung eine Rolle spielen, hängt vom Cloud-Dienst und vom Cloud-Dienstleister ab. Jedenfalls bietet Big Data aus der Cloud eines Cloud-Anbieters ein beachtliches Potenzial für Kostenreduzierung end ebnet damit den Weg zu Big Data trotz begrenzter Budgets. Falls Big Data aus der Cloud bereitgestellt wird, sollten auch die wesentlichen Datenquellen vom selben Cloud-Anbieter gehostet werden (Storage as a Service). Andernfalls müssten riesige Datenmengen zwischen Netzwerken übertragen werden, was die Ansprüche an eine schnelle Datenanalyse oder gar Echtzeitabfragen ad absurdum führen würde. Seite 15 von 16 www.fujitsu.com/de White Paper Lösungsansätze für Big Data Welchen Beitrag kann Fujitsu leisten? Big Data eröffnet Unternehmen nicht nur ungeahnte Möglichkeiten, sondern stellt sie auch vor Herausforderungen hinsichtlich ihrer Geschäftsprozesse und der erforderlichen Infrastruktur, die nicht zu unterschätzen sind. Mit seinem umfassenden und durchgängigen Dienstleistungsangebot deckt Fujitsu sämtliche Aspekte von Big Data ab; seien es die Daten, die Prozesse oder die IT-Infrastruktur. Wir beraten unsere Kunden, was mit Big Data erreicht werden kann und legen gemeinsam die Roadmap für die Erreichung der Ziele fest. Wir planen und priorisieren die Anwendungsfälle, entwerfen und implementieren die Lösung, integrieren sie in die bestehende Systemlandschaft und übernehmen die Wartung für die Gesamtlösung, bei Bedarf auch vollkommen konsistent über Ländergrenzen hinweg oder sogar global. Unsere Services basieren auf bewährten Methoden und unserer Projekterfahrung über verschiedene Branchen hinweg. Fujitsu unterstützt sämtliche relevanten Big Data-Infrastrukturkonzepte und ist daher stets in der Lage, die optimale Kombination von Technologien für eine kundenspezifische Situation und individuelle Anforderungen zu erarbeiten. Ob Sie nun einen Server-Cluster mit Hadoop Open Source-Software benötigen, und egal wie groß dieser auch sein muss, ob Sie In-Memory-Technologien für Echtzeitanforderungen benötigen oder Plattenspeicher-basierte Lösungen ausreichen, oder selbst wenn eine Kombination aus unterschiedlichen Ansätzen speziell für Sie erstellt werden muss, Fujitsu findet stets die richtige Antwort, um die geeignete Lösung vor Ort für Sie bereitzustellen. In Big Data Lösungen von Fujitsu sind enthalten unsere PRIMERGY Industrie-Standard-Server und unsere PRIMEQUEST Server, die selbst Unternehmenskritische Anforderungen höchsten Grades erfüllen. Darüber hinaus die ETERNUS DX Speichersysteme von Fujitsu, bzw. All-Flash-Array von unserem Partner Violin Memory. Die verwendete Software ist entweder von Fujitsu selbst, Open Source, oder von führenden ISV (Independent Software Vendor), mit denen wir eine enge Partnerschaft pflegen. Zur Datensicherung und Archivierung ist Fujitsu ETERNUS CS die Lösung der Wahl. Da die Produkte von Fujitsu auf Standards basieren, vermeiden Sie die Abhängigkeit von einem einzelnen Anbieter. Integrierte Systeme erleichtern den Einstieg und bringen Sie schnell an Ihr Ziel. Besonders erwähnenswert sind in diesem Zusammenhang FUJITSU Integrated System PRIMEFLEX for Hadoop (ein Hadoop-Cluster, das selbst Anwendern aus den Fachbereichen einfache Analysen ermöglicht), FUJITSU Integrated System PRIMEFLEX for SAP HANA (die IMDB-Lösung von SAP) und die IMDG-Lösung FUJITSU Integrated System PRIMEFLEX for Terracotta BigMemory. Kontakt FUJITSU Technology Solutions GmbH Mies-van-der-Rohe-Straße 8, 80807 München, Deutschland Tel.: +49-7203-922078 Fax: +49 -821-804-88429 E-Mail: [email protected] Website: www.fujitsu.com/de Seite 16 von 16 Attraktive Finanzierungsoptionen ermöglichen sogar die Einführung von Big Data ohne jede Vorabinvestition. Wenn Sie noch einen Schritt weiter gehen und den Betrieb Ihrer Big Data-Infrastruktur in unsere Hände legen möchten, damit Sie sich besser um Ihre Kernkompetenzen und strategischen Projekte kümmern können, bietet Fujitsu Ihnen entsprechende „Managed Data Center Services“. Die monatliche Abrechnung lässt dabei Ihre Investitionsausgaben zu Betriebsausgaben werden. Wenn Sie sich überhaupt nicht mit Infrastrukturaspekten befassen möchten, können Sie Big Data-Analysen auch als Service über die Fujitsu Cloud beziehen. Mit anderen Worten: Fujitsu ist Ihre zentrale Anlaufstelle für Big Data-Infrastrukturen, die Ihnen Komplettlösungen inklusive sämtlicher Sourcing-Optionen aus einer Hand bietet. Auf diese Weise reduzieren Sie Komplexität, Zeit und Risiko. Zusammenfassung Bei Big Data geht es nicht allein um große Datenmengen. Ebenfalls charakteristisch ist die Vielzahl unterschiedlicher Datentypen, Datenquellen und Interpretationsmöglichkeiten, die erforderliche Geschwindigkeit angesichts kontinuierlich entstehender neuer Daten und die Herausforderung, Analyseergebnisse möglichst schnell bereitzustellen. Und natürlich geht es auch um die Technologien, die all dies auf erschwingliche Weise ermöglichen sollen. Big Data bietet enormes Wertschöpfungspotenzial. Wenn Sie sich anstelle oftmals falscher Intuitionen auf Echtzeitdaten verlassen, werden Sie in Zukunft intelligentere Entscheidungen treffen. Wenn man wettbewerbsfähig sein möchte, führt kein Weg an Big Data vorbei. Halten Sie sich immer vor Augen: Sie mögen Big Data ignorieren, Ihre Mitbewerber aber bestimmt nicht! Daher empfiehlt es sich, so früh wie möglich im Ozean von Big Data schwimmen zu lernen. Abhängig von den Geschäftsanforderungen, der bereits vorhandenen Infrastruktur und weiteren Aspekten sind eine Vielzahl unterschiedlicher Lösungsansätze und sogar eine Kombination derselben vorstellbar. Fujitsu bietet komplette Big Data-Lösungen inklusive Hardware, Software und Services – alles aus einer Hand. Das macht Fujitsu zum idealen Partner für Big Data-Lösungen und garantiertem Erfolg. ƒ Copyright 2015. Fujitsu und das Fujitsu-Logo sind Marken oder eingetragene Marken von Fujitsu Limited in Japan und anderen Ländern. Andere Firmen-, Produkt- und Servicebezeichnungen können Marken oder eingetragene Marken der jeweiligen Eigentümer sein. Änderungen bei den technischen Daten vorbehalten. Lieferung unter dem Vorbehalt der Verfügbarkeit. Haftung oder Garantie für Vollständigkeit, Aktualität und Richtigkeit der angegebenen Daten und Abbildungen ausgeschlossen. Wiedergegebene Bezeichnungen können Marken und/oder Urheberrechte sein, deren Benutzung durch Dritte für eigene Zwecke die Rechte der Inhaber verletzen kann. www.fujitsu.com/de