arthead - stock.adobe.com

Die 18 wichtigsten Big-Data-Plattformen und -Technologien

Es gibt zahlreiche Tools, die für Big-Data-Anwendungen eingesetzt werden können. Im Folgenden finden Sie einen Überblick über 18 beliebte Big-Data-Technologien.

Die Welt der Big-Data-Anwendungen wird immer größer: Unternehmen aller Art produzieren Jahr für Jahr mehr Daten in den verschiedensten Formen. Die ständig wachsende Datenmenge und -vielfalt veranlasst Unternehmen dazu, verstärkt in Big-Data-Technologien zu investieren, um all diese Daten zur Verbesserung der Betriebsabläufe, zum besseren Verständnis der Kunden, zur schnelleren Bereitstellung von Produkten und zur Erzielung anderer geschäftlicher Vorteile durch Analyseanwendungen zu nutzen.

Es gibt zahlreiche kommerzielle Produkte, die Unternehmen bei der Umsetzung einer ganzen Reihe von datengesteuerten Analyseinitiativen unterstützen – von Echtzeitberichten bis hin zu maschinellen Lernanwendungen.

Darüber hinaus gibt es viele Open Source Big Data Tools, von denen einige auch in kommerziellen Versionen oder als Teil von Big-Data-Plattformen und Managed-Services angeboten werden. Im Folgenden werden 18 beliebte Open-Source-Technologien für die Verwaltung und Analyse von Big Data in alphabetischer Reihenfolge mit einer Zusammenfassung ihrer wichtigsten Funktionen aufgeführt.

1. Apache Airflow

Apache Airflow ist eine Workflow-Management-Plattform für die Planung und Ausführung komplexer Datenpipelines in Big-Data-Systemen. Sie ermöglicht es Dateningenieuren und anderen Nutzern, sicherzustellen, dass jede Aufgabe in einem Workflow in der vorgesehenen Reihenfolge ausgeführt wird und Zugang zu den erforderlichen Systemressourcen hat. Airflow wird auch als einfach zu verwenden beworben: Workflows werden in der Programmiersprache Python erstellt und können für den Aufbau von Machine-Learning-Modellen, die Übertragung von Daten und verschiedene andere Zwecke verwendet werden.

Die Plattform entstand Ende 2014 bei Airbnb und wurde Mitte 2015 offiziell als Open-Source-Technologie angekündigt; im darauffolgenden Jahr wurde sie in das Inkubator-Programm der Apache Software Foundation aufgenommen und wurde 2019 zu einem Apache-Top-Level-Projekt. Airflow hat folgende Hauptmerkmale:

  • Eine modulare und skalierbare Architektur, die auf dem Konzept der gerichteten azyklischen Graphen basiert, die die Abhängigkeiten zwischen den verschiedenen Aufgaben in Workflows veranschaulichen.
  • Eine Webanwendungsschnittstelle zur Visualisierung von Datenpipelines, zur Überwachung ihres Produktionsstatus und zur Fehlerbehebung.
  • Vorgefertigte Integrationen mit wichtigen Cloud-Plattformen und anderen Diensten von Drittanbietern.

2. Delta Lake

Databricks ist ein Softwareanbieter, der von den Schöpfern der Spark-Verarbeitungs-Engine gegründet wurde. Er entwickelte Delta Lake und stellte die Spark-basierte Technologie 2019 über die Linux Foundation als Open Source zur Verfügung. Das Unternehmen beschreibt Delta Lake als eine Speicherschicht im offenen Format, die Zuverlässigkeit, Sicherheit und Leistung für Data Lakes sowohl für Streaming- als auch für Batch-Operationen bietet.

Delta Lake ersetzt keine Data Lakes, sondern setzt auf ihnen auf und schafft einen einzigen Standort für strukturierte, semistrukturierte und unstrukturierte Daten, um Datensilos zu beseitigen, die Big-Data-Anwendungen behindern können. Darüber hinaus kann der Einsatz von Delta Lake laut Databricks dazu beitragen, Datenverfälschungen zu verhindern, schnellere Abfragen zu ermöglichen, die Aktualität der Daten zu erhöhen und Compliance-Bemühungen zu unterstützen. Die Technologie verfügt außerdem über folgende Funktionen:

  • Unterstützung für ACID/AKID-Transaktionen, das heißt Transaktionen mit Atomarität, Konsistenz, Isolation und Dauerhaftigkeit.
  • Die Möglichkeit, Daten in einem offenen Apache-Parquet-Format zu speichern.
  • Eine Reihe von Spark-kompatiblen APIs.

