Essential Guide

Big Data: Anwendung, Datenschutz und Technologie

Eine umfassende Auswahl von Artikeln, Videos und mehr, die von unseren Redakteuren gewählt wurden.

Ist Apache Spark die Antwort für Cloud- und Big-Data-Anwendungen?

Apache Spark gewinnt zunehmend an Unterstützung. Wenn es irgendwo um Big Data, Cloud- oder Geschäftsdaten geht, ist Spark ziemlich sicher mit dabei.

Jeder, der sich schon einmal mit Cloud Computing oder Big Data beschäftigte, hat wahrscheinlich auch von Hadoop...

gehört. Einige Anwender haben vorgeschlagen, dass Hadoop zum künftigen Standard werden soll, aber für die meisten Geschäftsanwendungen hat Hadoop zu viele Einschränkungen.

An dieser Stelle kann das Open-Source-Framework Apache Spark helfen. Cloud- und Big-Data-Planer müssen verstehen, was Spark für datenintensive Anwendungen bringen kann – und wie es sich auf die Planung von Entwicklungen auswirkt. Das bedeutet erstens, den Unterschied zwischen Hadoop und Spark zu verstehen, zweitens, zu erkennen, welche Vorteile Spark-Implementierungen haben, und drittens, für eine Spark-getriebene Zukunft zu planen.

Dass Hadoop im Praxiseinsatz problematisch sein kann, ist kaum zu übersehen. Selbst Hadoop-Befürworter stimmen heute damit überein, dass vor allem drei Probleme bestehen. Erstens ist die Programmierung des Datenzugriffs bei Hadoop ziemlich komplex. Zweitens erschweren Leistungsbeschränkungen den Einsatz von Hadoop für Echtzeit-Anwendungen. Und drittens sind unstrukturierte Daten nicht das, womit sich Unternehmen hauptsächlich beschäftigen. Vor allem das letzte Problem ist wahrscheinlich die größte Herausforderung für die Hadoop-Akzeptanz.

Hive hilft Hadoop, aber nicht genug

Zwar haben heute so gut wie alle Unternehmen unstrukturierte Daten. Aber die meiste Business Analytics basiert auf Transaktionsanalyse – und Transaktionen sind fast immer strukturiert. Außerdem verwenden Business-Anwendungen meistens relationale Datenbanken (RDBMS) und stellen Datenbankabfragen in der Regel über die Structured Query Language (SQL). Hadoop unterstützt in seiner Grundform RDBMS und SQL nicht. Diese Lücke wird erst durch das Add-on Hive geschlossen.

Die SQL-Unterstützung durch Hive kann die Probleme der Hadoop-Programmierung reduzieren. Allerdings beeinflusst Hive das andere klassische Hadoop-Problem – die Performance. Anwendungen, die Hive und Hadoop nutzen, können zehn oder gar hundert Mal länger laufen als echte RDBMS-/SQL-Anwendungen. Dies kann Hadoop als einzigen Cloud- und Big-Data-Datenbankdienst ziemlich unpraktisch machen.

Spark verbessert vieles. Es ist in vielerlei Hinsicht ein Nachfolger von Hadoop, obwohl es auf dem Hadoop-Dateisystem ausgeführt wird und Cluster-Daten mit ihm teilen kann. Spark hat native APIs für die beliebtesten Programmiersprachen – einschließlich Java und Python – und es hat native SQL-Fähigkeiten. Der große Unterschied zwischen Spark und Hadoop aber ist die Performance. Obwohl die Geschwindigkeitsverbesserung, die Spark bringen kann, abhängig von den spezifischen Anwendungen variiert, gibt es Reports, die von Geschwindigkeitssteigerungen um das zehn- bis fast 300-fache berichten.

Die Magie von Spark liegt in der Verarbeitung

Ein großer Teil des Zaubers von Spark liegt in der Art, wie es Anfragen verarbeitet. Hadoop führt Operationen typischerweise von Datenträger zu Datenträger aus. Das bedeutet, dass jeder Abschnitt einer Hadoop-Anwendung seine Ergebnisse auf der Festplatte abspeichert. In der nächsten Phase muss dann darauf zugegriffen werden. Spark hingegen ist für In-Memory-Operationen ausgelegt, was zu einer deutlichen Geschwindigkeitssteigerung führt. Davon profitieren insbesondere komplexe Hadoop-Anwendungen, einschließlich Hive-Abfragen.

Spark restrukturiert auch Informationen. Das Open-Source-System ist rund um das Konzept von Distributed Resilient Datasets (RDD) gebaut. RDDs sind dauerhafte Datenstrukturen, die nur mit bestimmten Regeln aufgebaut oder verändert werden können. Sie ermöglichen es, dass Spark weiß, was und wann es zwischenspeichern soll und wie es Backups bereitstellt. Mit anderen Worten: Die RDD-Struktur macht Spark deutlich effizienter – aber es gibt noch mehr.

