Big Data und die Anforderungen aus Infrastruktursicht

Der Terminus "Big Data" ist derzeit unpräzise, in etwa wie der Begriff Virtualisierung zu seinen Anfangszeiten...

Zum Hintergrund: Was versteht man unter „Big Data“? Einfach nur riesige Datenmengen? Hadoop? Daten-Analysen in Echtzeit? Volle digitale Archive... etc. Es gibt meines Wissens derzeit keine Legaldefinition, da je nach Blickwinkel, Branche oder Anbieter ein anderer Aspekt betont wird; und damit ist dann auch schon eine gewisse Problematik dargestellt: Wie passen diese unterschiedlichen Blickwinkel unter dem Vorzeichen einer möglichst integrierten Lösung zusammen und wie integriere ich im nächsten Schritt diese Elemente möglichst effektiv in meine vorhandenen IT-Systeme, Prozesse und damit in den gesamten Infrastruktur-Stack? Gartner z.B. charakterisiert die Randbedingungen von Big Data generisch durch „steigende Volumen (Datenmenge), Geschwindigkeit (Geschwindigkeit der Daten in/out) und Art (Auswahl von Datentypen, Quellen).

 

Transparenter wird die Sachlage, wenn wir uns praktischen Aspekten, sprich der Anwendungsseite zuwenden und soziale Netze sind ein anschauliches Beispiel für die Einsatzmöglichkeiten von Big Data: Um beispielsweise den Kurznachrichtendienst Twitter nach bestimmten Consumer-Eigenschaften oder Kundenvorlieben zu scannen und auszuwerten (bei über 20 Mrd. Einträgen pro Monat nicht trivial), fallen sehr schnell große (unstrukturierte) Datenmengen an. Auch bei der Entwicklung von komplexen Produkten sind Real-time Simulationen und umfangreiche Auswertungen (Genomforschung, Öl-Gas Exploration etc.) notwendig, die sehr aufwändig und datenintensiv sein können. Derzeit macht Unternehmen aber vor allem generell der enorme Zuwachs an unstrukturierten Datentypen - hervorgerufen durch e-Mail, Web 2.0, Klickstreams und mobilen Geräten-Apps (wie Social media) zu Schaffen; die kosteneffiziente Speicherung, Archivierung wie auch Suche, Analyse und Integration relevanter Daten scheint eine zukunftsträchtige, aber auch anspruchsvolle IT-Disziplin zu werden (Fachkräfte, Applikationen, Technologie).

Da von Big Data nicht alle Unternehmen gleichermaßen betroffen sind, gibt weiterhin genügend Anwendungsfälle für klassische „normal“ aufgebaute Abfragen aus strukturierten Datenbanken die keine Echtzeit - Fähigkeiten besitzen müssen. Storageseitig bieten diese Applikationsprofile sowohl aus I/O- wie auch Kapazitätssicht (Wachstum hier zwischen 10% - 30% p.a.) keine Herausforderung. Allerdings ist die Integration von Big Data in traditionelle, mehr Silo-orientierte Block- oder File-Storage-Architekturen (SAN-NAS) aus verschiedenen Gründen (siehe unten) nicht trivial.

Moderne Anwendungen hingegen sind meist weborientiert, zum Teil sehr datenintensiv und werden sowohl in virtualisierten- als auch Cloud-Umgebungen eingesetzt.

Klassische relationale Datenbanken sind häufig der Grund von Performance-Engpässen: sie können nicht elastisch skalieren und sind deswegen für diese Art von Apps-Szenario nicht optimal geeignet.

 

Big Data Anforderungen stehen somit Technologien und Prozesse gegenüber, die sich in Bezug auf Skalierbarkeit, Performance und Kosteneffizienz auf Dauer mit den genannten Anforderungen nicht gut vertragen. Neben schnellen Halbleiterspeichern (RAM, Caching, SSDs) sind in Zukunft für große Mengen an z.B. Social Web Daten auch Cloud-optimierter Content-Aware-Storage, skalierbare Filesysteme, höhere Netzwerk-Bandbreiten bzw. Optimierungstechnologien wie automatisierte Datenreduktion- und Klassifizierung erforderlich.

 