3. Drill

Die Website von Apache Drill beschreibt es als eine verteilte Abfrage-Engine mit geringer Latenz für große Datensätze, einschließlich strukturierter und halbstrukturierter/verschachtelter Daten. Drill kann über Tausende von Clusterknoten skaliert werden und ist in der Lage, Petabytes an Daten mit SQL und Standard-Konnektivitäts-APIs abzufragen.

Drill wurde für die Erkundung großer Datenmengen entwickelt und legt sich auf mehrere Datenquellen, so dass Benutzer eine breite Palette von Daten in verschiedenen Formaten abfragen können, von Hadoop-Sequenzdateien und Serverprotokollen bis hin zu NoSQL-Datenbanken und Cloud-Objektspeichern. Darüber hinaus kann es Folgendes leisten:

  • Zugriff auf die meisten relationalen Datenbanken über ein Plug-in.
  • Arbeit mit gängigen Business Intelligence Tools wie Tableau und Qlik.
  • Es läuft in jeder verteilten Cluster-Umgebung, obwohl es die Apache-Software ZooKeeper benötigt, um Informationen über Cluster zu verwalten.

4. Druid

Druid ist eine Echtzeit-Analysedatenbank, die niedrige Latenzzeiten für Abfragen, hohe Gleichzeitigkeit, mandantenfähige Funktionen und direkten Einblick in Streaming-Daten bietet. Endanwender können mehrere in Druid gespeicherte Datensätze gleichzeitig abfragen, ohne dass die Leistung beeinträchtigt wird.

Druid wurde in Java geschrieben und 2011 entwickelt, 2018 wurde es zu einer Apache-Technologie. Es wird allgemein als leistungsstarke Alternative zu herkömmlichen Data Warehouses betrachtet, die sich am besten für ereignisgesteuerte Daten eignet. Wie ein Data Warehouse verwendet es spaltenorientierte Speicherung und kann Dateien im Batch-Modus laden. Es enthält jedoch auch Funktionen von Suchsystemen und Zeitreihendatenbanken, darunter:

  • Native invertierte Suchindizes zur Beschleunigung der Suche und Datenfilterung.
  • Zeitbasierte Datenpartitionierung und Abfrage.
  • Flexible Schemata mit nativer Unterstützung für semistrukturierte und verschachtelte Daten.

5. Flink

Flink, eine weitere Open-Source-Technologie von Apache, ist ein Stream Processing Framework für verteilte, hochleistungsfähige und stets verfügbare Anwendungen. Es unterstützt zustandsbehaftete Berechnungen über begrenzte und unbegrenzte Datenströme und kann für Stapel-, Graphen- und iterative Verarbeitung verwendet werden.

Einer der Hauptvorteile, der von den Befürwortern von Flink angepriesen wird, ist seine Geschwindigkeit: Es kann Millionen von Ereignissen in Echtzeit mit geringer Latenz und hohem Durchsatz verarbeiten. Flink, das für den Einsatz in allen gängigen Clusterumgebungen konzipiert ist, bietet außerdem folgende Funktionen:

  • In-Memory-Berechnungen mit der Möglichkeit, bei Bedarf auf Plattenspeicher zuzugreifen.
  • Drei Schichten von APIs für die Erstellung verschiedener Arten von Anwendungen.
  • Eine Reihe von Bibliotheken für komplexe Ereignisverarbeitung, maschinelles Lernen und andere gängige Big-Data-Anwendungsfälle.

6. Hadoop

Hadoop ist ein verteiltes Framework für die Speicherung von Daten und die Ausführung von Anwendungen auf Clustern von Standard-Hardware und wurde als bahnbrechende Big-Data-Technologie entwickelt, um die wachsenden Mengen strukturierter, unstrukturierter und halbstrukturierter Daten zu bewältigen. Hadoop wurde erstmals 2006 veröffentlicht und war anfangs fast ein Synonym für Big Data; inzwischen wurde es teilweise von anderen Technologien verdrängt, ist aber immer noch weit verbreitet.

