Datenanalyse

Daten-Lake vs. Data Warehouse

blaue Konnektoren, die On-Premises und Cloud darstellen

Was ist der Daten-Lake speicherung? Ist es dasselbe wie die Speicherung in einem Data Warehouse? Ein Daten-Lake und ein Data-Warehouse scheinen den gleichen Zweck zu erfüllen - schließlich speichern sowohl Lakes als auch Warehouses Daten. Obwohl es sich bei beiden um Datenspeicher handelt, die synchron zusammenarbeiten können, hat jeder von ihnen einen anderen Zweck bei der Sammlung von Daten für Ihr Unternehmen. Die Kenntnis ihrer unterschiedlichen Funktionen, Vorteile, geeigneten Verwendungszwecke und wie sie zusammen verwendet werden können, hilft Ihnen bei der Entscheidung, welche Lösungen Sie Ihrer Datenplattform hinzufügen und Ihr Data Governance Framework unterstützen sollen. Lassen Sie uns eintauchen!

Was ist ein Daten-Lake?

A Daten-Lake ist ein Lager , in dem sich große Mengen strukturierter, unstrukturierter und halbstrukturierter Daten in ihrem nativen Format ansammeln, einschließlich flacher Dateien, Protokolldateien und Tabellenkalkulationsexporte. Stellen Sie sich vor, wie ein See Wasser aus verschiedenen Quellen sammelt und speichert, die alle miteinander vermischt und unorganisiert sind.

Daten-Lake sind eine gute Option für Unternehmen, die große Mengen unterschiedlicher Daten zur Verarbeitung sammeln müssen. Allerdings müssen unstrukturierte Daten, die in einem Daten-Lake gespeichert sind, erst in strukturierte Daten umgewandelt werden, bevor sie analysiert oder produktiv genutzt werden können.

Was ist ein Data Warehouse?

Ein Data Warehouse ist ein relationales Datenbanksystem, das Daten aus verschiedenen Quellen enthält und so strukturiert ist, dass eine einfache Analyse und Entscheidungsunterstützung möglich ist. Stellen Sie sich vor, wie der Lagerbestand in einem Lager sorgfältig organisiert und katalogisiert ist, damit er leichter gefunden und abgerufen werden kann.  

Ein Data Warehouse dient dazu, aufbereitete Daten für Benutzer bereitzustellen , damit diese sie für Business Intelligence BI), Visualisierungen, künstliche Intelligenz (KI) und Tools für Maschinelles Lernen ML) nutzen können. Im Gegensatz zu einem Daten-Lake eignet sich eine Data-Warehouse-Architektur jedoch weniger gut für die Speicherung großer Datenmengen, insbesondere in hoher Qualität.    

Daten-Lake vs. Data Warehouse: Was ist zu wählen?

Die Entscheidung, ob Sie Ihre Datenpipeline mit einem Lake oder einem Warehouse verbinden, kann eine differenzierte Entscheidung sein, die von den Datenanforderungen Ihres Unternehmens abhängt. Und in einigen Fällen kann es sein, dass Ihr Unternehmen beides nutzen muss, worauf wir später noch eingehen werden. Im Folgenden finden Sie eine Aufschlüsselung der wichtigsten Unterschiede in Bezug aufData Warehouses vs. Daten-Lakes um Ihnen die Entscheidung zu erleichtern.

Data Warehouses  Daten-Lakes 
Primäre Funktion Analyse Lagerung
Arten von Daten  Strukturierte Daten, die sofort analysiert werden müssen Strukturierte, unstrukturierte und halbstrukturierte Daten, die aufbewahrt, später analysiert oder geprüft werden müssen
Datenstruktur Hierarchische Dimensionen und Tabellen Flache Architektur
Verfahren ETL (Extrahieren, Transformieren, Laden) ELT (Extrahieren, Laden, Transformieren)
Ideale Datenformate SäulenförmigParquet, ORC, Delta) Apache Parquet, Apache Avro, Apache Iceberg, CSV, JSON
Sprachen SQL SQL, U-SQL, Skala, Python, R, .NET, Apache Spark, TensorFlow, SciKit, MLib, MXNet, und mehr
Schema  Schema-on-Write Schema-on-Read
Scalability  Niedrig Hoch
Cloud verfügbar? Ja Ja
Wer nutzt sie? Dateningenieure, Datenwissenschaftler, Business-Analysten, Metadaten Chief Data Officers, Datenwissenschaftler, Geschäftsanalysten, Manager, Datenentwickler