Spark hat ein Schema, um eine relationale Struktur zu beschreiben, das sogenannte Data Frame. Wenn Organisation das Konzept von Data Frames nutzen, lassen sich SQL-Abfragen in Spark leichter ausführen. Auch können Data Frame APIs verwendet werden – in Python oder der Scala-Programmiersprache von Spark –, um Anwendungen zu entwickeln. Diese sind viel schneller als diejenigen, die das Basic RDD-Modell nutzen.

SQL-Abfragen können in Spark durch die Verwendung der Catalyst-Komponente optimiert werden. Catalyst transformiert SQL-Abfragen in physische Zugriffspläne. Dieses Verfahren löst die Abfragen, Matches, Spaltennamen und so weiter auf. Die Spark-Datenspeicherung und der Zugriff – über die Programmiersprache Scala – verwendet die gleichen Kernfunktionen wie Catalyst. Viele weitere Möglichkeiten stehen darüber hinaus mit Catalyst zur Verfügung. Professionelle Datenbankarchitekten sollten sich mit der Art und Weise, wie Catalyst arbeitet, näher befassen, um es bei der Optimierung der Strukturen und Verbesserung der Abfrageleistung zu nutzen.

Den Nutzen von Spark wahren

Der Nutzen von Spark muss allerdings gewahrt werden. Entscheidend ist, dass Spark mit ausreichend Speicher unterstützt wird, ansonsten gehen die meisten Leistungsvorteile verloren. Nutzer berichten dabei, dass man die beste Spark Performance erzielt, indem man mehr CPU-Kerne und eine schnellere Netzwerkverbindung einsetzt, als Hadoop dies erfordern würde. Im Allgemeinen werden die Vorteile von Spark die Kosten für diese Leistungsverbesserungen übersteigen, aber damit man wirklich etwas davon hat, kann ein Umzug von Hadoop nach Spark auch Server-Upgrades erforderlich machen.

Ein Spark-Cluster-Design kann für einen erfolgreichen Spark-Einsatz ebenfalls wichtig sein. Die Performance-Steigerungen sind am größten, wenn die Ergebnisse für ein gegebenes Cluster in den Speicher passen. Deshalb können Informationen über die Aufteilung des Speichers nach Typ oder Aktivität zur Performance-Steigerung beitragen. Wie bei allen Cluster-Datenbanktechnologien, werden Sie von den Vorteilen der parallelen Cluster-Abfrageverarbeitung profitieren wollen, wenn Sie Daten Clustern zuordnen.

Die Leistungsverbesserungen, die Spark bringt, können den Nutzen für Geschäftsanwendungen deutlich steigern, was Spark so ein großes Potential verleiht. Komplexe Analytics-Aufgaben – vor allem solche, die auf strukturierter Datenspeicherung beruhen – können mit Spark viel schneller gemacht werden, was die praktische Relevanz erheblich erhöht. Zugriffs- und Update-Funktionen sind im Allgemeinen schnell genug, um Spark in Echtzeit-Anwendungen einzusetzen – und nicht nur für analytische Stapelverarbeitungsprozesse, für die Hadoop normalerweise verwendet wird.

Die SQL-Effizienz könnte Spark populär machen

Für Cloud- und Big-Data-Architekten kann die SQL-Effizienz von Spark dazu führen, dass Spark eine populäre Option für den Datenzugriff und die Analytik wird – und sogar ein Werkzeug in der Anwendungsentwicklung. Hadoop ist an diesem Punkt schwierig zu benutzen und es ist unwahrscheinlich, dass ein Data Scientist es schnell lernen und nutzen kann.

Die Hive-Performance ist zudem oft ein Hindernis für die SQL-Verwendung. Bei Spark sind Lernaufwand und Fehlerquote für Wissensarbeiter und Entwickler wesentlich geringer, um SQL-Abfragen für Big-Data-Zugriffe zu bauen. Auch der API-Zugriff auf die RDD-Struktur von Spark ist leichter zu lernen – und zu lehren – als die Hadoop-Programmierung. Es dürfte deshalb schwer sein, in Spark nicht die Zukunft von Big Data zu sehen.

Spark ist das populärste Projekt in der Open-Source-Community und Unternehmen unterstützen das Projekt in zunehmenden Maße. Wenn es irgendwo um große Datenmengen, Cloud-Daten und Geschäftsinformationen geht, wird ziemlich sicher auch Spark eingesetzt.

Mehr zum Thema Apache Spark:

Built-In Bibliotheken machen aus Apache Spark ein mächtiges Analytics-Tool.

Das Big-Data-Framework Apache Spark beschleunigt Analytics.

Databricks und IBM: Was steckt hinter den Cloud-Versionen von Apache Spark?

Welchen Mehrwert die Integration zwischen SAP HANA und Apache Spark bringt.

Folgen Sie SearchEnterpriseSoftware.de auch auf Facebook, Twitter und Google+!

Artikel wurde zuletzt im Januar 2016 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchDataCenter.de

Close