Hadoop besteht aus vier Hauptkomponenten:

  • Das Hadoop Distributed File System (HDFS), das die Daten in Blöcke aufteilt, um sie auf den Knoten in einem Cluster zu speichern, Replikationsmethoden verwendet, um Datenverluste zu verhindern, und den Zugriff auf die Daten verwaltet.
  • YARN, eine Abkürzung für Yet Another Resource Negotiator, das die Ausführung von Aufträgen auf den Clusterknoten plant und ihnen Systemressourcen zuweist.
  • Hadoop MapReduce, eine integrierte Stapelverarbeitungs-Engine, die große Berechnungen aufteilt und auf verschiedenen Knoten ausführt, um Geschwindigkeit und Lastausgleich zu gewährleisten.
  • Hadoop Common, ein gemeinsamer Satz von Dienstprogrammen und Bibliotheken.

Ursprünglich war Hadoop auf die Ausführung von MapReduce-Batch-Anwendungen beschränkt. Mit der Einführung von YARN im Jahr 2013 wurde Hadoop für andere Verarbeitungsmaschinen und Anwendungsfälle geöffnet, aber das Framework ist immer noch eng mit MapReduce verbunden. Das breitere Apache-Hadoop-Ökosystem umfasst auch verschiedene Big Data Tools und zusätzliche Frameworks für die Verarbeitung, Verwaltung und Analyse von Big Data.

7. Hive

Hive ist eine SQL-basierte Data-Warehouse-Infrastruktursoftware zum Lesen, Schreiben und Verwalten großer Datensätze in verteilten Speicherumgebungen. Sie wurde von Facebook entwickelt, dann aber als Open-Source-Software an Apache weitergegeben, das die Technologie weiter entwickelt und pflegt.

Hive läuft auf Hadoop und wird zur Verarbeitung strukturierter Daten verwendet, insbesondere zur Datenzusammenfassung und -analyse sowie zur Abfrage großer Datenmengen. Obwohl es nicht für die Online-Transaktionsverarbeitung, Echtzeit-Updates und Abfragen oder Aufträge, die eine Datenabfrage mit geringer Latenz erfordern, verwendet werden kann, wird Hive von seinen Entwicklern als skalierbar, schnell und flexibel beschrieben.

Zu den weiteren Hauptmerkmalen gehören:

  • Standard-SQL-Funktionalität für Datenabfragen und Analysen.
  • Ein integrierter Mechanismus, der den Benutzern hilft, verschiedenen Datenformaten eine Struktur zu geben.
  • Zugriff auf HDFS-Dateien und auf Dateien, die in anderen Systemen gespeichert sind, zum Beispiel in der Apache HBase-Datenbank.

8. HPCC Systems

HPCC Systems ist eine Big-Data-Verarbeitungsplattform, die von LexisNexis entwickelt wurde, bevor sie 2011 als Open-Source-Lösung veröffentlicht wurde. Getreu ihrem vollständigen Namen – High-Performance Computing Cluster Systems – besteht die Technologie im Kern aus einem Cluster von Computern, die aus handelsüblicher Hardware aufgebaut sind, um Big Data zu verarbeiten, zu verwalten und bereitzustellen.

HPCC Systems ist eine produktionsreife Data-Lake-Plattform, die eine schnelle Entwicklung und Datenexploration ermöglicht und drei Hauptkomponenten umfasst:

  • Thor, eine Datenveredelungsmaschine, die Daten bereinigt, zusammenführt und umwandelt sowie Profile erstellt, analysiert und für Abfragen vorbereitet.
  • Roxie, eine Datenbereitstellungs-Engine, mit der die aufbereiteten Daten bereitgestellt werden.
  • Enterprise Control Language oder ECL, eine Programmiersprache für die Entwicklung von Anwendungen.

9. Hudi

Hudi (sprich: Hoodie) ist die Abkürzung für Hadoop Upserts Deletes and Incrementals. Eine weitere Open-Source-Technologie, die von Apache verwaltet wird. Sie dient der Verwaltung der Aufnahme und Speicherung großer Analysedatensätze auf Hadoop-kompatiblen Dateisystemen, einschließlich HDFS und Cloud-Objektspeicherdiensten.