Wie Sie sehen können, gibt es viele Unterschiede zwischen einem Data Warehouse und einem Daten-Lake - nicht nur in der Art und Weise, wie Unternehmen sie nutzen, sondern auch in ihrer Funktionsweise. Während Daten-Lakes und Data Warehousesaustauschbar erscheinen mögen, hängt die Entscheidung für ein Data Warehouse von Ihren aktuellen Datensystemen, Ihrer Architektur und Ihren Fähigkeiten ab.

Vorteile

Datenlagers und Daten-Lakes haben jeweils ihre eigenen Vorteile für Unternehmen, die Wert auf ihre Daten legen. Überprüfen Sie die Vorteile, um besser zu verstehen, welches die beste Wahl für Ihre Geschäftsanforderungen ist.

Data Warehouse Vorteile

  • Weil Data Warehousefür die Datenanalyse konzipiert sind, bieten sie effektivere Geschäftseinblicke und können Entscheidungsfindung verbessern auf Management-Ebene.
  • Geschwindigkeit ist ein weiterer wichtiger Nutzen der Verwendung von Data Warehouses. Die Mitarbeiter verbringen weniger Zeit damit, organisierte, strukturierte Daten zu durchforsten als unstrukturierte Daten, so dass sie Erkenntnisse schneller zu gewinnen.
  • Wenn Sie Daten demokratisieren, gewinnen Sie auch Datendistribution schnellere Datendistribution an Datenverwalter Ihrem Datenverwalter Unternehmen. Stakeholder , die auf Ihre Daten angewiesen sind, müssen nicht darauf warten, dass jemand diese zu einem ausgefeilten Bericht zusammenfasst, bevor sie Maßnahmen ergreifen können.
  • Ein weiterer Nutzen von Speicherung all Ihrer Daten an einem einzigen Ort ist, dass es IT- und Cybersicherheitsexperten ermöglicht, die die Verteidigung eines einzigen Lager zu verstärken anstatt mehrere Speicherorte schützen zu müssen.
  • Es gibt zwar Vorteile für ein Vor-Ort Datenlagerein CloudDatenlager ermöglichtSie es nach oben oder unten skalieren auf der Grundlage Ihrer geschäftlichen Anforderungen zu skalieren, anstatt die Server zu wechseln, wenn sich Ihr regelmäßiges Datenvolumen ändert.
  • Eine der Hauptfunktionen eines Datenlagers ist die automatische Standardisierung von Daten, was die Datenqualität.

Daten-Lake Vorteile

  • Daten-Lakes ermöglichen Datenerfassung aus mehreren Quellen in ihren nativen Formatenanstatt Architekturen für verschiedene Formate zu erstellen.
  • Sie können speichern Petabytes an Daten unter Daten-Lakes.
  • Wie Datenlagermüssen IT- und Cybersicherheitsspezialisten nur ein ein Lager verteidigen gegen Bedrohungen und Angriffe verteidigen.
  • Auch wie Datenlagers, Daten-Lakes ermöglichen eine bessere Demokratisierung der Daten.
  • Daten-Lakes wie der Hadoop Daten-Lake erlauben Ihnen die Verwendung von mehrere Schemata für dieselben Daten zu verwenden oder sie ohne Schema.
  • Im Gegensatz zur traditionellen Datenspeicherung, Daten-Lakes sind kompatibel mit KI und Maschinelles Lernen Analyse-Tools.

Wie Data Lakes und Data Warehouses zusammenarbeiten

