sdecoret - stock.adobe.com

Diese Speicherdienste eignen sich für unstrukturierte Daten

Open-Source-Tools wie Presto bieten günstigen Objektspeicher für unstrukturierte Daten und machen die Informationen über Tools für strukturierte Datenzugriffe wie SQL zugänglich.

Früher speicherten Unternehmen strukturierte Daten in relationalen - oder manchmal NoSQL-Datenbanken und unstrukturierte Daten in Objektspeichersystemen wie Amazon S3 oder Google Cloud Storage. Diese Unterscheidung zwischen strukturiertem und unstrukturiertem Datenspeicher ist jedoch weniger ausgeprägt und hat einen erheblichen Einfluss darauf, wie Unternehmen strukturierte Daten speichern, abfragen und verwalten.

Der Grund für diese Verschiebung ist das Aufkommen von Plattformen wie Presto. Presto ist eine kostenlose und quelloffene (Open Source) Abfrage-Engine und ermöglicht die Verwendung von kostengünstigen Objektspeichern, um Daten zu persistent vorzuhalten, während sie gleichzeitig über strukturierte Datenzugriffs-Tools wie SQL zugänglich gemacht werden.

Betrachten wir ein einfaches Data Warehouse, das mit Daten aus mehreren Online-Transaktionsverarbeitungssystemen, wie Verkaufs-, Bestands- und Fulfillment-Management-Systemen, gefüllt ist.

Data Warehouse

Die Daten werden in regelmäßigen Abständen aus diesen Systemen extrahiert. Anschließend werden sie transformiert und für die Verwendung im Data Warehouse umstrukturiert. Die transformierten Daten können direkt in das Data Warehouse geschrieben werden, oder sie können in Dateien in einem Objektspeichersystem abgelegt werden. In letzterem Fall kopiert ein Ladeprozess die Daten typischerweise in das Data Warehouse.

In diesem Szenario läuft das Data Warehouse auf einer Plattform wie Amazon Redshift oder Google Cloud BigQuery. Beide Plattformen sind verwaltete Dienste, aber im Fall von Redshift müssen Sie eine Servergröße auswählen und einige andere Verwaltungsentscheidungen treffen. Außerdem müssen Sie die Vor- und Nachteile dieser Dienste vergleichen:

  • Der langjährige Vorteil dieser Dienste besteht darin, dass sie es den Anwendern ermöglichen, die Daten mit SQL und Business-Intelligence-Reporting-Tools abzufragen, auszuwerten und zu visualisieren.
  • Der Nachteil bei der Verwaltung eines Data Warehouse sind die Kosten, sowohl in Bezug auf die Infrastrukturkosten als auch auf den Verwaltungsaufwand.

Das Speichern von Daten auf Blockspeicher, der in Data Warehouses mit Redshift verwendet wird, ist teurer als Objektspeicher.

Speicherdienste Presto und Amazon Athena

Aber was wäre, wenn Sie den letzten Schritt im Extraktions-, Transformations- und Ladeprozess eliminieren könnten? Anstatt die umgewandelten Daten in eine relationale oder analytische Datenbank zu laden, könnten Sie mit den im Objektspeicher gespeicherten Daten auf ähnliche Weise arbeiten, wie Sie mit diesen Daten in einem Datenbankmanagementsystem (DBMS) arbeiten können. Sie könnten dann die Kostenvorteile des Objektspeichers und die Abfragezugänglichkeit von Datenbanken nutzen.

Abbildung 1: Zu den unterschiedlichen Typen unstrukturierter Daten gehören unter anderem Dokumente, Videos und Social-Media-Daten.
Abbildung 1: Zu den unterschiedlichen Typen unstrukturierter Daten gehören unter anderem Dokumente, Videos und Social-Media-Daten.

An dieser Stelle kommen Presto und Amazon Athena – das auf Presto basiert – ins Spiel. Diese Plattformen bieten eine SQL-Schnittstelle für Daten, die in einem Objektspeicher gespeichert werden können. Wenn Unternehmen Daten in spaltenförmigen Dateiformaten, wie Parquet und ORC, speichern, erhalten sie einige der Vorteile von Datenbanken, die Daten in spaltenförmigen Formaten speichern.

Presto ist eine spaltenbasierte Abfrage-Engine, so dass die Leistung optimiert wird, wenn sie Datenspalten lesen kann; insbesondere bietet sie eine verbesserte Abfrageleistung im Vergleich zu zeilenbasierten Dateiformaten und einen kleineren Speicherbedarf.

Es ist wichtig, die Unterschiede bei der Arbeit mit Presto oder anderen Plattformen, die eine direkte Abfrage von Dateien ermöglichen, und einem DBMS zu beachten:

  • Datenbanken sind für inkrementelle Updates, Inserts und Deletes ausgelegt. Dies ist wichtig, wenn Sie mit einer Analyseanwendung arbeiten, die Aktualisierungen in Echtzeit oder nahezu in Echtzeit erfordert.
  • Das Abfragen von Dateien in Objektspeichern funktioniert besser, wenn Massen-Uploads akzeptabel sind. Darüber hinaus sind viele der Funktionen eines relationalen DBMS, wie Integritätseinschränkungen, nicht verfügbar, wenn direkt mit dateibasierten Speichern gearbeitet wird.

Während spaltenbasierte Dateiformate die Leistung im Vergleich zu zeilenbasierten Formaten verbessern können, wird ein DBMS eine bessere Leistung bieten. Wenn Sie große Mengen von Abfragen mit niedriger Latenz unterstützen müssen, ist eine relationale oder analytische Datenbank die beste Option.

Der größte Vorteil der Arbeit mit Query-over-File-Plattformen wie Presto ist vielleicht die Einfachheit, vor allem in der Art und Weise, wie sie helfen, die Grenzen zwischen strukturierter und unstrukturierter Datenspeicherung und -verwaltung zu verwischen. Dies gilt besonders, wenn ein verwalteter Service wie Amazon Athena genutzt wird.

Abbildung 2: Es gibt durchaus technologische Bereiche, in denen sich RDBMS und DBMS überschneiden.
Abbildung 2: Es gibt durchaus technologische Bereiche, in denen sich RDBMS und DBMS überschneiden.

Einfachere Preisgestaltung

Die Preise für Basisspeicher nähern sich einander an und werden dadurch einfacher, zumindest in der Google Cloud. BigQuery – die verwaltete analytische Datenbank von Google, die für Data Warehouses im Petabyte-Bereich entwickelt wurde – hat beispielsweise ein Speicherpreisschema eingeführt, das das von Google Cloud Storage widerspiegelt.

Aktive Daten in BigQuery, das heißt Daten, die in den letzten 90 Tagen aktualisiert wurden, werden mit 0,02 US-Dollar pro Gigabyte und Monat abgerechnet, während inaktive Daten mit 0,01 US-Dollar pro Gigabyte und Monat abgerechnet werden. Der Standardpreis für Google Cloud Storage liegt bei 0,02 US-Dollar pro Gigabyte pro Monat und für Nearline-Speicher bei 0,01 US-Dollar pro Gigabyte pro Monat.

Wenn andere Cloud-Anbieter eine ähnliche Strategie verfolgen, wird die Unterscheidung zwischen strukturiertem und unstrukturiertem Datenspeicher noch weiter verschwimmen.

Erfahren Sie mehr über Storage Management