Hudi wurde ursprünglich von Uber entwickelt und soll eine effiziente und latenzarme Datenaufnahme und Datenaufbereitung ermöglichen. Darüber hinaus umfasst es ein Datenmanagement-Framework, mit dem Unternehmen Folgendes erreichen können:

  • Vereinfachung der inkrementellen Datenverarbeitung und der Entwicklung von Datenpipelines.
  • Verbessern der Datenqualität in Big-Data-Systemen.
  • Verwalten des Lebenszyklus von Datensätzen.

10. Iceberg

Iceberg ist ein offenes Tabellenformat, das zur Verwaltung von Daten in Data Lakes verwendet wird. Dies geschieht zum Teil durch die Verfolgung einzelner Datendateien in Tabellen und nicht durch die Verfolgung von Verzeichnissen. Iceberg wurde von Netflix zur Verwendung mit den Petabyte-großen Tabellen des Unternehmens entwickelt und ist mittlerweile ein Apache-Projekt. Laut der Website des Projekts wird Iceberg typischerweise in der Produktion eingesetzt, wo eine einzige Tabelle Dutzende von Petabytes an Daten enthalten kann.

Das Iceberg-Tabellenformat wurde entwickelt, um die Standardlayouts von Tools wie Hive, Presto, Spark und Trino zu verbessern, und bietet ähnliche Funktionen wie SQL-Tabellen in relationalen Datenbanken. Es unterstützt jedoch auch mehrere Engines, die mit demselben Datensatz arbeiten. Zu den weiteren bemerkenswerten Funktionen gehören:

  • Schema-Evolution zur Änderung von Tabellen, ohne dass die Daten neu geschrieben oder migriert werden müssen.
  • Versteckte Partitionierung von Daten, so dass die Benutzer keine Partitionen pflegen müssen.
  • Eine Zeitreisefunktion, die reproduzierbare Abfragen mit demselben Tabellen-Snapshot unterstützt.

11. Kafka

Kafka ist eine verteilte Event-Streaming-Plattform, die nach Angaben von Apache von mehr als 80 Prozent der Fortune-100-Unternehmen und Tausenden anderer Organisationen für hochleistungsfähige Datenpipelines, Streaming-Analysen, Datenintegration und unternehmenskritische Anwendungen genutzt wird. Einfacher ausgedrückt ist Kafka ein Framework zum Speichern, Lesen und Analysieren von Streaming-Daten.

Die Technologie entkoppelt Datenströme und Systeme, indem sie die Datenströme speichert, damit sie an anderer Stelle verwendet werden können. Sie läuft in einer verteilten Umgebung und verwendet ein leistungsstarkes TCP-Netzwerkprotokoll zur Kommunikation mit Systemen und Anwendungen. Kafka wurde von LinkedIn entwickelt, bevor es 2011 an Apache weitergegeben wurde.

Im Folgenden sind einige der wichtigsten Komponenten von Kafka aufgeführt:

  • Ein Satz von fünf Kern-APIs für Java und die Programmiersprache Scala.
  • Fehlertoleranz sowohl für Server als auch für Clients in Kafka-Clustern.
  • Elastische Skalierbarkeit auf bis zu 1.000 Makler oder Speicherserver pro Cluster.

12. Kylin

Kylin ist ein verteiltes Data Warehouse und eine Analyseplattform für Big Data. Es bietet eine OLAP-Engine (Online Analytical Processing), die für die Unterstützung extrem großer Datensätze konzipiert ist. Da Kylin auf anderen Apache-Technologien wie Hadoop, Hive, Parquet und Spark aufbaut, kann es nach Angaben seiner Anwender problemlos skaliert werden, um diese großen Datenmengen zu verarbeiten.

Außerdem ist es schnell und liefert Abfrageantworten, die in Millisekunden gemessen werden. Darüber hinaus bietet Kylin eine ANSI-SQL-Schnittstelle für die multidimensionale Analyse von Big Data und lässt sich mit Tableau, Microsoft Power BI und anderen BI-Tools integrieren. Kylin wurde ursprünglich von eBay entwickelt, das es 2014 als Open-Source-Technologie zur Verfügung stellte. Im folgenden Jahr wurde es zu einem Top-Level-Projekt innerhalb von Apache. Es bietet unter anderem folgende Funktionen:

  • Vorberechnung von multidimensionalen OLAP-Würfeln zur Beschleunigung von Analysen.
  • Job-Management und Überwachungsfunktionen.
  • Unterstützung für die Erstellung angepasster Benutzeroberflächen auf der Grundlage des Kylin-Kerns.