Kurz gesagt: DataWarehouses sind eher für die Analyse strukturierter Daten und Daten-Lakedagegen eher für die Speicherung unstrukturierter Daten konzipiert. Das bedeutet, dass DataWarehouses mit Daten-Lake integriert werden können , sodassUnternehmen Daten nahtlos speichern und analysieren können. Durch den Einsatz von Produkten wie der Actian Analytics AI Platformkönnen können Sie abfragen durchführen abfragen  Hadoop-Daten mithilfe der Funktion für externe Tabellen abfragen und schreiben. Die Datenquelle muss mit Apache Spark les- und schreibkompatibel sein, wie beispielsweise die Dateiformate Parquet, ORC oder JSON sowie Tabellen in externen Datenbanksystemen.  

Mit der Anweisung CREATE EXTERNAL TABLE wird in der Actian Analytics AI Platform eine Tabelle erstellt, die auf vorhandene Datendateien an Speicherorten außerhalb der Plattform verweist. Auf diese Weise müssen Sie die Daten nicht in eine neue Tabelle importieren, wenn sich die Datendateien bereits an einem bekannten Speicherort im gewünschten Dateiformat befinden. 

Nachdem die Struktur der Datendatei mithilfe der Anweisung `CREATE EXTERNAL TABLE` auf das Format der Actian Analytics AI Platform abgebildet wurde, haben Sie folgende Möglichkeiten: 

  • Auswahl, Verknüpfung oder Sortierung externer Tabellendaten.
  • Erstellen Sie Views für externe Tabellen.
  • Einfügen von Daten in externe Tabellen.
  • Importieren Sie die Daten und speichern Sie sie in einer Datenbank der Actian Analytics AI Platform. 

Die Daten werden von ihren ursprünglichen Speicherorten abgerufen, und die Actian Analytics AI Platform belässt die Datendateien an ihrem Ort, wenn Sie die Tabelle löschen. 

Die Actian Analytics AI Platform empfängt Abfragen, die auf externen Tabellen basieren, vom Nutzer der Client-App und wandelt diese in JSON-Anfragen für externe Daten um. Diese Anfragen werden anschließend in Spark-Jobs übersetzt, die gestartet werden. Diese Jobs senden in der Regel Abfragen an SparkSQL, wie beispielsweise „INSERT INTO avalanche_table SELECT * FROM external_resource“ zum Einlesen externer Daten oder „INSERT INTO external_resource SELECT * FROM avalanche_table“ zum Schreiben in externe Systeme. Schließlich übertragen diese Jobs Daten in die Actian Data Platform hinein und aus ihr heraus. 

Sie können sogar neue Datensätze in eine externe Tabelle einfügen.Die Syntax für die Definition einer externen Tabelle lautet:

CREATE EXTERNAL TABLE table_name (column_name data_type {,column_name data_type}) USING SPARK WITH REFERENCE='reference' [,FORMAT='format'] [,OPTIONS=('key'=value {,'key'='value'})]

Weitere Informationen finden Sie im Abschnitt CREATE EXTERNAL TABLE in der SQL-Sprachführer.

Nachdem externe Tabellen mit der Syntax CREATE EXTERNAL TABLE definiert wurden, verhalten sie sich wie reguläre Tabellen. Sie können Abfragen wie die folgende stellen:

SELECT * FROM test_table_csv INSERT INTO my_table_orc SELECT some_column FROM other_table

Prädikat-Pushdown von der ActianDatenplattform zu Spark

Wenn eine abfragen an eine EXTERNAL TABLE mit Spark gestellt wird, können Prädikate aus der WHERE-Klausel bereits von Spark ausgewertet werden, wodurch die Anzahl der gesendeten Tupel reduziert wird. Es werden nur Prädikate unterstützt, die in einen Spaltenwertebereich übersetzt werden können. Für logische Verknüpfungen von einfachen Prädikaten werden IN und AND auf einer einzelnen Spalte und spaltenübergreifend unterstützt. OR wird nur für eine einzelne Spalte unterstützt.

Wenn das gesamte komplexe Prädikat ein einziges ODER enthält, das sich über verschiedene Spalten erstreckt, wird nichts an Spark weitergegeben. In diesem Fall überträgt Spark alle Tupel an die Actian Data Platform, und die Filterung wird ausschließlich auf der ActianSeite durchgeführt.

