Big Data (PDF)
Document Details
Uploaded by AchievablePlateau
Deutsche Hochschule für angewandte Wissenschaften
Tags
Summary
This document provides a general overview of Big Data technologies. It touches on topics like data sources (sensors, stationary/mobile data), data storage, communications, cloud computing, and their role in the modern world. It also explores the concept of real-time analytics.
Full Transcript
Big Data vermeiden, bevor diese durch Prüfstellen und Aufsichtsbehörden entdeckt werden. Insbesondere die folgenden beiden Bereiche sind hierbei von zentraler Be- deutung:28 Die Einhaltung von regulatorischen Vorschriften dauerhaft zu kon- trollieren und sicherzustellen: wird...
Big Data vermeiden, bevor diese durch Prüfstellen und Aufsichtsbehörden entdeckt werden. Insbesondere die folgenden beiden Bereiche sind hierbei von zentraler Be- deutung:28 Die Einhaltung von regulatorischen Vorschriften dauerhaft zu kon- trollieren und sicherzustellen: wird ein Bezug zwischen den gelten- den Vorschriften und den Unternehmensprozessen und -daten her- gestellt, die davon betroffen sind, so lassen sich durch gezielte Über- wachung von Kennzahlen drohende Abweichungen frühzeitig erken- nen. Konsequente Prüfung aller Transaktionsdaten: die Prüfung von Transaktionen auf Besonderheiten, Auffälligkeiten und ihre Bedeu- tung für die Beeinflussung von Compliance-Risiken geschieht in der Praxis aktuell meist stichprobenartig und periodisch. Eine durchge- hende Prüfung aller Transaktionen kann hier zu mehr Transparenz führen, um die Anforderungen aufsichtsrechtlicher Meldeprozesse zu erfüllen. 3.6.3 Digitale Vermögensverwaltung mittels Robo-Advisor Robo-Advisor sind auf Algorithmen basierende Systeme, die automatisiert Trading- oder Anlagestrategien für den Finanzmarkt umsetzen, um in Pro- dukte wie Aktien und Anleihen zu investieren. Sie erledigen damit viele Auf- gaben, für die früher teure Finanzexperten erforderlich waren. Die Dienst- leistungen reichen von automatischem Rebalancing bis hin zur Steueropti- mierung und erfordern wenig bis keine menschliche Interaktion. Sie ermög- lichen es auch auf bestimmte Marktsituationen zu reagieren und beispiels- weise in einem Crash-Szenario automatisch eine Umschichtung von Vermö- gen in sichere Anlageklassen vorzunehmen. Mittels solcher Systeme lassen sich auch individuelle und beliebig komplexe Anlagestrategien automatisieren, die auf verschiedenen äußeren Bedingun- gen beruhen. So sind die Systeme in der Lage, Tausende von Variablen auf einmal zu betrachten, einschließlich demografischer Daten, Timing, histori- scher Trends, technischer Analyse, Fundamentalanalyse, Marktstimmung und mehr. Diese Daten können anschließend in Bezug auf die eigene Anla- gestrategie bewertet werden, sodass auf Basis der Analyse Handlungsemp- fehlungen abgeleitet und umgesetzt werden können werden. 28 Vgl. Valenta, 2019 29 Big Data 4. Big Data Technologien 4.1 Datenquellen (Sensoren, Datenerfassung, statio- när, mobil) Ein weiterer wesentlicher Faktor bei dem Einsatz von Neuen Technologien wie Advanced Analytics oder Künstlicher Intelligenz ist die Kombination von verschiedenen neu entstehenden Datenquellen. Dabei spielen nicht nur Da- tenquellen aus dem Bereich Internet of Things eine große Rolle, sondern auch die Daten aus den sozialen Netzwerken, die von den Endnutzern sol- cher Plattformen erstellt werden. Festzustellen ist, dass eine zunehmende Bereitschaft der Verbraucher und der Gesellschaft als Ganzes existiert, neue Technologien zu nutzen sowie Daten und Informationen auszutauschen. Die als "Digital Natives" bezeichnete Generation, die mit Computern, Smart- phones und anderen elektronischen Geräten aufgewachsen ist, steht der Übernahme neuer Technologien und dem Austausch persönlicher Daten be- reits sehr aufgeschlossen gegenüber. Obwohl Datenschutzbelange jetzt mehr Beachtung finden, haben die jüngeren Generationen datenintensive Aktivitäten (wie Social Media) bereits zu einem Teil ihres täglichen Lebens gemacht. Social-Media-Plattformen sind für Einzelpersonen, Organisationen und Un- ternehmen rasch zu beliebten und effizienten Möglichkeiten der gemeinsa- men Nutzung, Kommunikation, Vernetzung und Zusammenarbeit gewor- den. Sie bieten Unternehmen ein gesteigertes Markenbewusstsein, verbes- serte Kundenanalysen und neue auch Vertriebskanäle. Darüber hinaus wer- den Journalisten, Wissenschaftler, Geschäftsinhaber und die breite Öffent- lichkeit, die früher isoliert voneinander lebten und arbeiteten, immer stärker miteinander vernetzt. Soziale Medien ermöglichen unmittelbare Verbindun- gen, die früher vielleicht über die konventionelle Reichweite hinaus in Be- tracht gezogen wurden.31 Aber die KI wird nicht nur eingesetzt, um Erkenntnisse über die Verbraucher zu gewinnen, sondern sie ist bereits Teil der täglichen Routine der Men- schen. Internet-Suchmaschinen verwenden bereits seit mehreren Jahren Künstliche Intelligenz. Sowohl Google als auch Baidu haben hochleistungsfä- hige Algorithmen entwickelt, die die Genauigkeit von Suchanfragen verbes- sern. Andere Anwendungen finden sich in einer Vielzahl von Sektoren. Be- trug kann durch Algorithmen des maschinellen Lernens zur Sicherung von Bankkonten aufgedeckt werden. 31 Vgl. Hajkowicz et al., 2016 32 Big Data E-Mail-Konten werden durch Algorithmen, die Spams automatisch filtern, sauberer gehalten. Facebook verwendet beispielswiese Gesichtserkennung, um Nutzer mit neuen hochgeladenen Bildern zu vergleichen. Pinterest iden- tifiziert automatisch bestimmte Objekte in Bildern und ordnet diese be- stimmten existierenden Kategorien zu. Somit kann sichergestellt werden, dass Nutzer, die eine bestimmte Kategorie abonniert haben, fortlaufend mit neuen Informationen mit Bildinhalten und letztlich auch Links zu entspre- chenden Verkaufsportalen versorgt werden. Twitter und Instagram haben Analysemaschinen zur Analyse der Nutzerstim- mung entwickelt. Snapchat verfolgt Gesichtsbewegungen und ermöglicht dynamische Überlagerungen. Viele andere Beispiele aus dem Alltag könnten genannt werden. Während die menschliche Interaktion mit einer KI in diesen Fällen eher passiv ist, werden auch Anstrengungen unternommen, um die KI viel proaktiver und interaktiver mit Menschen zu gestalten. Siri, Alexa, Google Now oder Cortana können mit der Verarbeitung natürlicher Sprache (NLP) umgehen und sich wie persönliche Assistenten bei der Beantwortung von Fragen jeglicher Art verhalten. Weitere Entwicklungen dieser Art wer- den sicherlich in der Zukunft folgen. 4.1.1 Strukturierte und unstrukturierte Daten Grundsätzlich lassen sich Daten in verschiedene Kategorien einordnen. Im Allgemeinen unterscheidet man zwischen strukturierten und unstrukturier- ten Daten, was sich wie folgt beschreiben lässt: Strukturierte Daten (auch bekannt als relationale Daten) beziehen sich auf Daten, die einem vordefinierten Datenmodell entsprechen. Sie lassen sich leicht in bestimmte Felder abbilden. Eine Postleitzahl kann als fünf- stellige Zeichenfolge gespeichert werden (z. B. 55214), ein Bundesland als zweistellige Abkürzung (z. B. SB) usw. Strukturierte Daten lassen sich leicht in einer herkömmlichen relationalen Datenbank speichern und ab- rufen, in der das Verwaltungssystem eine Logik anwendet, um sicherzu- stellen, dass die Informationen im richtigen Format auf den Datenträger geschrieben werden. Bei strukturierten Daten hält sich jeder Datensatz an ein vordefiniertes Datenmodell; wenn eingehende Daten diesen Defi- nitionen nicht entsprechen, können sie nicht ohne Korrektur oder Ab- schneiden gespeichert werden. Daher können strukturierte Daten oft sehr textlastig sein. Dies hat den Vorteil, dass sie mit herkömmlicher Soft- ware einfach zu parsen und zu durchsuchen sind. Strukturierte Daten eig- nen sich am besten für prozessgesteuerte Anwendungen, die auf spezifi- sche Informationen in einem bekannten, konsistenten Format angewie- sen sind. Ein Bestandskontrollsystem, das Lagerbestände gegen Produkt- 33 Big Data SKUs verwaltet, ist ein ideales Beispiel, weil es mit konkreten Informatio- nen arbeitet. Die Logik, die auf der Datenbank aufbaut, kann komplex sein, aber die Datensätze selbst sind sehr einfach. Unstrukturierte Daten haben kein vordefiniertes Datenmodell. Daher lassen sie sich schwierig in die vordefinierten Tabellen und Zeilen einer relationalen Datenbank einordnen. Mails, Videos, Satellitenbilder und Audiodateien haben zwar durchaus das ein oder andere gemeinsame Merkmal, aber diese komplexen Datentypen lassen sich schwierig mit klassischen datenbankbezogenen Systemen erfassen, verarbeiten und analysieren. Unstrukturierte Daten sind mehrdeutig. Ohne ein vordefi- niertes Datenmodell können Sie ein weitaus breiteres Spektrum an reich- haltigen Daten speichern, einschließlich Bildern, Ton, Video und Text. In dem Maße, in dem der Umfang der Speicherung zunimmt und die Daten komplexer und dynamischer werden, steigt auch die Schwierigkeit, diese Informationen zu suchen und zu analysieren. Zum Glück gibt es moderne Datenbankmanagementsysteme wie bspw. NoSQL Datenbanken, die die Speicherung und Verarbeitung großer Mengen unstrukturierter Daten er- leichtern. Unstrukturierte Daten und Anwendungen, die mit unstruktu- rierten Daten betrieben werden, sind in der Regel mehrdeutig; E-Mail- Clients, die Nachrichten unterschiedlicher Länge speichern, die Anhänge enthalten können. Oder Präsentationssoftware, die Text, Grafiken und Multimedia-Inhalte mischt. Potenziell wertvolle Informationen sind in diesen Assets enthalten, können aber nicht mit normalen Textabfragen aus einer herkömmlichen relationalen Datenbank abgerufen werden. Aufgrund ihrer relativen Einfachheit eignen sich strukturierte Daten gut für die relativen Beschränkungen von relationalen Datenbanksystemen. Große Datenbestände können in einem Data Warehouse untergebracht werden - solange die Informationen weiterhin dem starren Datenbankschema ent- sprechen. Unstrukturierte Daten können an vielen Stellen gespeichert wer- den und werden es auch. Spezifische Anwendungen wie E-Mail-Server schaf- fen oft ihr eigenes Datensilo mit unstrukturierten Informationen. Data Wa- rehouses und Data Lakes sind für Big Data-Analysen wichtig geworden, da sie eine Möglichkeit bieten, die Gesamtkapazität mit kostengünstigem Stan- dardspeicher zu erhöhen. Für die Analyse komplexer Datentypen oder für fortgeschrittene Datenanalysen bieten NoSQL-Datenbanken eine Möglich- keit zur effizienteren Verwaltung und Suche in unterschiedlichen Datensät- zen. Beispielsweise die Verwendung von Modernen Plattformen die Hadoop Map Reduce als Auswertungskomponente beinhalten, erlauben eine effizi- ente Darstellung sowohl von strukturierten als auch von unstrukturierten Datensätzen. 34 Big Data 4.1.2 Sensordaten Sensordaten sind die Ausgabe eines Geräts, das eine bestimmte Art von Ein- gabe aus der technischen Umgebung erkennt und darauf reagiert. Die Aus- gabe kann verwendet werden, um Informationen oder Eingaben für ein an- deres System bereitzustellen oder um einen Prozess zu steuern. Sensoren können verwendet werden, um nahezu jeden Zustand eines phy- sikalischen Systems zu erfassen. Nachfolgend sind einige Beispiele für Sen- soren aufgeführt, um eine Vorstellung von der Anzahl und Vielfalt ihrer An- wendungen zu vermitteln: Ein Beschleunigungssensor erkennt Änderungen der Erdbeschleuni- gung in einem Gerät, in dem er installiert ist, z. B. in einem Smart- phone oder einem Game-Controller, um Beschleunigung, Neigung und Vibration zu bestimmen. Ein Photosensor detektiert das Vorhandensein von sichtbarem Licht, Infrarotübertragung (IR) und/oder ultravioletter (UV) Energie. Lidar, eine laserbasierte Methode zur Erkennung, Entfernungsbe- stimmung und Kartierung, verwendet typischerweise einen augensi- cheren, pulsierenden Laser mit geringer Leistung, der mit einer Ka- mera zusammenarbeitet. Ein ladungsgekoppeltes Gerät (CCD) speichert und zeigt die Daten für ein Bild so an, dass jeder Pixel in eine elektrische Ladung umgewan- delt wird, deren Intensität mit einer Farbe im Farbspektrum in Bezie- hung steht. Intelligente Netzsensoren können Echtzeitdaten über die Netzbedin- gungen liefern, Ausfälle, Fehler und Belastungen erkennen und Alarme auslösen. Drahtlose Sensornetzwerke kombinieren spezialisierte Messwandler mit einer Kommunikationsinfrastruktur zur Überwachung und Auf- zeichnung von Bedingungen an verschiedenen Standorten. Zu den häufig überwachten Parametern gehören Temperatur, Luftfeuchtig- keit, Druck, Windrichtung und -geschwindigkeit, Beleuchtungsinten- sität, Vibrationsintensität, Schallintensität, Netzspannung, chemi- sche Konzentrationen, Schadstoffwerte und wichtige Körperfunktio- nen. Sensordaten sind ein integraler Bestandteil der zunehmenden Realität des Internet of Things (IoT). Im IoT-Szenario kann fast jede vorstellbare Einheit mit einer eindeutigen Kennung (UID) und der Fähigkeit zur Datenübertra- gung über ein Netzwerk ausgestattet werden. Ein Großteil der übertragenen Daten sind Sensordaten. Die von diesen Sensorgeräten produzierten 35 Big Data Mengen an Daten könne dabei für eine Vielzahl von Analysen eingesetzt werden – etwa um Maschinenausfälle zu prognostizieren (predictive analy- tics). 4.1.3 Streaming-Daten Der Einfluss neuer Technologien, insbesondere im Rahmen der Basisinfra- struktur durch Cloud Computing und die technische Verbesserung von Da- tenbanken, spielt im Kontext von Big Data eine entscheidende Rolle. Es ist wichtig zu beachten, dass Datenbanken in den letzten Jahrzehnten einen Vorsprung in Bezug auf Leistung und technische Verbesserungen erzielen konnten. Ein neues Paradigma, das sogenannte In-Memory-Computing, hat Datenbanken, die bisher auf klassischen Festplatten organisiert waren, zu einer neuen, noch nie dagewesenen Performance verholfen. Diese infra- strukturelle und datenbanktechnische Innovation ermöglichte es, neue Be- rechnungen im Sinne von Big Data durchzuführen. Anzumerken ist auch, dass diese Berechnungen nicht möglich gewesen wären, wenn bestehende Algorithmen nicht an neue Infrastrukturen angepasst worden wären und so- mit die Abfragen und letztlich die Ergebnisse in angemessener Zeit zur Ver- fügung gestellt werden konnten. Dennoch ist ein Trend zu erkennen, dass durch den Einsatz von Big-Data- Konzepten auch wichtige Informationen immer schneller verfügbar sind und somit zur proaktiven Handlungsfähigkeit von Unternehmen beitragen. Durch den Einsatz von Big Data und Data Warehouses können Rohdaten analysiert werden, indem der Anwender aus einer Vielzahl an Techniken die passende wählt und dadurch neue Erkenntnisse und Analysen erstellen kann. Die Steuerung und Überwachung der dynamischen Prozesse setzt ei- nen anderen Ansatz voraus: Zeitlich gereihte Ereignisse werden aus hetero- genen Quellen überwacht, verdichtet, gefiltert und korreliert. Würde man das mit der Goldsuche vergleichen, so wäre dies die Goldwaschanlage, die mit ihrem Sieb den Datenstrom nach Goldkörnern filtert. Muster (Goldkör- ner) und Regel (Größe) sind hier gleichbleibend (wie beim Sieb), während die Daten variabel und schnell produziert werden, woraus sich der Begriff „ trea ing“ ergibt. Es haben sich hierfür zwei Methoden etabliert: DSCP: Distributed Stream Computing Platforms CEP: Complex-Event Processing Die DSCP-Methoden greifen auf Serverfarmen (Grids) zurück, um Abfragen und Mustererkennungsalgorithmen in Real-time auf kontinuierliche 36 Big Data Datenströme, wie etwa Text-, Audio- oder Videodateien, anzuwenden. Der Fokus liegt hier auf massiver Skalierung durch isolierte Parallelverarbeitung. Der Einfluss neuer Technologien, insbesondere im Rahmen der Basisinfra- struktur durch Cloud Computing und technische Verbesserung von Daten- banken, spielt im Kontext von Big Data eine entscheidende Rolle. Es ist wich- tig festzuhalten, dass Datenbanken in den letzten Jahrzehnten einen Vor- sprung in Bezug auf Performance und technische Verbesserungen erzielen konnten. Ein neues Paradigma, das sogenannte In-Memory-Computing, hat Datenbanken, die bisher auf klassischen Festplatten organisiert waren, zu einer neuen, noch nie dagewesenen Performance verholfen. Diese infra- strukturelle und datenbanktechnische Innovation ermöglichte es, neue Be- rechnungen im Sinne von Big Data durchzuführen. Anzumerken ist auch, dass diese Berechnungen nicht möglich gewesen wären, wenn bestehende Algorithmen nicht an neue Infrastrukturen angepasst worden wären. Dennoch ist ein Trend zu erkennen, dass heutzutage auch wichtige Informa- tionen durch den Einsatz von Big-Data-Konzepten immer schneller verfügbar sind und somit zur proaktiven Handlungsfähigkeit von Unternehmen beitra- gen. Das CEP ist eine Technologie zur Verarbeitung von Informationsflüssen, bei der Daten aus diversen Quellen zusammengefügt werden, um Messwerte zu aggregieren, wichtige Ereignisse zu identifizieren und zeitnah darauf zu rea- gieren. Projektion: Berechnen von Werten aus den Parametern eines Ereig- nisses oder Generieren von Unterereignissen aus diesen. Filtern: Sie prüfen Bedingungen gegen einen oder mehrere Ereignis- parameter. Wenn die Bedingungen erfüllt sind, propagieren die Filter das Ereignis. Gruppierung: Gruppierungen partitionieren die ausgegebenen Ereig- nisse. Dadurch wird eine Auswertung nach Gruppen ermöglicht. Sie leiten die Ereignisse klassischerweise an die anderen Operationen weiter. Aggregation: Aggregationen berechnen Durchschnitt, Anzahl, Maxi- mum, Minimum oder Summen von Ereignisparametern. Join: Sie verknüpfen und vergleichen Ereignisse unterschiedlicher Streams. Die entsprechenden Werte und Zeitstempel werden dabei verwendet. Datenströme haben einen zeitlichen Kontext. CEP-Systeme unterstützen da- her die Abstraktion von Zeitfenstern. In Abhängigkeit von den Bedingungen der Abfrage oder des Filters bewegen sich diese Zeitfenster, wobei man drei Fenster definieren kann: 37 Big Data Bei „springenden Fenstern“ werden Ereignisse über die Zeit kumi- liert. Sie werden als Ereignismenge zur weiteren Verarbeitung gege- ben, so alle Ereignisse für die Zeitspanne erfasst wurden. Das Fenster "springt" dann um diesen festen Abschnitt. Die ereignisbasierten Fenster hingegen erzeugen ausschließlich dann eine Ausgabe, falls während dieses Zeitfensters ein entspre- chendes Ereignis auftritt. Die Ergebnismenge ist die Gesamtzahl der Ereignisse, die während der Fenster-Größe aufgetreten sind. Zählerbasierte Fenster geben jeweils Ereignisfolgen der Länge n für einen Zähler n aus. CEP findet gerade im Finanzsektor eine große Nachfrage, sowie im Bereich IoT I und in sozialen Netzwerken. Anstelle von traditionellen SQL-Abfragen historischer Daten ermöglicht CEP durch geringste Latenzzeit hochfrequente Analysen. Der hochfrequente algorithmische Handel (HFAT) über klassische Börsen ei- nerseits und in unregulierten Over-the-Counter (OTC)-Swaps (Dark Pools) andererseits, stellt eine klassische Anwendung für CEP dar. HFAT-Exzesse trugen zum Ausbruch der Finanzkrise im Jahr 2008 sowie zu jüngeren Kurs- einbrüchen bei.32 Zu den deutlich weniger umstrittenen Anwendungen von CEP zählen etwa die Echtzeit-Überwachung von Objekten und Anlagen und intelligente Zähler für Strom, Wasser und Gas. Das Gesundheitswesen sieht zukünftige Anwen- dungen in einer Vielzahl von physiologischen Datenmessgeräten (z.B. zu Messung der Herzfrequenz oder des Blutdrucks), die über die Cloud Daten an CEP-Systeme liefern, um gesundheitsgefährdende Ausschläge rechtzeitig zu erkennen und zu verhindern. Ein weiterer großer Einsatzbereich für CEP ist die Echtzeit-Überwachung von seismischen und kosmischen Aktivitäten, um aktuelle und zukünftige Um- weltrisiken zu erkennen. 4.1.4 Datenerfassung und -verarbeitung Heutzutage ist eine der zeitaufwändigsten Aufgaben innerhalb von Data-Sci- ence-Projekten die Herausforderung der Datenerfassung und der Daten- pipeline. Als Data Scientist muss man sich gegen verschiedene Systeme mit völlig unterschiedlichen Datenstrukturen etc. durchsetzen. In einer bran- chenübergreifenden Studie wurde der aktuelle Einsatz von Datenbanken 32 Vgl. Bode, 2013 38 Big Data und die Herausforderungen für den zukünftigen Einsatz analysiert. Die Her- ausforderungen können wie folgt kurz zusammengefasst werden: Die Integration von unterschiedlichen Datenformaten und -quellen: Neue Datenquellen, aber auch steigende Volumina und Geschwindigkeiten ma- chen Datenintegration deutlich aufwändiger und komplexer, auch des- halb weil der Bedarf an Echtzeit-Datenverarbeitung steigt. Das klassische Datenmanagement hat sich auf strukturierte Daten konzentriert, die Un- ternehmen in Data Warehouses, CRM- oder ERP-Systemen und/oder Data Marts oder anderen Anwendungen im eigenen Rechenzentrum speichern. Heutzutage müssen Anwendungen jedoch mit der Verarbei- tung unterschiedlich strukturierter Daten, auch aus neuen Quellen, zu- rechtkommen; daraus ergeben sich Integrationsanforderungen, die oft außerhalb der typischen Anwendungsbereiche liegen, die von relationa- len Datenbanken abgedeckt werden. Das hohe Wachstum der Datenmengen bewältigen: Wie bereits am An- fang dieses Skripts gesehen, generieren wir eine gigantische Menge an Daten und steigern diese wiederum von Jahr zu Jahr. In jeder Branche ist ein solches Wachstum zu verzeichnen, an verfüg- und analysierbaren Da- ten. Auch bei einem Zusammenschluss von Unternehmen durch Fusionen und Übernahmen müssen viele interne Daten konsolidiert und integriert werden und steigern die Belastung der genutzten Datenbanktechnolo- gien weiter. Obwohl diese weit fortgeschritten ist, bleibt die Verarbeitung von Dutzenden oder Hunderten von Terabytes an Daten in sehr großen Datenbanken eine Herausforderung, insbesondere wenn Antwortzeiten von weniger als einer Sekunde erforderlich sind. Schutz der erhöhten Leistung: Unternehmen mussten sich schon immer mit der Performance von geschäftskritischen Anwendungen auseinan- dersetzen - eine Herausforderung, die mit zunehmenden Datenmengen und -geschwindigkeiten noch akuter geworden ist. Daher hat die Perfor- mance nach wie vor oberste Priorität unter allen Anforderungen. Prob- leme bei der Datenbank-Performance spiegeln häufig Engpässe bei Ein- gabe- oder Ausgabeoperationen wider, die auf unzureichende Speicher- kapazität, mangelnde Optimierung konkurrierender Prozesse oder sub- optimales Management von Caches und Indizierung zurückzuführen sind. Weitere Ursachen für die Probleme können unzureichendes technisches Know-how oder schlecht programmierte Datenzugriffe der Anwendun- gen sein. Außerdem ist der Aufwand für Tuning und Optimierung einer Multi-Terabyte-Datenbank oft doppelt so hoch wie bei kleineren Daten- banken. Als Konsequenz aus den Performance-Problemen muss die Frage gestellt werden, ob alternative Architekturen und neuere Technologien für bestimmte Anwendungen die bessere Wahl sind. 39 Big Data 4.2 Kommunikationstechnologien Ein Kommunikationssystem oder eine Kommunikationsanlage ist eine Sammlung von einzelnen Telekommunikationsnetzen, Übertragungssyste- men, Relaisstationen, Nebenstationen und Endgeräten, die in der Regel mit- einander verbunden werden können, um ein integriertes ganzheitliches Ob- jekt zu bilden. Diese Komponenten eines solchen Kommunikationssystems reagieren auf Steuerungen, dienen einem gemeinsamen Zweck, arbeiten im Verbund, sind technisch kompatibel und verwenden gemeinsame Verfah- ren. Telekommunikation ist eine Methode der Kommunikation (etwa im Bereich der Massenmedien, für Sportübertragungen, Journalismus). Kommunikation ist der Akt der Übermittlung von beabsichtigten Bedeutungen von einer En- tität oder Gruppe zu einer anderen durch die Verwendung von gegenseitig verstandenen Zeichen und semiotischen Regeln. Im Bereich der Datenorganisation spielt häufig die Anbindung mit neusten Kommunikationstechnologien eine wesentliche Rolle. Da der Trend anhält, immer häufiger Rechenkapazitäten und auch ganze Anwendungssysteme aus der Cloud zu beziehen, werden immer bessere und schnellere Kommu- nikationsnetze benötigt. Beispielsweise sind drahtlose Verfahren wie 5G ak- tuell hoch im Kurs. Somit mir eine schnelle Verbindung von verschiedensten Geräten mit einem Rechenzentrum und auch die Kommunikation von soge- nannten Edge-Devices sehr möglich. 4.2.1 Drahtlose Kommunikationssysteme (WLAN, Bluetooth, NFC, 5G) „Ein Wireless LAN (WLAN) ist ein drahtloses Computernetzwerk, das zwei oder mehr Geräte über drahtlose Kommunikation miteinander verbindet, um ein lokales Netzwerk (LAN) innerhalb eines begrenzten Bereichs zu bil- den, z. B. zu Hause, in der Schule, im Computerlabor, auf dem Campus oder in einem Bürogebäude.“33 Alle Benutzer, die sich innerhalb des WLAN-Bereiches bewegen, bleiben au- tomatisch mit diesem verbunden. Über einen sogenannten Gateway kann auch eine Verbindung zum Internet hergestellt werden. Wireless LANs, die auf den IEEE 802.11-Standards basieren, sind die am weitesten verbreiteten Computernetzwerke der Welt. Diese werden gemeinhin als Wi-Fi bezeich- net, was eine Marke der Wi-Fi Alliance ist. Sie werden für gewöhnliche Heim- und kleine Büronetzwerke verwendet, die Laptops, Drucker, Smartphones, 33 Dell.com, o.J. 41 Big Data Das explosionsartige Wachstum von Daten in Bezug auf Vielfältigkeit der Da- ten, Geschwindigkeit der Datengenerierung und Volumen setzt etablierte Datenmanagement-Lösungen in Unternehmen unter Druck. Die Nachfrage von Unternehmen nach neuen Anwendungen, die oft größere Datenmengen umfassen und den Einsatz fortschrittlicher Analytik erfordern, gilt für andere Anbieter wiederum als Antrieb einer Vielzahl von Innovationen in diesem Bereich. Obwohl die weit verbreiteten relationalen Datenbanken für etab- lierte OLTP- und Entscheidungsunterstützungsanwendungen geeignet sind, tauchen eine Vielzahl neuer Geschäftsanforderungen auf, die Unternehmen dazu veranlassen, ihre Datenbankstrategie zu überdenken. Entscheidungs- träger für die Entwicklung und den Einsatz von Anwendungen haben mehr Wahlmöglichkeiten als in der Vergangenheit. Relationale Datenbanken: Zu den Datenbanklösungen, die relatio- nale Datenbanktechnologie mit verteilten Architekturen kombinie- ren, gehören VoltDB, Clustrix, TransLattice, MemSQL, ScaleArc, ScaleBase, ScaleDB, StormDB, VMware vFabric SQLFire und natürlich die SAP HANA Cloud Platform, die über verschiedene hochmoderne Konnektoren zu dieser bestehenden Datenbank verfügt. Ein Enterprise Data Warehouse wird vor allem im Bereich des Busi- ness Intelligence und Analytics genutzt, die gespeicherten Daten für Reporting-Aufgaben zu analysieren. Unternehmen nutzen ETL-Tech- nologien, um Daten aus relationalen OLTP-Datenbanken in festgeleg- ten Intervallen in das Data Warehouse zu übertragen, wo sie zu "Da- tenwürfeln" für die Datenanalyse (OLAP) verarbeitet werden. Das Data Warehouse bildet die Backend-Infrastruktur für eine Vielzahl von Technologien zur Verwaltung von Kunden, Produkten, Mitarbei- terinnen und Geschäftsprozessen. Die meisten Unternehmen betrei- ben Data-Warehouses und bauen deren Kapazität und Funktionalität kontinuierlich weiter aus. Datenbank- und Data-Warehouse-Anbieter bieten heute neue Systeme an, die auf die Bedürfnisse von Unternehmen zugeschnitten sind und damit auf mögliche Anwendungen abzielen, die zuvor mit klassischen Software-Stacks bewältigt wurden. 40 Big Data Web-TVs und Spielgeräte mit einem drahtlosen Router verbinden, der sie mit dem Internet verbindet. Hotspots, die von Routern in Restaurants, Cafés, Hotels, Bibliotheken und Flughäfen bereitgestellt werden, ermöglichen Ver- brauchern den Zugang zum Internet mit tragbaren drahtlosen Geräten. Bluetooth ist ein drahtloser Technologiestandard für kurze Entfernungen, der zum Austausch von Daten zwischen festen und mobilen Geräten über UHF-Funkwellen in den ISM-Bändern von 2,402 GHz bis 2,48 GHz und zum Aufbau von Personal Area Networks (PANs) verwendet wird. Er wurde ur- sprünglich als drahtlose Alternative zu RS-232-Datenkabeln konzipiert. Es wird hauptsächlich als Alternative zu Kabelverbindungen verwendet, um Da- teien zwischen nahegelegenen tragbaren Geräten auszutauschen und Han- dys und Musikplayer mit drahtlosen Kopfhörern zu verbinden. Im am wei- testen verbreiteten Modus ist die Sendeleistung auf 2,5 Milliwatt begrenzt, was eine sehr kurze Reichweite von bis zu 10 Metern ergibt. Bluetooth wird von der Bluetooth Special Interest Group (SIG) ver- waltet. Die IEEE hat Bluetooth als IEEE 802.15.1 standardisiert, wobei sie diesen Standard aber nicht mehr pflegt. Die Bluetooth SIG schützt die Marke, veraltet das Qualifikationsprogramm und überwacht die Entwicklung der Spezifikation. Möchte ein Hersteller die Technologie nutzen, so muss er die Standards der Bluetooth SIG erfüllen, um die Marke Bluetooth nutzen zu dürfen. Die Near-field communikation (NFC) bezeichnet eine Technologie, die zum berührungslosen Austausch von Daten über kurze Distanzen genutzt werden kann. Zwei NFC-fähige Geräte werden über einen Punkt-zu-Punkt-Kontakt über eine Distanz von 0 bis 2 cm verbunden. Über diese Verbindung können Daten (z. B. Prozessdaten, Wartungs- und Serviceinformationen) zwischen den Geräten ausgetauscht wer- den. Diese Schnittstelle kann auch zur Parametrierung der Kompo- nente genutzt werden. NFC-fähige tragbare Geräte können mit An- wendungssoftware ausgestattet werden, um z. B. elektronische Tags zu lesen oder Zahlungen durchzuführen, wenn sie mit einem NFC- kompatiblen System verbunden sind. Diese sind auf NFC-Protokolle standardisiert und ersetzen damit proprietäre Technologien, die von früheren Systemen verwendet wurden. In der Telekommunikation wurde im Jahr 2019 der Nachfolger der 4G-Netze etabliert: 5G. Dies ist der Technologiestandard der fünften Generation für Breitband-Mobilfunknetze und ist der Nachfolger eben des 4G-Netzes. Laut der GSM Association werden 5G-Netz- werke bis 2025 voraussichtlich mehr als 1,7 Milliarden Teilnehmer weltweit haben. Wie ihre Vorgänger sind 5G-Netzwerke zellulare Netzwerke, in denen der Servicebereich in kleine geografische 42 Big Data Bereiche, die Zellen genannt werden, unterteilt ist. Alle 5G-Mobil- funkgeräte in einer Zelle sind über Funkwellen durch eine lokale An- tenne in der Zelle mit dem Internet und dem Telefonnetz verbunden. Der Hauptvorteil der neuen Netzwerke ist die größere Bandbreite, die höhere Download-Geschwindigkeiten ermöglicht. Theoretisch können dabei bis zu 10 Gigabit pro Sekunde (Gbit/s) Übertragungs- geschwindigkeit erreicht werden. Aufgrund der deutlich größeren, möglichen Bandbreite kann davon ausgegangen werden, dass die Netze immer mehr als allgemeine Internetdienstanbieter für Endge- räte (wie Laptops oder PCs) genutzt werden und mit bestehenden Systemen, wie z. B. dem Kabelinternet, konkurrieren. Das wiederum ermöglicht neue Vernetzungsmöglichkeiten im Bereich Internet der Dinge (IoT) und Machine-to-Machine ermöglichen werden. 4G-Mo- biltelefone sind nicht in der Lage, die neuen Netzwerke zu nutzen, die 5G-fähige drahtlose Geräte erfordern. 4.2.2 Drahtgebundene Kommunikationssysteme (Ethernet, To- ken Ring, SCADA) Ethernet ist eine Familie von kabelgebundenen Computer-Netzwerktechno- logien, die häufig in lokalen Netzwerken (LAN), Metropolitan Area Networks (MAN) und Wide Area Networks (WAN) verwendet werden. Es wurde 1980 kommerziell eingeführt und 1983 erstmals als IEEE 802.3 standardisiert. Seit- dem wurde Ethernet verfeinert, um höhere Bitraten, eine größere Anzahl von Knoten und längere Verbindungsdistanzen zu unterstützen, wobei je- doch ein Großteil der Abwärtskompatibilität beibehalten wurde. Im Laufe der Zeit hat Ethernet konkurrierende kabelgebundene LAN-Technologien wie Token Ring, FDDI und ARCNET weitgehend ersetzt. Das ursprüngliche 10BASE5-Ethernet verwendet Koaxialkabel als gemeinsa- mes Medium. Die neueren Ethernet-Varianten verwenden hingegen Twis- ted-Pair- und Glasfaserverbindungen in Verbindung mit Switches. Im Laufe seiner Geschichte wurden die Datenübertragungsraten von Ethernet von den ursprünglichen 2,94 Megabit pro Sekunde (Mbit/s) auf die neuesten 400 Gigabit pro Sekunde (Gbit/s) erhöht. Die Ethernet-Standards umfassen meh- rere Verdrahtungs- und Signalisierungsvarianten der OSI-Physical-Layer, die bei Ethernet verwendet werden. Systeme, die über Ethernet kommunizieren, unterteilen einen Datenstrom in kürzere Stücke, die Frames genannt werden. Jeder Frame enthält Quell- und Zieladressen sowie Daten zur Fehlerprüfung, so dass beschädigte Fra- mes erkannt und verworfen werden können; in den meisten Fällen lösen 43 Big Data Protokolle auf höherer Ebene eine erneute Übertragung verlorener Frames aus. Gemäß dem OSI-Modell stellt Ethernet Dienste bis einschließlich der Datenverbindungsschicht zur Verfügung. Die 48-Bit-MAC-Adresse wurde von anderen IEEE 802-Netzwerkstandards, einschließlich IEEE 802.11 (Wi- Fi), sowie von FDDI übernommen. EtherType-Werte werden auch in Subnet- work Access Protocol (SNAP)-Kopfzeilen verwendet. Ethernet ist in Haushalten und in der Industrie weit verbreitet und arbeitet sehr gut mit drahtlosen Wi-Fi-Technologien zusammen. Das Internet-Proto- koll wird üblicherweise über Ethernet übertragen und gilt daher als eine der Schlüsseltechnologien, aus denen das Internet besteht. Token Ring ist eine Computernetzwerktechnologie, die zum Aufbau von lo- kalen Netzwerken verwendet wird. Sie wurde 1984 von IBM eingeführt und 1989 als IEEE 802.5 standardisiert. Es wird ein spezieller Drei-Byte-Rahmen verwendet, der Token genannt wird und um einen logischen Ring von Work- stations oder Servern herumgereicht wird. Dieses Token-Passing ist eine Ka- nalzugriffsmethode, die einen fairen Zugang für alle Stationen ermöglicht und die Kollisionen von konkurrenzbasierten Zugriffsmethoden eliminiert. Token Ring war eine erfolgreiche Technologie, insbesondere in Unterneh- mensumgebungen, wurde aber nach und nach von den späteren Versionen von Ethernet verdrängt. Supervisory Control and Data Acquisition (SCADA) ist eine Leitsystemarchi- tektur, die Computer, vernetzte Datenkommunikation und grafische Benut- zeroberflächen (GUI) für die Prozessüberwachung auf hoher Ebene umfasst, während sie auch andere Peripheriegeräte wie speicherprogrammierbare Steuerungen (SPS) und diskrete Proportional-Integral-Derivative (PID)-Reg- ler als Schnittstelle zu Prozessanlagen oder Maschinen umfasst. Der Einsatz von SCADA wurde auch für das Management und den Betrieb von projekt- gesteuerten Prozessen im Bauwesen in Betracht gezogen. 44 Big Data Name Node auf diese Weise 2 Minuten lang keinen Heartbeat von einem Datenknoten erhält, hält er diesen Datenknoten für tot und beginnt den Pro- zess der Blockreplikationen auf einem anderen Datenknoten. Sekundärer Namensknoten: Dieser soll sich nur um die Checkpoints der Da- teisystem-Metadaten kümmern, die sich im Namensknoten befinden. Er wird auch als Checkpoint-Knoten bezeichnet. Er ist der Hilfsknoten für den Name Node. Der sekundäre Namensknoten weist den Namensknoten an, die fsimage- und editlog-Datei zu erstellen und zu senden, woraufhin die komprimierte fsimage-Datei vom sekundären Namensknoten erstellt wird. Job Tracker: Job Tracker empfängt die Anfragen zur Map-Reduce-Ausfüh- rung vom Client. Job Tracker spricht mit dem Name Node, um den Speicher- ort der Daten zu erfahren, die für die Verarbeitung verwendet werden. Der Name Node antwortet mit den Metadaten der benötigten Verarbeitungsda- ten. Task Tracker: Er ist der Slave-Knoten für den Job Tracker und übernimmt die Aufgabe vom Job Tracker. Er empfängt auch Code vom Job Tracker. Der Task Tracker übernimmt den Code und wendet ihn auf die Datei an. Der Prozess der Anwendung des Codes auf die Datei wird als Mapper bezeichnet. Ein Hadoop-Cluster besteht nominell aus einem einzelnen Namensknoten und einem Cluster von Datenknoten, wobei für den Namensknoten auf- grund seiner Kritikalität Redundanzoptionen verfügbar sind. Jeder Daten- knoten stellt Datenblöcke über das Netzwerk bereit, wobei ein HDFS-spezi- fisches Blockprotokoll verwendet wird. Das Dateisystem verwendet TCP/IP- Sockets für die Kommunikation. Clients verwenden Remote Procedure Calls (RPC), um miteinander zu kommunizieren. HDFS speichert große Dateien (typischerweise im Bereich von Gigabyte bis Terabyte) über mehrere Rechner hinweg. Die Zuverlässigkeit wird durch die Replikation der Daten über mehrere Hosts erreicht, so dass theoretisch kein redundantes Array of Independent Disks (RAID) auf den Hosts erforderlich ist (zur Steigerung der E/A-Leistung sind einige RAID-Konfigurationen jedoch weiterhin sinnvoll). Mit dem Standardwert für die Replikation, 3, werden die Daten auf drei Knoten gespeichert: zwei im selben Rack und einer in einem anderen Rack. Die Datenknoten können miteinander kommunizieren, um Daten auszugleichen, Kopien zu verschieben und die Replikation der Daten vorzuhalten. HDFS ist nicht vollständig POSIX-konform, da sich die Anforde- rungen an ein POSIX-Dateisystem von den Zielsetzungen einer Hadoop-An- wendung unterscheiden. Der Nachteil eines nicht vollständig POSIX-kompa- tiblen Dateisystems ist die höhere Leistung beim Datendurchsatz und die Unterstützung von Nicht-POSIX-Operationen wie Append. 49 Big Data 4.3 Datensenken (Backend-Infrastruktur) 4.3.1 Verteilte Systeme Verteilte Systeme bzw. verteiltes Rechnen ist ein Teilgebiet der Informatik, das sich mit Rechenoperationen innerhalb von getrennten physischen Sys- temen, die via Netzwerk kommunizieren Systemen beschäftigt. Als verteiltes System wird ein solches bezeichnet, wenn die Komponenten dieses Systems sich auf verschiedenen vernetzten Computern befinden. Diese Computer kommunizieren miteinander und koordinieren ihre Aktionen, indem sie sich gegenseitig Nachrichten von einem beliebigen System zukommen lassen. Die Interaktion findet deshalb zwischen den Komponentenstatt, um ein ge- meinsames, zuvor definiertes Ziel zu erreichen. Es können drei wesentliche Merkmale genannt werden: Gleichzeitigkeit der Komponenten, unabhängi- ger Ausfall von Komponenten und Fehlen einer globalen Uhr. Beispiele für solche Systeme reichen von SOA-basierten Systemen über Multiplayer On- line Games bis hin zu Peer-to-Peer-Anwendungen. Ein Computerprogramm, das innerhalb eines verteilten Systems läuft, wird als verteiltes Programm bezeichnet (und verteilte Programmierung ist der Prozess des Schreibens solcher Programme). Es gibt viele verschiedene Arten von Implementierun- gen für den Nachrichtenübertragungsmechanismus, darunter reines HTTP, RPC-ähnliche Konnektoren und Nachrichtenwarteschlangen. Im Kontext von Datenbanken werden diese Konzepte besonders häufig ge- nutzt. Dabei werden verschiedene Teil-Knoten, die mit Rechenkapazität und Daten ausgestattet sind, in einem Gesamtsystem betrachtet. Solche Sys- teme, sind vor allem für die Durchführung von intensiven Berechnungen ver- wendet. 4.3.2 Hadoop im Überblick Apache Hadoop setzt sich aus einer Sammlung von Open-Source-Software- Dienstprogrammen zusammen, welche eine Verwendung eines Netzwerks aus vielen Computern zur Lösung von Problemen mit großen Datenmengen und Berechnungen erleichtert. Das Programm beinhaltet ein Software- Framework zur verteilten Verarbeitung und Speicherung großer Datenmen- gen unter Verwendung des MapReduce-Programmiermodells, welches im nächsten Abschnitt vorgestellt wird. Hadoop wurde ursprünglich für Compu- ter-Cluster entwickelt, die aus Commodity-Hardware aufgebaut sind, was immer noch die übliche Verwendung ist. Inzwischen wird es auch auf Clus- tern mit höherwertiger Hardware eingesetzt. Alle Module in Hadoop wurden 45 Big Data unter der grundlegenden Annahme entwickelt, dass Hardware-Ausfälle häu- fig vorkommen und vom Framework automatisch behandelt werden sollten. Das Hadoop Distributed File System (HDFS) (Speicherteil und Verarbeitungs- teil) bildet den von Apache Hadoop, der ein MapReduce-Programmiermo- dell darstellt. In diesem werden Dateien in große Blöcke aufgeteilt und auf die Knoten eines Clusters verteilt. Danach wird der verpackte Code in die Knoten übertagen, sodass die Daten parallel verarbeiten zu können. Dieser Ansatz macht sich die Datenlokalität zunutze, wobei die Knoten die Daten bearbeiten, auf die sie Zugriff haben. Dies ermöglicht eine schnelle und effi- ziente Verarbeitung des Datensatzes gegenüber einer konventionellen Su- percomputer-Architektur. Diese stützt sich auf ein paralleles Dateisystem, in welchem Berechnungen und Daten über Hochgeschwindigkeitsnetzwerke verteilt sind. Das Basis-Framework von Apache Hadoop ist aus den folgenden Modulen aufgebaut: Das Hadoop Common-Modul enthält Dienstprogramme und Biblio- theken, die von anderen Hadoop-Modulen benötigt werden. Das Hadoop Distributed File System (HDFS) ist ein verteiltes Datei- system, welches Daten auf Commodity-Maschinen speichert und eine sehr hohe aggregierte Bandbreite im gesamten Cluster bietet. Das im Jahr 2012 eingeführte Hadoop YARN wiederum ist eine Platt- form, die für die Verwaltung von Rechenressourcen in Clustern und deren Nutzung für das Scheduling von Benutzeranwendungen zu- ständig ist. Das Hadoop MapReduce-Modul (siehe auch weiter unten) ist eine Implementierung des MapReduce-Programmiermodells für die Ver- arbeitung großer Datenmengen. Hadoop Ozone - (eingeführt im Jahr 2020) Ein Objektspeicher für Ha- doop. Der Begriff Hadoop wird häufig sowohl für die Basismodule und Untermo- dule als auch für das Ökosystem oder die Sammlung zusätzlicher Software- pakete verwendet, die auf oder neben Hadoop installiert werden können, wie Apache Pig, Apache Hive, Apache HBase, Apache Phoenix, Apache Spark, Apache ZooKeeper, Cloudera Impala, Apache Flume, Apache Sqoop, Apache Oozie und Apache Storm. Die MapReduce- und HDFS-Komponenten von Apache Hadoop wurden von den Google-Papieren zu MapReduce und Google File System inspiriert. Das Hadoop-Framework selbst ist größtenteils in der Programmiersprache Java geschrieben, mit etwas nativem Code in C und Kommandozeilen-Utilities, die als Shell-Skripte geschrieben sind. Obwohl MapReduce-Java-Code weit 46 Big Data 4.4 Cloud Computing 4.4.1 Infrastructure as a Service: Data Storage und Computing Power Typischerweise beinhaltet IaaS die Verwendung einer Cloud-Orchestrie- rungstechnologie wie OpenStack, Apache CloudStack oder OpenNebula. Diese verwaltet die Erstellung einer virtuellen Maschine und entscheidet, auf welchem Hypervisor (d. h. physischen Host) sie gestartet werden soll, ermöglicht VM-Migrationsfunktionen zwischen Hosts, weist Speichervolu- mes zu und fügt sie VMs zu, verfolgt Nutzungsinformationen für die Abrech- nung und mehr. Linux-Container stellen eine Alternative zu Hypervisoren dar, die in isolierten Partitionen eines singulären Linux-Kernels laufen. Dieser wird direkt auf der physischen Hardware ausgeführt. Linux Namespaces und cgroups sind die zugrunde liegenden Linux-Kernel-Technologien, die zur Isolierung, Sicherung und Verwaltung der Container verwendet werden. Da kein Hypervisor-Over- head anfällt, bietet die Containerisierung eine deutlich höhere Leistung als Virtualisierung. Die NIST-Definition von Cloud Computing definiert Infrastructure as a Ser- vice als (übersetzt aus dem Englischen): „Die Fähigkeit, die dem Verbraucher zur Verfügung gestellt wird, ist die Be- reitstellung von Verarbeitungs-, Speicher-, Netzwerk- und anderen grundle- genden Rechenressourcen, auf denen der Verbraucher beliebige Software einsetzen und ausführen kann, die Betriebssysteme und Anwendungen um- fassen kann. Der Kunde verwaltet oder kontrolliert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Spei- cher und eingesetzte Anwendungen sowie möglicherweise eine begrenzte Kontrolle über ausgewählte Netzwerkkomponenten (z. B. Host-Firewalls).“34 Laut der Internet Engineering Task Force (IETF) ist das grundlegendste Cloud- Service-Modell dasjenige von Anbietern, die IT-Infrastruktur - virtuelle Ma- schinen und andere Ressourcen - als Service für Abonnenten anbieten. IaaS-Cloud-Provider stellen diese Ressourcen auf Abruf aus ihren großen Pools von Geräten bereit, die in Rechenzentren installiert sind. Für die Weit- verkehrsanbindung können die Kundinnen entweder Carrier Clouds (das sind dezidierte virtuelle, private Netzwerke) oder das Internet nutzen. Cloud-Benutzer installieren Betriebssystem-Images und ihre Anwendungs- software auf der Cloud-Infrastruktur, um ihre Anwendungen bereitzustellen. 34 Mell & Grance, 2011 51 Big Data 4.3.5 Apache Hive Bei Apache Hive handelt es sich um ein Data Warehouse-Softwareprojekt. Es baut auf Apache Hadoop auf und ermöglicht Analysen und Datenabfra- gen. Hive umfasst eine Schnittstelle ähnlich zu SQL, zur Abfrage von Daten die in verschiedenen Dateisystemen und Datenbanken gespeichert sind, die wiederum mit Hadoop integriert sind. Der Unterschied zwischen klassischen SQL-Abfragen und Apache Hive: SQL-Abfragen müssen in der MapReduce- Java-API implementiert sein, um Abfragen und SQL-Anwendungen auszufüh- ren. Hive hingegen bietet die notwendige SQL-Abstraktion, um per HiveQL (SQL-ähnliche Abfragen) in das zugrunde liegende Java zu integrieren. Dafür müssen keine Abfragen in der Low-Level-Java-API implementiert werden. Da die meisten Data Warehousing-Anwendungen mit SQL-basierten Abfrage- sprachen arbeiten, unterstützt Hive die Portabilität von SQL-basierten An- wendungen auf Hadoop. Obwohl ursprünglich von Facebook entwickelt, wird Apache Hive auch von anderen Unternehmen wie Netflix und der Fi- nancial Industry Regulatory Authority (FINRA) verwendet und weiterentwi- ckelt. Amazon unterhält einen Software-Fork von Apache Hive, der in Ama- zon Elastic MapReduce auf Amazon Web Services enthalten ist. 4.3.6 Apache Kafka Apache Kafka ist eine Sofware, genauer: eine Framework-Implementierung, eines Software-Busses mit Stream-Processing. Es ist eine Open-Source-Soft- wareplattform, die von der Apache Software Foundation entwickelt und in Scala und Java geschrieben wurde. Das Projekt zielt darauf ab, eine einheit- liche Plattform mit hohem Durchsatz und niedriger Latenz für die Verarbei- tung von Echtzeit-Datenfeeds bereitzustellen. Kafka kann sich über Kafka Connect mit externen Systemen verbinden (für Datenimport/-export) und bietet Kafka Streams, eine Java-Stream-Verarbeitungsbibliothek. Kafka ver- wendet ein binäres TCP-basiertes Protokoll, das auf Effizienz optimiert ist und auf einer "Message-Set"-Abstraktion beruht, die Nachrichten auf natür- liche Weise zusammenfasst, um den Overhead des Netzwerk-Roundtrips zu reduzieren. Dies führt zu größeren Netzwerkpaketen, größeren sequenziel- len Festplattenoperationen und zusammenhängenden Speicherblöcken, was es Kafka ermöglicht, einen stoßartigen Strom von zufälligen Nachrichten in lineare Schreibvorgänge umzuwandeln. 50 Big Data verbreitet ist, kann jede Programmiersprache mit Hadoop Streaming ver- wendet werden, um die Map- und Reduce-Teile des Benutzerprogramms zu implementieren. Andere Projekte im Hadoop-Ökosystem stellen reichhalti- gere Benutzeroberflächen zur Verfügung. 4.3.3 MapReduce Beim bereits oben erwähnten MapReduce handelt es sich um ein Program- miermodell und die entsprechende Implementierung zur Erzeugung und Verarbeitung großer Datensätze mit einem verteilten, parallelen Algorith- mus auf einem Cluster. Es besteht aus einer Map-Prozedur, die eine Sortierung und Filterung durch- führt (z. B. Sortierung der Schüler nach Nachnamen in Warteschlangen), und einer Reduce-Methode, die eine zusammenfassende Operation durchführt (z. B. Zählung der Anzahl der Schüler in jeder Warteschlange, was die Häu- figkeit der Namen ergibt). Das "MapReduce-System" (auch "Infrastruktur" oder "Framework" genannt) orchestriert die Verarbeitung, indem es die ver- teilten Server zusammenfasst, die verschiedenen Aufgaben parallel aus- führt, die gesamte Kommunikation und Datenübertragung zwischen den verschiedenen Teilen des Systems verwaltet und für Redundanz und Fehler- toleranz sorgt. Das Modell ist eine Spezialisierung der Split-Apply-Combine-Strategie für die Datenanalyse. Es ist inspiriert von den Map- und Reduce-Funktionen, die üb- licherweise in der funktionalen Programmierung verwendet werden, ob- wohl ihr Zweck im MapReduce-Framework nicht der gleiche ist wie in ihrer ursprünglichen Form. Die wichtigsten Beiträge des MapReduce-Frameworks sind nicht die eigentlichen Map- und Reduce-Funktionen (die z. B. den Re- duce- und Scatter-Operationen des Message-Passing-Interface-Standards von 1995 ähneln), sondern die Skalierbarkeit und Fehlertoleranz, die für eine Vielzahl von Anwendungen durch die Optimierung der Ausführungs-Engine erreicht wird. Daher ist eine Single-Thread-Implementierung von MapRe- duce in der Regel nicht schneller als eine herkömmliche (Nicht-MapReduce- )Implementierung; etwaige Vorteile sind in der Regel nur bei Multi-Thread- Implementierungen auf Multiprozessor-Hardware zu sehen. Die Verwen- dung dieses Modells ist nur dann vorteilhaft, wenn die optimierte verteilte Shuffle-Operation (die die Netzwerkkommunikationskosten reduziert) und die Fehlertoleranzfunktionen des MapReduce-Frameworks zum Tragen kommen. Die Optimierung der Kommunikationskosten ist wesentlich für ei- nen guten MapReduce-Algorithmus. MapReduce-Bibliotheken wurden in vielen Programmiersprachen geschrie- ben, mit unterschiedlichen Optimierungsgraden. Eine beliebte Open- Source-Implementierung, die Unterstützung für verteilte Shuffles bietet, ist 47 Big Data In diesem Modell pflegt und patcht der Cloud-Benutzer die Anwendungs- software und Betriebssysteme. Cloud-Anbieter berechnen IaaS-Dienste nor- malerweise anhand von Utility Computing: Die Kosten steigen mit der Menge der zugewiesenen und verbrauchten Ressourcen. 4.4.2 Platform as a Service: Datenverarbeitung aus der Cloud Platform as a Service (PaaS) bzw. Application Platform as a Service (aPaaS) ist eine Kategorie von Cloud-Computing-Diensten, die es Kundinnen ermög- licht, ein modulares Bündel, das eine Computing-Plattform und eine oder mehrere Anwendungen umfasst, bereitzustellen, zu instanziieren, auszufüh- ren und zu verwalten, ohne die Komplexität des Aufbaus und der Wartung der Infrastruktur, die typischerweise mit der Entwicklung und dem Start der Anwendung(en) verbunden ist, und es Entwicklern zu ermöglichen, solche Software-Bündel zu erstellen, zu entwickeln und zu verpacken. Ein solcher Service kann auf drei verschiedene Arten angeboten werden: 1. Als öffentlicher Cloud-Service eines Anbieters: Hier steuert der Ver- braucher Verbraucher die Softwarebereitstellung mit minimalen Konfigurationsoptionen. Der Anbieter wiederum steuert die Netz- werke, Server, Datenbanken, Speicher, Betriebssysteme (OS), Midd- leware (bspw. Java-Laufzeit,.NET-Laufzeit, Integration usw.) und an- dere Dienste zum Hosten der Anwendung des Verbrauchers bereit- stellt. 2. Angebot als privater Dienst (Software oder Appliance) hinter einer Firewall. 3. Angebot als Software, bereitgestellt als Dienst in einer öffentlichen Infrastruktur. 4.4.3 Software as a Service Software as a Service (SaaS) ist ein Software-Lizenzierungs- und Bereitstel- lungsmodell. Bei diesem wird Software auf Abonnementbasis bereitgestellt und zentral gehostet. Des Öfteren wird dieser Service auch als "On-Demand- Software" bezeichnet. SaaS-Anwendungen sind auch als On-Demand-Soft- ware und webbasierte/gehostete Software bekannt. SaaS wird zusammen mit Infrastructure as a Service (IaaS), Platform as a Ser- vice (PaaS), Desktop as a Service (DaaS), Managed Software as a Service (MSaaS), Mobile Backend as a Service (MBaaS), Datacenter as a Service (DCaaS) und Information Technology Management as a Service (ITMaaS) als Teil des Cloud Computing angesehen. 52 Big Data Teil von Apache Hadoop. Der Name MapReduce bezog sich ursprünglich auf die proprietäre Google-Technologie, wurde aber inzwischen verallgemei- nert. Im Jahr 2014 verwendete Google MapReduce nicht mehr als primäres Big-Data-Verarbeitungsmodell und die Entwicklung von Apache Mahout war zu leistungsfähigeren und weniger plattenorientierten Mechanismen über- gegangen, die vollständige Map- und Reduce-Funktionen enthalten. 4.3.4 HDFS Das Hadoop Distributed File System (HDFS) ist ein verteiltes, skalierbares und portables Dateisystem, das in Java für das Hadoop-Framework geschrie- ben wurde. Manche betrachten es eher als Datenspeicher, da es nicht PO- SIX-konform ist, aber es bietet Shell-Befehle und Methoden der Java-API (Application Programming Interface), die anderen Dateisystemen ähneln. Eine Hadoop-Instanz ist in HDFS und MapReduce unterteilt. HDFS wird für die Speicherung der Daten und MapReduce für die Verarbeitung der Daten verwendet. HDFS hat fünf Dienste wie folgt: Namensknoten Sekundärer Namensknoten Job-Tracker Daten-Knoten Task Tracker Die oberen drei sind Master-Dienste/Daemons/Knoten und die unteren bei- den sind Slave-Dienste. Master-Dienste können miteinander kommunizie- ren und auf dieselbe Weise können Slave-Dienste miteinander kommunizie- ren. Name Node ist ein Master-Knoten und Data Node ist der entsprechende Slave-Knoten und kann miteinander kommunizieren. Namensknoten: HDFS besteht aus nur einem Namensknoten, der als Mas- ter-Knoten bezeichnet wird. Der Masterknoten kann Dateien verfolgen, das Dateisystem verwalten und hat die Metadaten aller gespeicherten Daten in sich. Insbesondere enthält der Namensknoten die Angaben über die Anzahl der Blöcke, die Standorte der Datenknoten, in denen die Daten gespeichert sind, wo die Replikationen gespeichert sind, und andere Details. Der Na- mensknoten hat direkten Kontakt mit dem Client. Datenknoten: Ein Datenknoten speichert Daten in ihm als Blöcke. Er wird auch als Slave-Knoten bezeichnet und speichert die eigentlichen Daten im HDFS, die für den Client lesend und schreibend zugänglich sind. Dies sind Slave-Dämonen. Jeder Data Node sendet alle 3 Sekunden eine Heartbeat- Nachricht an den Name Node und teilt mit, dass er am Leben ist. Wenn der 48 Big Data 4.5.2 Real-time Analytics Echtzeit-Analytik bezieht sich auf den Prozess der Aufbereitung und Mes- sung von Daten, sobald sie in die Datenbank eintreten. Mit anderen Worten, die Benutzer erhalten Einblicke oder können sofort (oder sehr schnell nach dem Eingang der Daten in ihr System) Schlussfolgerungen ziehen. Echtzeit-Analytik ermöglicht es Unternehmen, ohne Verzögerung zu reagie- ren. Sie können Chancen ergreifen oder Probleme verhindern, bevor sie ent- stehen. Im Vergleich dazu kann es bei der Batch-Analyse Stunden oder sogar Tage dauern, bis sie Ergebnisse liefert. Folglich liefern Batch-Analyseanwendun- gen oft nur "nachträgliche" Erkenntnisse (nachlaufende Indikatoren). BI Ein- blicke aus Echtzeit-Analysen können es Unternehmen ermöglichen, der Zeit voraus zu sein. 54 Big Data Die Aktivierungsfunktion 𝜑(𝜌, 𝜃), mit deren Hilfe aus der gewichte- ten Summe als Ergebnis der Eingangsfunktion sowie des Schwellen- wertes der Ausgabewert o des Neurons berechnet wird Die Informationsverarbeitung unter Verwendung neuronaler Netze erfolgt auf Grundlage des oben vorgestellten Modells. Innerhalb der Eingangs- schicht werden die Eingangsdaten in Form von numerischen Werten erfasst und anschließend über die Gewichtung der jeweiligen Eingänge als Werte an Eingangsfunktion weitergegeben. Das Ergebnis der Eingabefunktion wird dann an die Aktivierungsfunktion weitergegeben, wo es zu einer Aktivierung führen kann. Für diesen Fall wird der Ausgabewert weitergereicht, da der Ausgang des Perzeptrons aktiviert wird. Neben diesem stark vereinfachten Modell werden übelicherweise deutlich komplexere Perzeptronen-Modelle verwendet. Diese fassen mehrere einfa- che Perzeptronen zu einem Netz in verschiedenen Schichten zusammen, wie im folgenden Abschnitt erläutert. Mehrschichtige Netze Durch die Verwendung einer Vielzahl von Neuronen entstehen sogenannte mehrschichtige Perzeptronen, die in Schichten angeordnet sein können. Mehrschichtige Perzeptronen haben neben einer Ein- und Ausgabeschicht mindestens eine zusätzliche "verdeckte" Schicht, die für die eigentliche Be- rechnung zwischen Eingabe und Ausgabe verantwortlich zeichnet. 44 Abbildung 6: Aufbau eines mehrschichtigen Perzeptrons, i. A. a. Buxmann & Schmidt (2019) Die Ausgabe eines Neurons stellt in mehrschichtigen neuronalen Netzen die die Eingabe für ein Neuron in der folgenden Schicht dar. Beachten Sie, dass die Ausgabe eines Wertes immer entweder vollständig ist oder vollkommen 44 Vgl. Kruse et al., 2015 68 Big Data SaaS-Apps werden typischerweise von Anwendern über einen Thin Client (bspw. über einen klassischen Internetbrowser) aufgerufen. Dieser Service hat sich zu einem weit verbreiteten Bereitstellungsmodell für eine Vielzahl von Geschäftsanwendungen entwickelt. Zu diesen zählen etwa Lohnverar- beitungssoftware, CAD-Programme, Office-Software, Messaging-Software, DBMS-Software, Management-Software, Buchhaltung, Gamification, Virtu- alisierung, Kollaboration, Customer Relationship Management (CRM), Ma- nagement-Informationssysteme (MIS), Enterprise Resource Planning (ERP), Rechnungsstellung, Außendienstmanagement, Human Resource Manage- ment (HRM), Talentakquise, Lernmanagementsysteme, Content Manage- ment (CM), geografische Informationssysteme (GIS) und Service Desk Ma- nagement. 4.5 Big Data Analytics Wenn Big-Data-Datensätze mit strukturierten, halb- und unstrukturierten Daten aus diversen Quellen mit unterschiedlicher Größe mittels fortschritt- licher Analysetechniken analysiert werden, sprechen wir von Big-Data-Ana- lytics. Typische Datenquellen wurde bereits zuvor in diesem Skript vorge- stellt. Sie stammen beispielsweise von einer Vielzahl von Sensoren und Ge- räten, aus Audio- oder Videoaufzeichnungen, aus Netzwerken und entspre- chenden Protokolldateien oder ganz allgemein aus dem Internet. Ein Groß- teil dieser Daten wird sogar in Echtzeit gesammelt. 4.5.1 Batch Analytics Bei der Stapelverarbeitung erfolgt die Verarbeitung von Datenblöcken, die bereits über einen bestimmten Zeitraum gespeichert wurden. Zum Beispiel die Verarbeitung aller Transaktionen, die in einer Woche von einem großen Finanzunternehmen durchgeführt wurden. Diese Daten enthalten Millionen von Datensätzen für einen Tag, die als Datei oder Datensatz usw. gespeichert werden können. Diese spezielle Datei wird am Ende des Tages für verschie- dene Analysen, die die Firma durchführen möchte, verarbeitet. Es ist offen- sichtlich, dass die Verarbeitung dieser Datei viel Zeit in Anspruch nimmt. Hadoop MapReduce ist das beste Framework für die Verarbeitung von Da- ten in Batches. Die Batch-Verarbeitung funktioniert gut in Situationen, in de- nen Sie keine Echtzeit-Analyseergebnisse benötigen und wenn es wichtiger ist, große Datenmengen zu verarbeiten, um detailliertere Erkenntnisse zu erhalten, als schnelle Analyseergebnisse zu erhalten. 53