13. Pinot

Pinot ist ein verteilter Echtzeit-OLAP-Datenspeicher, der zur Unterstützung von Abfragen mit geringer Latenz durch Analyseanwender entwickelt wurde. Sein Design ermöglicht eine horizontale Skalierung, um diese niedrige Latenz auch bei großen Datensätzen und hohem Durchsatz zu erreichen. Um die versprochene Leistung zu erbringen, speichert Pinot Daten in einem spaltenförmigen Format und verwendet verschiedene Indizierungstechniken zum Filtern, Aggregieren und Gruppieren von Daten. Darüber hinaus können Konfigurationsänderungen dynamisch vorgenommen werden, ohne die Abfrageleistung oder die Datenverfügbarkeit zu beeinträchtigen.

Nach Angaben von Apache kann Pinot Billionen von Datensätzen verarbeiten, während es Millionen von Datenereignissen aufnimmt und Tausende von Abfragen pro Sekunde verarbeitet. Das System verfügt über eine fehlertolerante Architektur ohne Single Point of Failure und geht davon aus, dass alle gespeicherten Daten unveränderlich sind, obwohl es auch mit veränderlichen Daten arbeitet. Pinot wurde 2013 als internes Projekt bei LinkedIn gestartet, 2015 als Open-Source-Projekt veröffentlicht und 2021 in ein Apache-Top-Level-Projekt umgewandelt.

Die folgenden Funktionen sind ebenfalls Bestandteil von Pinot:

  • Fast-Echtzeit-Dateneingabe aus Streaming-Quellen sowie Batch-Eingabe aus HDFS, Spark und Cloud-Speicherdiensten.
  • Eine SQL-Schnittstelle für interaktive Abfragen und eine REST API für die Programmierung von Abfragen.
  • Unterstützung für die Ausführung von Machine-Learning-Algorithmen gegen gespeicherte Datensätze zur Erkennung von Anomalien.

14. Presto

Diese Open-Source-SQL-Abfrage-Engine Presto, die früher unter dem Namen PrestoDB bekannt war, kann sowohl schnelle Abfragen als auch große Datenmengen in verteilten Datensätzen gleichzeitig verarbeiten. Presto ist für interaktive Abfragen mit geringer Latenz optimiert und skalierbar, um Analyseanwendungen über mehrere Petabyte an Daten in Data Warehouses und anderen Repositories zu unterstützen.

Die Entwicklung von Presto begann bei Facebook im Jahr 2012. Als seine Schöpfer das Unternehmen 2018 verließen, spaltete sich die Technologie in zwei Zweige auf: PrestoDB, das weiterhin von Facebook geleitet wurde, und PrestoSQL, das von den ursprünglichen Entwicklern ins Leben gerufen wurde. Das ging bis Dezember 2020 so weiter, als PrestoSQL in Trino umbenannt wurde und PrestoDB zum Namen Presto zurückkehrte. Das Open-Source-Projekt Presto wird nun von der Presto Foundation betreut, die 2019 als Teil der Linux Foundation gegründet wurde.

Presto umfasst außerdem folgende Funktionen:

  • Unterstützung für die Abfrage von Daten in Hive, verschiedenen Datenbanken und proprietären Datenspeichern.
  • Die Möglichkeit, Daten aus mehreren Quellen in einer einzigen Abfrage zu kombinieren.
  • Abfrage-Antwortzeiten, die typischerweise von weniger als einer Sekunde bis zu Minuten reichen.

15. Samza

Samza ist ein verteiltes Stream-Processing-System, das von LinkedIn entwickelt wurde und jetzt ein Open-Source-Projekt ist, das von Apache verwaltet wird. Laut der Projekt-Website ermöglicht Samza die Entwicklung zustandsorientierter Anwendungen, die Daten aus Kafka, HDFS und anderen Quellen in Echtzeit verarbeiten können.