Hier ist ein Beispiel für die Verwendung von CREATE EXTERNAL TABLE:

  1. Definieren Sie eine externe Tabelle für eine CSV-Datenquelle, die sich in Amazon S3 befindet:

CREATE EXTERNAL TABLE ext_csv (col1 INT4 NOT NULL, col2 VARCHAR(20) NOT NULL) USING SPARK WITH REFERENCE=’s3a://<bucket>/file.csv’ OPTIONS=(‘DELIMITER’ = ‘|’, ‘HEADER’ = ‘TRUE’,’SCHEMA’=’col1 INT4 NOT NULL, col2 VARCHAR(20) NOT NULL’); 

2. Definieren Sie eine externe Tabelle für eine CSV-Datenquelle, die sich in Amazon S3 befindet. Die CSV-Daten haben keine Kopfzeile

CREATE EXTERNAL TABLE nation_s3 ( n_nationkey INTEGER NOT NULL, n_name CHAR(25) NOT NULL, n_regionkey INTEGER NOT NULL ) USING SPARK WITH REFERENCE=’s3a://<bucket>/nation.csv’,FORMAT=’csv’, OPTIONS=(‘HEADER’=’FALSE’,’DELIMITER’=’|’,’SCHEMA’=’n_nationkey INT NOT NULL, n_name STRING NOT NULL, n_regionkey INT NOT NULL); 

3. Definieren Sie eine externe Tabelle für eine ORC-Datenquelle von Azure:

CREATE EXTERNAL TABLE my_table_orc(a INT8 NOT NULL) USING SPARK WITH REFERENCE='abfs://[email protected]/my_table.orc';

4. Definieren Sie eine externe Tabelle für eine AVRO-Datenquelle von Azure:

CREATE EXTERNAL TABLE tweets (username VARCHAR(20), tweet VARCHAR(100), timestamp VARCHAR(50)) USING SPARK WITH REFERENCE='abfs://[email protected]/twitter.avro.', FORMAT='com.databricks.spark.avro'

5. Definieren Sie eine externe Tabelle für eine JSON-Datenquelle unter Verwendung der folgenden JSON-Datei:

[{  “symbol”: “MSFT”, “company”: “Microsoft Corporation”, “stock_tstamp”: “2020-01-31T21:00:00+00:00”, “price”: 170.777, “volume”: 36142690, “sector”: “TECH” }, {     “symbol”: “AAPL”, “company”: “Apple Inc.”, “stock_tstamp”: “2020-01-31T21:00:00+00:00”, “price”: 309.51, “volume”: 49897096, “sector”: “TECH” },  {     “symbol”: “GOOG”, “company”: “Alphabet Inc.”, “stock_tstamp”: “2020-01-31T21:00:00+00:00”, “price”: 1434.23, “volume”: 2417214, “sector”: “TECH”  }, { “symbol”: “AMZN”, “company”: “Amazon.com, Inc.”, “stock_tstamp”: “2020-01-31T21:00:00+00:00”, “price”: 2008.72, “volume”: 15567283, “sector”: “TECH”}] 

Beispiel-SQL, um eine externe Tabelle zu erstellen, die auf diese JSON-Datei verweist, die in einer Azure ADL gespeichert ist:

CREATE EXTERNAL TABLE techstocks ( symbol VARCHAR(4), company VARCHAR(20), stock_tstamp TIMESTAMP, price FLOAT, volume INTEGER, sector CHAR(5) ) UNTER VERWENDUNG VON SPARK MIT REFERENCE='abfs://[email protected]/tech1.json', FORMAT='json', OPTIONS=( 'multiline'='true', 'SCHEMA'= 'symbol string, company string, stock_tstamp string, price double, volume integer, sector

Definieren Sie eine externe Tabelle für eine CSV-Datenquelle in Google Cloud Storage. Die CSV-Daten haben keine Kopfzeile:

CREATE EXTERNAL TABLE stations ( n_stationkey INTEGER NOT NULL, n_stationname CHAR(25) NOT NULL, n_locationkey INTEGER NOT NULL ) USING SPARK WITH REFERENCE=’gs://<path>/stations.csv’,FORMAT=’csv’, OPTIONS=(‘HEADER’=’FALSE’,’DELIMITER’=’|’,’SCHEMA’=’n_stationkey INT NOT NULL, n_stationname STRING NOT NULL 

Daten-Lake & Data Warehouse Anwendungsfälle

Sind Sie noch unsicher, ob Daten-Lake oder Datenlager Software für Ihr Unternehmen besser geeignet ist? Sind Sie nicht überzeugt, dass Sie eine von beiden brauchen? Hier finden Sie einige branchenspezifische Anwendungsfälle, die Ihnen zeigen, wie Unternehmen auf der ganzen Welt diese Lösungen einsetzen, um ihre professionellen Arbeitsabläufe zu rationalisieren.

Daten-Lake Use Cases

  1. Einzelhandelsfachleute können Kaufdaten, Informationen über Produkte, die in den Einkaufswagen gelegt und nicht gekauft wurden, sowie das Surfverhalten speichern. Sie können auch die Verarbeitung natürlicher Sprache NLP) nutzen, um Unternehmensfeedback zu speichern, ohne Umfragen zu versenden.
  2. Mitglieder des Gesundheitswesens, wie Ihr Arzt, können verschiedene Arten von IoT von mehreren Gesundheitsüberwachungsgeräten erfassen und sie in ihren nativen Formaten zur späteren Analyse speichern.
  3. Wenn Sie in der Bank- oder Finanzbranche tätig sind , können Sie Daten wie Währungsaufzeichnungen und Transaktionshistorien von Kunden weltweit an einem zentralen Ort mit hoher Kapazität sammeln.
  4. Optimierungen in der Transportbranche stützen sich auf viele Arten komplexer Daten, die manchmal landesweit gesammelt werden, und Data Warehouses können die beste Lösung für die Speicherung der riesigen Datenmengen sein, die analysiert werden müssen.
  5. Viele Hersteller müssen die Materialbeschaffung koordinieren, Produktionslinien verwalten, die Versandlogistik planen und vieles mehr. In Data Lakes können Daten aus all diesen Unternehmensbereichen - unabhängig davon, ob sie sich außerhalb des Unternehmens befinden - an einem leicht zugänglichen Ort gespeichert werden.

Data Warehouse Anwendungsfälle

  1. Einzelhändler können die Kaufdaten ihrer Kunden in Datenlagers analysieren, um Einblicke in das Kaufverhalten und andere Vorlieben der Kunden zu erhalten, um das Einkaufserlebnis zu verbessern, Remarketing zu betreiben und individuelle Kampagnen zu entwickeln.
  2. Nachdem verschiedene Datenformate von IoT im Daten-Lakegespeichert wurden, können sie in einem Data-Warehouse. Anschließend können sie an Ärzte weitergeleitet werden, wodurch diese einen umfassenderen Überblick über den aktuellen Gesundheitszustand erhalten und gezieltere Behandlungsempfehlungen aussprechen können. 
  3. Sobald die Finanzdaten von Einzelpersonen erfasst sind, können die Banken sie in einem Datenlageranalysieren, um die Kreditwürdigkeit einer Person zu beurteilen, Überziehungsgebühren zu berechnen oder Kreditkartenlimits zu empfehlen - alles auf der Grundlage persönlicher Kaufgewohnheiten, die durch harte Daten gestützt werden.
  4. Durchlaufen von Verkehrs- oder Flugdaten durch ein Datenlager können die Daten für eine prädiktive Analyse optimiert werden, was für die Optimierung von Routen und Fahrplänen in der Transportbranche entscheidend sein kann.
  5. Da der Betrieb eines Fertigungsunternehmens so viele verschiedene Aspekte umfasst, kann es schwierig sein, den Überblick zu behalten und Optimierungsmaßnahmen zu ergreifen. Die Auswertung der Daten über ein Data Warehouse kann Führungskräften helfen, einen Überblick darüber zu gewinnen, wie effektiv die einzelnen Teile des Fertigungs- und Versandprozesses funktionieren, und Einblicke in Bereiche zu gewinnen, in denen Verbesserungsbedarf besteht. 

Wichtigste Erkenntnisse

Data Lakes vs. Data Warehouses