Читать книгу Data Science - Michael Oettinger - Страница 6
Оглавление2 Daten bereitstellen
Data-Science bezeichnet den Prozess, durch die Analyse von Daten mit geeigneten Verfahren Erkenntnisse zu gewinnen. Die erste Frage, die sich stellt, ist diejenige nach der Quelle der Daten. Woher kommen die zu analysierenden Daten und wo und wie werden sie bereitgestellt? Im Folgenden wird auf diese Datenquellen näher eingegangen. Konkret handelt es sich dabei um:
• Flatfiles
• Relationale Datenbanken
• Data-Warehouses
• NoSQL-Datenbanken
• Hadoop
• Cloud-Datenbanken
2.1 Flatfiles
Die einfachste Form der Datenbereitstellung sind Flatfiles, also Tabellen und strukturierte Textdateien, die man aus operativen Systemen wie z. B. ERP-Systemen exportiert oder über Befragungen gewonnen hat. Die Dateien werden in unterschiedlichen Formaten zur Verfügung gestellt. Die gebräuchlichsten sind:
• csv
• xls
• xml
• produktspezifische Formate (SPSS, SAS, Stata, ARFF, DBase …)
Bei dieser Form der Datenanalyse handelt es sich meist nicht um „Big Data“ (auch wenn die Größe der Files grundsätzlich nahezu unbegrenzt sein kann), aber dennoch spielen Flatfiles nach wie vor eine wichtige Rolle in Data-Science-Projekten. Es muss z.B. kein Zugang zur Datenbank eines Produktivsystems eingerichtet werden, was meist einen höheren Aufwand im Bereich Berechtigungen und Netzwerkzugang bedeutet. Stattdessen werden die Daten aus dem Quellsystem exportiert und dann in das Analysesystem eingelesen, wo die eigentliche Analyse bzw. Modellierung stattfindet. Liegt eine sehr hohe Anzahl an Flatfiles vor, bietet es sich an, den Prozess des Einlesens und Zusammenfassen der Daten z. B. durch ein Programm in Python zu automatisieren.
2.2 Relationale Datenbanksysteme
Relationale Datenbanksysteme dienen der Datenverwaltung und beruhen auf einem tabellenbasierten, relationalen Datenbankmodell. Sie werden auch als RDBMS (Relational Database Management System) bezeichnet. Zum Abfragen und Manipulieren der Daten wird überwiegend die Datenbanksprache SQL (Structured Query Language) eingesetzt.
Relationale Datenbanken folgen einem grundsätzlichen Schema. Daten werden in Tabellen gespeichert, wobei die Spalten die Variablen darstellen und die Zeilen die einzelnen Datensätze. Datenbanken werden dadurch „relational“, wenn es Relationen – also Verbindungen – zwischen den Tabellen gibt. Diese werden eingeführt, um eine redundante Speicherung der gleichen Daten zu vermeiden. Damit werden Speicherplatz gespart und inkonsistente Datenhaltung vermieden. Beispielsweise werden bei einer Datenbank für Kunden nicht für jeden einzelnen Kunden die Unternehmensdaten angegeben, sondern die Kategorie Unternehmen wird als eigenständige Tabelle ausgelagert und über eine Relation den einzelnen Kunden zugeordnet. Ändert sich etwas an der Adresse des Unternehmens, muss dies nur an einer Stelle geändert werden – durch die Relation wird den einzelnen Kunden automatisch das entsprechende Unternehmen zugeordnet.
Trotz neuerer Entwicklung (siehe den folgenden Abschnitt) stellen relationale Datenbanken nach wie vor die große Mehrzahl der Datenspeicher in Unternehmen dar und sind zentraler Bestandteil der meisten operativen Anwendungen (ERP, CRM, HCM, SCM, Fachsysteme …).
Die wichtigsten Anbieter sind:
• Oracle (Marktführer nach Umsatz)
• Microsoft SQL Server (Marktführer in bestimmten Märkten und auf bestimmten Plattformen)
• MySQL (Open Source, von Oracle erworben, höchste Anzahl an Implementierungen)
• PostgreSQL (Open Source)
• IBM DB2
• SAP Adaptive Server / SQL Anywhere / SAP MaxDB
• Amazon RDS (Cloud-Angebot für RDBS)
2.3 Data-Warehouse
Ein Data-Warehouse (DW oder DWH) ist eine zentrale Sammlung von Daten, die sich aus verschiedenen Quellen speist und vor allem für den Zweck der Analyse und der betriebswirtschaftlichen Entscheidungshilfe dauerhaft gespeichert wird.
Meistens wird ein Data-Warehouse aus zwei Gründen aufgebaut:
• Es soll eine Integration von Daten aus verteilten und unterschiedlich strukturierten Datenbeständen erfolgen. Im Data-Warehouse können die Daten konsistent gesichtet und datenquellenübergreifend ausgewertet werden. Die zeitaufwendigen und technisch anspruchsvollen Aufgaben der Datenextraktion und -integration aus verschiedenen Systemen erfolgt damit (im Ideal) einmalig und an zentraler Stelle. Die Daten stehen dann für Analysen und Reporting für die Fachabteilungen „konsumbereit“ zur Verfügung.
• Durch eine Trennung der (oft „sensiblen“) Daten in den operativen Systemen von den für das Reporting genutzten Daten im Data-Warehouse soll sichergestellt werden, dass durch die Datenabfragen für Analysen und Reporting keine operativen Systeme „gestört“ werden. Niemand möchte, dass der Azubi in der Vertriebsabteilung durch eine Abfrage der kompletten, weltweiten Produktverkäufe, nach Wochen und Postleitzahl gegliedert, das Buchhaltungssystem für eine halbe Stunde lahmlegt.
Abbildung 1: Quelle: https://www.pmone.com/blog/wiki/data-warehouse/
Technisch gesehen sind Data-Warehouse-Systeme eine Sammlung von Softwarekomponenten, die die Umsetzung des Data-Warehouse-Konzeptes ermöglichen. Sie bestehen aus:
• ETL-Komponenten, die den ETL-Prozess (also die Extraktion, Transformation und das Loading der Daten) unterstützen,
• dem Core-Data-Warehouse, also einer Sammlung von gemanagten Datenbanksystemen, die auf Parallelisierung und Performance für das Handling riesiger Datenmengen optimiert sind,
• den „vorbereiteten“ Aggregationen (Star-Schemas), die Auswertungen beschleunigen.
• einem User Interface, das die Verwaltung und die Auswertung der Datenbestände ermöglicht.
Die wichtigsten Anbieter von Data-Warehouse-Systemen sind:
• Oracle
• Teradata
• Microsoft
• IBM
Data Lake
In letzter Zeit wird immer häufiger der Begriff „Data Lake“ verwendet. Es handelt sich dabei um ein Konzept, das als eine Erweiterung des Data-Warehouse-Gedankens gesehen werden kann, der dann aber technisch mit Hadoop- oder NoSQL-Mitteln umgesetzt wird (siehe die folgenden zwei Abschnitte).
Im Unterschied zum Data-Warehouse, wo die Daten aus verschiedenen Quellen bezogen und dann so aufbereitet werden, dass sie vergleichbar sind und damit aggregiert werden können (ETL-Prozess), werden beim Data Lake die Daten erst einmal im ursprünglichen Format und unbearbeitet gesammelt. Eine Bearbeitung bzw. Transformation der Daten erfolgt dann erst bei Bedarf vor der eigentlichen Analyse (ELT-Prozess). Diese Vorgehensweise eignet sich also vor allem für
• eher unstrukturierte Daten, z. B. aus sozialen Medien, Blogbeiträgen, Bild- und Videodateien,
• strukturiertere XML- bzw. HTML-Daten,
• oder für Sensor-Daten.
Damit sind wir nun wirklich im Bereich Big Data angekommen. Die große Herausforderung ist es an dieser Stelle, diesen erstmal unbearbeiteten „Datensee“ tatsächlich für Analysen und damit einhergehend für den Erkenntnisgewinn zu nutzen. Ein Datentümpel, der ständig mit unnützen Datenmengen ergänzt wird und wächst und wächst, ist wertlos.
Die klassischen Analyseverfahren (siehe Abschnitt 4.4) sind für strukturierte Daten konzipiert. Eine Analyse der unstrukturierten Daten setzt also voraus, dass diese in irgendeiner Form strukturiert werden, um sie im Anschluss mit den vorhandenen Verfahren analysieren zu können. Nur durch eine integrierte Datenstrategie, die die strukturierten und unstrukturierten Daten miteinbezieht, können die Schätze des Big Data tatsächlich gehoben werden.
2.4 NoSQL
Unter dem Begriff NoSQL werden unterschiedliche Arten von Datenverwaltungssystemen zusammengefasst. Ganz wichtig vorneweg: NoSQL steht nicht für „no SQL“, also „kein SQL“! Das „No“ bedeutet vielmehr „not only“. NoSQL ist also keine Anti-SQL-Bewegung, sondern soll eine Alternative bzw. Bereicherung zur SQL-Welt darstellen.
Den unterschiedlichen Ausprägungen von NoSQL-Datenbanken ist gemeinsam, dass sie für Anwendungsfälle geschaffen wurden, in denen die verfügbaren SQL-basierten Datenbanken an ihre Grenzen stießen und daher nicht oder nur mit sehr großem Aufwand einsetzbar waren.
Die Architektur vieler NoSQL-Datenbanken setzt auf den Einsatz einer großen Anzahl kostengünstiger Rechnersysteme zur Datenspeicherung, wobei die meisten Knoten gleichrangig sind. Eine Skalierung erfolgt dann einfach durch Hinzufügen weiterer Knoten.
NoSQL-Datenbanken unterscheiden sich hinsichtlich der Art der „Verschlüsselung“. Es gibt „Key-Value-Stores“ oder komplexere, dokumentenorientierte Ansätze, die zusätzlich zu Dokumenten noch Verknüpfungen zwischen Dokumenten bieten.
NoSQL-Datenbanken werden vor allem dann eingesetzt, wenn SQL-Datenbanken an ihre Grenzen stoßen. In NoSQL-Systemen lassen sich z. B. wesentlich größere Mengen an Daten performant ablegen und aufrufen. Bei komplexen Abfrageanforderungen, etwa im Bereich unstrukturierter Daten wie Video-, Audio- oder Bilddateien, erlauben einige NoSQL-Datenbanken baumförmige Strukturen der Metadaten ohne ein fest definiertes Datenschema und deren flexible Abfrage. Bei Daten mit schwankendem Typ und Inhalt eignen sich NoSQL-Datenbanken besser, weil sich die Daten nicht länger in das „SQL-Korsett“ von Tabellen und Relationen pressen lassen müssen.
Man muss sich aber bewusst darüber sein, dass die Verfahren, mit denen aus Daten Erkenntnisse für eine Prognose gewonnen werden, auf strukturierte Daten angewiesen sind. Das bedeutet nicht, dass das „SQL-Korsett“ für die Rohdaten eingehalten werden muss, aber die Aufbereitung vor der Analyse erfordert eine Strukturierung. Bei der Verwendung von NoSQL-Datenbanken müssen daher die ja immer vorhandenen Strukturen der Datenhaltung beachtet und die entsprechende Aufbereitungsschritte angewendet werden.
Wichtige Anbieter von NoSQL-Datenbanken sind:2
• MongoDB
• Cassandra
• Redis
• HBase
• Couchbase
• NoSQL-Angebote der Cloudanbieter wie AWS und MS Azure
2.5 Hadoop/Spark
Apache Hadoop ist ein Software-Framework, mit dessen Hilfe rechenintensive Prozesse mit großen Datenmengen auf Server-Clustern bearbeitet werden können. Anwendungen können mit der Unterstützung Hadoops komplexe Aufgaben auf Tausende von Rechnerknoten verteilen und Datenvolumina im Petabyte-Bereich verarbeiten. Es basiert ursprünglich auf dem MapReduce-Algorithmus und Grundideen des Google-Dateisystems. Hadoop wird von der Apache Software Foundation – einer Gemeinschaft von Entwicklern, die Open-Source-Softwareprodukte entwickeln – als Top-Level-Projekt vorangetrieben.
Hadoop besteht aus vier Kernmodulen und weiteren Komponenten, die zum Hadoop Ecosystem gerechnet werden.
Die vier Kernmodule sind:
• Hadoop Common: Hilfswerkzeug, das die Hadoop-Komponenten verwaltet bzw. unterstützt.
• Hadoop Distributed File System (HDFS): HDFS ist ein hochverfügbares Dateisystem zur Speicherung sehr großer Datenmengen auf den Dateisystemen mehrerer Rechner (Knoten). Dateien werden in Datenblöcke mit fester Länge zerlegt und redundant auf die teilnehmenden Knoten verteilt. Dabei gibt es Master- und Slave-Knoten. Ein Master-Knoten, der sogenannte NameNode, bearbeitet eingehende Datenanfragen, organisiert die Ablage von Dateien in den Slave-Knoten und speichert anfallende Metadaten. HDFS unterstützt dabei Dateisysteme mit mehreren 100 Millionen Dateien.
• Hadoop YARN: Eine Softwarelösung, die die Verwaltung der Ressourcen (also das Job-Scheduling) eines Clusters übernimmt.
• Hadoop MapReduce: Ein auf YARN basierendes System, das paralleles Prozessieren großer Datenmengen realisiert. Hadoop beinhaltet den MapReduce-Algorithmus, dieser gilt aber zunehmend als veraltet und wird durch graphenbasierte Verfahren (Spark, Tez) ersetzt.
Insbesondere Spark hat mittlerweile die größere Verbreitung im Hadoop-Umfeld und hat MapReduce als Prozess-Engine abgelöst.
Im Rahmen von Apache werden weitere Projekte als zum Hadoop Ecosystem zugehörig gezählt:
• Ambari: Ambari ist eine Managementplattform, die die Verwaltung (Provisionierung, Management, Monitoring) der Hadoop-Cluster vereinfachen soll. Unterstützt werden: HDFS, Hadoop MapReduce, Hive, HCatalog, HBase, ZooKeeper, Oozie, Pig and Sqoop.
• Avro: Avro ist ein System zur Serialisierung von Daten.
• Cassandra: Cassandra ist ein skalierbares NoSQL-Datenbanksystem für Hadoop-Cluster.
• Chukwa: Chukwa ermöglicht die Datensammlung und Echtzeitüberwachung sehr großer verteilter Systeme.
• HBase: HBase ist eine skalierbare Datenbank zur Verwaltung großer Datenmengen innerhalb eines Hadoop-Clusters. Die HBase-Datenbank basiert auf Googles BigTable. Diese Datenstruktur ist für Daten geeignet, die selten verändert, dafür aber häufig ergänzt werden. Mit HBase lassen sich Milliarden von Zeilen verteilt und effizient verwalten.
• Hive: Hive ist eine Data-Warehouse-Infrastrukturkomponente, die Hadoop-Cluster um Data-Warehouse-Funktionalitäten erweitert. Mit HiveQL wird eine SQL-Sprache zur Abfrage und Verwaltung der Datenbanken bereitgestellt.
• Mahout: Mahout ist eine skalierbare Machine-Learning- und Data-Mining-Library, die aber nicht mehr weiterentwickelt wird.
• Pig: Pig ist einerseits eine Hochsprache für Datenfluss-Programmierung, andererseits ein Framework, das die Parallelisierung der Rechenvorgänge unterstützt.
• Spark: Spark ist eine performante In-Memory-Batch-Prozess-Engine für Hadoop-Daten. Spark unterstützt ETL-, Machine-Learning-, Streaming- und Graphenprozesse.
• Tez: Apache Tez ist ein allgemeines Datenfluss-Programmier-Framework. Die ursprünglich von Hortonworks entwickelte Anwendung unterstützt Directed Acyclic Graph (DAG). Tez baut auf YARN auf und wird auch durch YARN gesteuert. Tez kann jeden MapReduce-Job ohne Modifikationen ausführen. MapReduce-Jobs können in einen Tez-Job überführt werden, was die Leistung steigert.
• ZooKeeper: ZooKeeper ist ein performantes System zur Koordination und Konfiguration verteilter Systeme.
Aus der Aufzählung und kurzen Beschreibung der Hadoop-Komponenten wird deutlich, dass es sich bei Hadoop nicht um ein einfaches Datenmanagement-Tool handelt. Es ist vielmehr ein komplexes und sich dynamisch veränderndes Sammelsurium an Projekten und Softwareprodukten, die der Idee der verteilten Datenhaltung von Big Data folgen.
Die unterschiedlichen Hadoop-Komponenten können von der Homepage der Apache Foundation kostenlos heruntergeladen werden. Unternehmen greifen aber bei Hadoop auf die Dienstleistungen kommerzieller Hadoop-Distributoren zurück. Diese bieten vorgefertigte Pakete mit z. T. zusätzlichen Komponenten an. In der Regel fallen keine Lizenzkosten an, es wird aber eine Subscription-Fee verlangt, also eine Mietgebühr für die Wartung, Pflege und den Support der Software. Wichtige Anbieter sind:
• Cloudera (Fusion mit Hortonworks im Q1 2019)
• MapR
• IBM
• Pivotal
Daneben haben die Cloud-Anbieter eigene Hadoop-Angebote:
• Amazon Web Services EMW
• Microsoft Azures HDInsight
Cloudera hat mit der Data-Platform ein Angebot, das über die Distribution der Apache Hadoop/Spark-Komponenten hinausgeht (Data-Hub) und diese mit weiteren Komponenten zu einer integrierten Datenplattform bündelt. Die Installation kann on-premises, in der Cloud oder hybrid erfolgen.
Abbildung 2: Cloudera-Data-Platform
Hadoop ist ein für Unternehmen sehr attraktives Produkt, da es als Open-Source-Projekt grundsätzlich lizenzkostenfrei bezogen werden kann und für die Herausforderungen des Datenwachstums eine kostengünstige Lösung zu bieten scheint.
Im vorangegangenen Abschnitt zum Thema Data-Lake wurde schon auf die Herausforderung eingegangen: Für die exponentiell wachsende Datenmenge an strukturierten und unstrukturierten Daten soll eine integrierte technische Plattform bereitgestellt werden. Sowohl strukturierte (HBase) als auch weniger strukturierte Daten (HDFS, Cassandra) können mit extremer Skalierbarkeit in einem gemeinsamen Framework verwaltet und bereitgestellt werden. Daher ist Hadoop die ideale technische Plattform, um eine integrierte Datenstrategie des Unternehmens umzusetzen.
Das Thema hat in den letzten Jahren einen Hype erfahren, wobei einige bereits das Ende klassischer Data-Warehouse-Produkte vorhersagten. Die Gründe zu diskutieren, warum das schnelle Ende klassischer Data-Warehouse-Systeme nicht bevorsteht, würde den Rahmen dieses Buches überschreiten. Etwas vereinfacht kann das Thema aber wie folgt zusammengefasst werden:
• Aufgrund der Komplexität und Dynamik der Hadoop -Projekte ist eine Hadoop-Installation alles andere als kostenlos. Auch wenn keine Lizenzkosten anfallen, sind z. B. Wartung, Hardware, Personal und Schulung mit hohem Aufwand verbunden.
• Die Installationen können als laufende Projekte gesehen werden, da die Hadoop-Komponenten einem dauernden Wandel unterzogen sind. Was heute angesagt ist, kann morgen schon wieder als veraltet gelten.
• Die Performance für bestimmte Arten von Queries in Data-Warehouse-Systemen ist mit Hadoop-Komponenten nicht erreichbar. Den kommerziellen Data-Warehouse-Produkten liegen Hunderte von Entwicklerjahren zugrunde, die für die Optimierung der verteilten Speicherung und Abfrage von Daten verwendet wurden. Der Hersteller Teradata hat in einer noch nicht veröffentlichten Studie die Kosten einer Query auf unterschiedlichen Plattformen (Kombinationen aus Data-Warehouse, Hadoop und Cloud) verglichen und ist dabei teilweise auf Kostenunterschiede je Abfrage vom Faktor > 1.000 zugunsten der Data-Warehouse-Technologie gestoßen (es ist anzumerken, dass die Studie eines DWH-Herstellers nicht ohne genaue Analyse der Annahmen zu verstehen ist, dennoch kann eine richtige Tendenz unterstellt werden). Dies zeigt, dass Unternehmen genau definieren müssen, wo und wie sie ihre Daten speichern wollen. Businesskritische, strukturierte Daten sind wahrscheinlich in einem Data-Warehouse am besten aufgehoben. Hingegen können große Mengen von unstrukturierten Facebook- und Twitter-Daten, bei denen noch gar nicht klar ist, wie sie verwendet werden sollen, in einem Hadoop-Lake abgelegt werden. Es zeigt sich, dass für Unternehmen eine umfassende Datenstrategie notwendig ist.
2.6 Cloud-Computing
In den vorangegangenen Abschnitten wurden die unterschiedlichen Datenquellen vorgestellt. Beim Cloud-Computing handelt es sich nicht um einen eigenen Typ von Datenquelle, sondern um die Art der Bereitstellung von Computing-Services. Es ist hier also von einer anderen Ebene der Rede. Die vorher beschriebenen Datenquellen können grundsätzlich on-premises (also in den eigenen Räumlichkeiten) oder in der Cloud betrieben werden. Dennoch soll in diesem Abschnitt auf das Cloud-Computing eingegangen werden, da dieses derzeit in der betrieblichen Praxis häufig zeitgleich mit Big Data diskutiert wird.
Der unklare Begriff Cloud-Computing wird von der Öffentlichkeit mittlerweile mehr und mehr verstanden und die Diskussionen entsprechend angemessen geführt. Beim Thema Cloud-Computing – also der Bereitstellung von Computing-Leistung über das Internet – lassen sich drei Arten von Angeboten unterscheiden:
• IaaS (Infrastructure as a Service): Der Cloud-Dienstleister stellt die Server samt Netzwerk, Speicher, Virtualisierungstechnologie und gegebenenfalls inkl. Betriebssystem zur Verfügung. Der Kunde verwaltet die Anwendungen und die Daten in eigener Regie.
• PaaS (Platform as a Service): Hier stellt der Dienstleister zusätzlich Betriebssystem, Middleware und Laufzeitumgebung zur Verfügung, während der Kunde sich nur noch um Anwendungssoftware und Daten kümmert.
• SaaS (Software as a Service): Bei SaaS wird die gesamte Anwendung inclusive der Datenhaltung als Service bereitgestellt.
Darüber hinaus ist zu unterscheiden, wer die Cloud-Lösung betreibt. Bei einer Public Cloud wird also die öffentliche Infrastruktur des Cloud-Anbieters gemeinsam von den unterschiedlichen Kunden genutzt. Eine Private Cloud nutzt die Technologien des Cloud-Computings, aber die Infrastruktur wird exklusiv für einen Kunden zur Verfügung gestellt oder sogar aufgebaut. Die Abgrenzung zu einem traditionellen On-Premises-Betrieb mit flexiblen Virtualisierungs-Technologien ist nicht immer ganz klar und manchmal auch eher marketing- denn technologiegetrieben.
Eine Zwischenform ist die Hybrid-Cloud, in der Teile der Computing-Leistung on-premises durchgeführt werden, während die anderen Teile auf die (Public-)Cloud ausgelagert werden.
Die bekanntesten und größten Anbieter von Cloud-Dienstleistungen sind:
• AWS (amazon cloud services)
• Microsoft Azure
• IBM
Auch die Anbieter von Hadoop-Distributionen – allen voran Cloudera – ergänzen ihre Angebote um Cloud-Dienstleistungen.
Die unterschiedlichen Arten von Datenquellen, wie sie in den vorangegangenen Abschnitten beschrieben worden sind, können auf den Cloud-Plattformen betrieben werden. Egal ob Oracle-Datenbank, MongoDB, Hadoop-Cluster oder Teradata-Data-Warehouse, all diese Produkte – und noch viele mehr – sind auf den Marketplaces der großen Cloud-Anbieter als SaaS-Angebot verfügbar oder können bei einer PaaS- oder IaaS-Cloud-Lösung als selbst mitgebrachte Software installiert werden.
Darüber hinaus stellen die Cloud-Anbieter auch eigene Datenbankangebote zur Verfügung:
Zu den AWS-Datenbankservices gehört der Amazon Relational Database Service (Amazon RDS) mit Unterstützung von häufig verwendeten Datenbank-Engines, z. B:
• Amazon Aurora, eine MySQL-kompatible relationale Datenbank,
• Amazon DynamoDB, ein NoSQL-Datenbankservice,
• Amazon Redshift, ein Warehouse-Service,
• Amazon EMR, das ein verwaltetes Hadoop-Framework bietet.
Das entsprechende Microsoft-Azure-Angebot besteht aus den folgenden Elementen:
• Azure SQL-Datenbank
• Document DB, eine NoSQL-Datenbank
• Azure SQL Data-Warehouse
• Microsoft Azure Data Lake Store, eine Hadoop-Anwendung
Die Cloud-Anbieter konkurrieren mit den etablierten Datenbanklösungs-Anbietern auf ihren Marktplätzen, was zu ungewohnten Konkurrenz- bzw. Kooperationssituationen führt. Es wird spannend sein, inwieweit es den Cloud-Anbietern (allen voran AWS und Azure) gelingt, daraus Kapital zu schlagen und ihren Marktanteil in den Softwarebereichen auszubauen.
Bei der Einrichtung bspw. eines Hadoop-Clusters werden die Vorteile der Cloud-Technologie deutlich. Ohne sich Gedanken über Hardware, deren Konfigurationen und Betrieb, Kompatibilitäten von Software-Komponenten, Skalierung und Nutzungsprognosen etc. zu machen, kann mit wenigen Mausklicks ein Hadoop-Cluster eingerichtet werden.
Das Einrichten des Hadoop-Clusters stellt sich dabei zunächst in etwa so schwierig dar wie eine Pizzabestellung auf lieferando.de. Aus einem Menü an Optionen lässt sich ein individuelles Cluster konfigurieren.
Die monatlichen Kosten können dabei im Voraus geschätzt werden.
Die entsprechenden Software-Komponenten werden damit tatsächlich zum Service, der nach Bedarf eingerichtet, skaliert, betrieben und auch retired werden kann.
2 Vgl.: http://nosql-database.org/