Das System kann auf Hadoop YARN oder Kubernetes laufen und bietet auch eine eigenständige Bereitstellungsoption. Auf der Samza-Website heißt es, dass es mehrere Terabyte an Zustandsdaten mit niedriger Latenz und hohem Durchsatz für eine schnelle Datenanalyse verarbeiten kann. Über eine einheitliche API kann der gleiche Code, der für Daten-Streaming-Aufträge geschrieben wurde, auch für die Ausführung von Batch-Anwendungen verwendet werden. Zu den weiteren Merkmalen gehören:

  • Integrierte Integration mit Hadoop, Kafka und verschiedenen anderen Datenplattformen.
  • Die Fähigkeit, als eingebettete Bibliothek in Java- und Scala-Anwendungen zu laufen.
  • Fehlertolerante Funktionen, die eine schnelle Wiederherstellung nach Systemausfällen ermöglichen.

16. Spark

Apache Spark ist eine In-Memory-Datenverarbeitungs- und -Analyse-Engine, die auf Clustern, die von Hadoop YARN, Mesos und Kubernetes verwaltet werden, oder im Standalone-Modus laufen kann. Sie ermöglicht groß angelegte Datentransformationen und -analysen und kann sowohl für Batch- und Streaming-Anwendungen als auch für Anwendungsfälle des maschinellen Lernens und der Graphenverarbeitung eingesetzt werden. Dies alles wird durch die folgenden integrierten Module und Bibliotheken unterstützt:

  • Spark SQL, für die optimierte Verarbeitung strukturierter Daten über SQL-Abfragen.
  • Spark Streaming und Structured Streaming, zwei Stromverarbeitungsmodule.
  • MLlib, eine Bibliothek für maschinelles Lernen, die Algorithmen und zugehörige Tools enthält.
  • GraphX, eine API, die Unterstützung für Graphanwendungen bietet.

Auf Daten kann aus verschiedenen Quellen zugegriffen werden, darunter HDFS, relationale und NoSQL-Datenbanken sowie Flat-File-Datensätze. Spark unterstützt auch verschiedene Dateiformate und bietet eine Reihe von APIs für Entwickler.

Das größte Aushängeschild von Spark ist jedoch die Geschwindigkeit: Die Entwickler behaupten, dass Spark bei der Verarbeitung von Stapelverarbeitungsaufträgen im Speicher bis zu hundertmal schneller ist als das traditionelle Gegenstück MapReduce. Infolgedessen ist Spark zur ersten Wahl für viele Batch-Anwendungen in Big-Data-Umgebungen geworden, wobei es auch als Allzweck-Engine funktioniert. Spark wurde zunächst an der University of California, Berkeley, entwickelt und wird jetzt von Apache verwaltet. Es kann auch auf einer Festplatte ausgeführt werden, wenn die Datensätze zu groß sind, um in den verfügbaren Speicher zu passen.

17. Storm

Storm, eine weitere Open-Source-Technologie von Apache, ist ein verteiltes Echtzeit-Rechnersystem, das für die zuverlässige Verarbeitung unbegrenzter Datenströme konzipiert ist. Laut der Projekt-Website kann es für Anwendungen wie Echtzeitanalysen, maschinelles Online-Lernen und kontinuierliche Berechnungen sowie für Extraktions-, Transformations- und Ladeaufgaben (ETL) verwendet werden.

Storm-Cluster sind mit Hadoop-Clustern vergleichbar, doch laufen die Anwendungen kontinuierlich weiter, solange sie nicht gestoppt werden. Das System ist fehlertolerant und garantiert, dass die Daten verarbeitet werden. Auf der Apache Storm-Website heißt es, dass es mit jeder Programmiersprache, jedem Message-Queueing-System und jeder Datenbank verwendet werden kann. Storm enthält außerdem folgende Elemente:

  • Eine Storm-SQL-Funktion, mit der SQL-Abfragen auf Streaming-Datensätzen ausgeführt werden können.
  • Trident und Stream API, zwei weitere Schnittstellen auf höherer Ebene für die Verarbeitung in Storm.
  • Verwendung der Apache ZooKeeper-Technologie zur Koordinierung von Clustern.

18. Trino