Herstellerseitig ist der Markt für Big Data fragmentiert – je nachdem, aus welcher Disziplin der Anbieter kommt (Software, Hardware, BI, Storage, MPP, Datenbanken, Applikation etc.); strategische Zukäufe und Übernahmen in diesem Wachstumsmarkt sind verstärkt zu beobachten und sorgen für eine zusätzliche Dynamik bzw. Unberechenbarkeit. Big Data hat dazu geführt, das durch die Aquisition von sog. Informations-Management-Spezialisten durch Unternehmen wie Oracle, IBM, Microsoft oder SAP bislang ca. 15 Milliarden Dollar aufgewendet wurden; für Software-Firmen, die ausschließlich auf das Daten-Management und deren Analyse spezialisiert sind. Marktbeobachter kalkulieren für diesen Markt ein Wachstum von mehr als 10% pro Jahr, der damit ca. doppelt so schnell wachsen würde wie die Software-Branche als Ganzes.

 

Neben arrivierten Anbietern wie IBM (Software, Services), HP (Vertica), Intel (x86), Oracle, Teradata, SAS, Red Hat, SAP oder Cloudera kommen neue Player wie EMC (Greenplum), NetApp, Dell oder Fujitsu dazu; Unternehmen also, die bislang auch erfolgreich im Storage Hardware- und Software-Bereich unterwegs sind. Wie im Bereich von Cloud-Computing-Angeboten ist auch hier ein gewisser Trend zu integrierten Appliances zu beobachten (vertikal integrierter stack aus HW, SW, Applikation und zugehörigen Services); bekannte Beispiele dafür sind EMC, NetApp oder Oracle.

Unternehmen, die mehr von der Software- bzw.  Applikationsseite kommen, arbeiten mit Open Source Software Framworks (z.B. Hadoop), kombiniert mit Industrie-Standard-Hardware, Software und bieten dazu Enterprise Services (z.B. Cloudera).

 

Anforderungen aus Storage-Sicht:

Derzeit benötigt Big Data noch kein vollständig neues Storage-Architekturmodell. Die Analyseseite selbst wird maßgeblich von der Leistung und Skalierbarkeit der verwendeten Software und CPU-Performance bestimmt, kombiniert mit den entsprechenden IT-Ressourcen wie Netzwerk, Server I/O (Caching, SSD) und extern angeschlossenen Speichersystemen. Technologien, die zur schnellen Analyse großen Datenmengen angewendet werden sind massiv parallel verarbeitende (MPP)- und verteilt arbeitende Datenbanken, Grid-Systeme für Data Mining, verteilte Filesysteme und neuerdings Cloud Computing-Plattformen (Services).

Allerdings bedingt der Charakter dieser Anwendungen die Verwendung von Storage Systemen, die sowohl I/O-seitig wie von der Kapazität hinreichend skalieren; Hochverfügbarkeit eingeschlossen. Neben I/O-optimiertem Direct Attached Storage (Tiered Storage mit SSD plus Caching für schnellen Zugriff und SATA für hohe Kapazität) sind Clustered Scale-Out-Storage-Systeme hierfür gut geeignet, da sie architekturbedingt quasi lineare Leistungszuwächse im I/O und der Kapazität ermöglichen und durch das Fail-Over von Nodes hochverfügbar ausgelegt werden können (Cluster-Mode). Klassischer shared - SAN- oder NAS Storage mit älteren Netzkomponenten (1 GBE oder 4 GB FC) dagegen kommt wegen der Latency Thematik weniger in Frage.

Analysen in (near-) Realtime sind also eines der bestimmenden Merkmale von Big Data Analytics und unnötige Latenzzeiten sind in diesem Zusammenhang strikt zu vermeiden; optimal ist es, die Daten direkt im RAM (Arbeitsspeicher) oder PCIe SSD Cache zu halten (In-Memory). Ausschließlich auf SATA-Festplatten und am anderen Ende einer FC-SAN-Verbindung zu speichern, ist hier nicht sinnvoll. Allerdings bieten In-Memory-Systeme kein scale-out innerhalb einer fertig konfigurierten Box. Aber natürlich spielen auch Kostenaspekte (CAPEX, OPEX) für komplexe shared (tiered-) SAN-Architekturen mit SSDs eine Rolle (Netzwerkaspekte betreffen 10 GBE und Ethernet Fabrics). Infiniband ist leistungsmäßig (Durchsatz, Latency) sehr gut geeignet, aus Kosten- und Kompatibilitätsgründen bislang jedoch meist im HPC-Bereich zu finden.