Wie bereits erwähnt, ist Trino einer der beiden Zweige der Presto-Abfrage-Engine. Trino, das bis zu seiner Umbenennung im Dezember 2020 unter dem Namen PrestoSQL bekannt war, läuft nach den Worten der Trino Software Foundation mit „irrsinniger“ Geschwindigkeit. Die Gruppe, die die Entwicklung von Trino beaufsichtigt, wurde ursprünglich 2019 als Presto Software Foundation gegründet; ihr Name wurde im Rahmen der Umbenennung ebenfalls geändert.

Trino ermöglicht Nutzern die Abfrage von Daten unabhängig davon, wo sie gespeichert sind, mit Unterstützung für die native Ausführung von Abfragen in Hadoop und anderen Daten-Repositories. Wie Presto ist auch Trino für Folgendes konzipiert:

  • Sowohl interaktive Ad-hoc-Analysen als auch langlaufende Batch-Abfragen.
  • Kombinieren von Daten aus mehreren Systemen in Abfragen.
  • Arbeiten mit Tableau, Power BI, der Programmiersprache R und anderen BI- und Analyse-Tools.

Auch für den Einsatz in Big-Data-Systemen verfügbar: NoSQL-Datenbanken

NoSQL-Datenbanken sind eine weitere wichtige Art der Big-Data-Technologie. Sie brechen mit dem konventionellen SQL-basierten relationalen Datenbankdesign, indem sie flexible Schemata unterstützen, wodurch sie sich gut für die Verarbeitung großer Mengen aller Arten von Daten eignen – insbesondere unstrukturierte und semistrukturierte Daten, die nicht in die strengen Schemata relationaler Systeme passen.

NoSQL-Software entstand in den späten 2000er Jahren, um die zunehmenden Mengen an unterschiedlichen Daten zu bewältigen, die Unternehmen im Rahmen von Big-Data-Initiativen generierten, sammelten und analysieren wollten. Seitdem haben NoSQL-Datenbanken weite Verbreitung gefunden und werden heute in Unternehmen aller Branchen eingesetzt. Bei vielen handelt es sich um Open-Source-Technologien, die auch in kommerziellen Versionen von Anbietern angeboten werden, während es sich bei einigen um proprietäre Produkte handelt, die von einem einzigen Anbieter kontrolliert werden.

Darüber hinaus gibt es verschiedene Typen von NoSQL-Datenbanken, die unterschiedliche Big-Data-Anwendungen unterstützen. Dies sind die vier wichtigsten NoSQL-Kategorien mit Beispielen für die verfügbaren Technologien in jeder Kategorie:

  • Dokumentdatenbanken. Sie speichern Datenelemente in dokumentenähnlichen Strukturen und verwenden Formate wie JSON. Beispiele hierfür sind Couchbase Server, CouchDB und MongoDB.
  • Graphdatenbanken. Sie verbinden Datenknoten in graphenähnlichen Strukturen, um die Beziehungen zwischen Datenelementen zu verdeutlichen. Beispiele hierfür sind AllegroGraph, Amazon Neptune, ArangoDB und Neo4j.
  • Schlüssel-Wert-Speicher. Sie verbinden eindeutige Schlüssel und zugehörige Werte in einem relativ einfachen Datenmodell, das sich leicht skalieren lässt. Beispiele sind Aerospike, Amazon DynamoDB, Redis und Riak.
  • Breitspaltige Datenbanken. Sie speichern Daten in Tabellen, die eine große Anzahl von Spalten enthalten können, um eine Vielzahl von Datenelementen zu verarbeiten. Beispiele hierfür sind Cassandra, Google Cloud Bigtable und HBase.

Es wurden auch Multimodell-Datenbanken entwickelt, die verschiedene NoSQL-Ansätze und in einigen Fällen auch SQL unterstützen; MarkLogic Server und Azure Cosmos DB von Microsoft sind Beispiele hierfür. Viele andere NoSQL-Anbieter haben ihren Datenbanken Multimodel-Unterstützung hinzugefügt. So unterstützt Couchbase Server jetzt Schlüssel-Wert-Paare, und Redis bietet Module für Dokumenten- und Graphdatenbanken.

Erfahren Sie mehr über Datenverwaltung

ComputerWeekly.de
Close