Uncategorized

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 ihrer Kombinationsmöglichkeiten hilft Ihnen bei der Entscheidung, welche Lösungen Sie Ihrer Datenplattform hinzufügen und Ihr übergeordnetes data governance Framework unterstützen sollen. Lassen Sie uns eintauchen!

Was ist ein Daten-Lake?

ADaten-Lake ist ein Lager , in dem sich große Mengen strukturierter, unstrukturierter und halbstrukturierter Daten in ihrem nativen Format ansammeln, einschließlich Flat Files, 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?

ADatenlager ist ein relationales Datenbanksystem, das Daten aus verschiedenen Quellen enthält, die so strukturiert sind, dass sie eine einfache Analyse und Entscheidungshilfe bieten. Stellen Sie sich vor, dass das Inventar in einem Lagerhaus sorgfältig organisiert und katalogisiert wird, so dass es leichter zu finden und zugänglich ist.

Ein Data Warehouse dient dazu, aufbereitete Daten für Business Intelligence (BI)-Dashboards, Visualisierung, künstliche Intelligenz (KI) und Maschinelles Lernen (ML) zur Verfügung zu stellen. Im Gegensatz zu einem Daten-Lake ist eine Data-Warehouse-Architektur jedoch nicht so effektiv bei der 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, kann die Entscheidung für ein Data Warehouse von Ihren aktuellen Datensystemen, Ihrer Architektur und Ihren Funktionen abhängen.

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 auchschnellere Datendistribution an die Datenverantwortlichen in Ihrem Unternehmen. Stakeholder, die auf Ihre Daten angewiesen sind, müssen nicht darauf warten, dass jemand die Daten in einem ausgefeilten Bericht zusammenstellt, 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 Ihres Geschäftsbedarfs zu skalieren, anstatt den 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 und gut, Datenlagers sind eher für die Analyse von strukturierten Daten und Daten-Lakes sind eher für dieSpeicherung von unstrukturierten Daten. Dies bedeutet, dass Daten-Lakes kompatibel sind mitDaten-Lake Integrationkompatibel, so dass Unternehmen Daten nahtlos speichern und analysieren können. Mit Produkten wie der Actian Daten-Plattform, können Sie Anfrage und SchreibenHadoop-Daten mithilfe der Funktion für externe Tabellen. Die Datenquelle muss mit Apache Spark lese- und schreibkompatibel sein, wie Parquet, ORC- oder JSON-Dateiformate oder Tabellen in externen Datenbanksystemen.

Die Syntax CREATE EXTERNAL TABLE erstellt eine Tabelle in der Actian Data Platform, die auf bestehende Datendateien an Orten 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 Ort im gewünschten Dateiformat befinden.

Nachdem die Struktur der Datendatei mit Hilfe der CREATE EXTERNAL TABLE-Anweisung auf das Actian Data Platform-Format abgebildet wurde, können Sie:

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

Die Daten werden an ihren ursprünglichen Speicherorten abgefragt, und die Actian Data Platform lässt die Datendateien an ihrem Platz, wenn Sie die Tabelle löschen.

Die Actian Data Platform empfängt Abfragen auf externe Tabellen vom Nutzer oder der Client-App und schreibt sie in JSON-Anfragen für externe Daten um. Diese Anfragen werden dann in Spark-Jobs übersetzt, die gestartet werden. Diese Jobs stellen typischerweise Abfragen an SparkSQL wie "INSERT INTO avalanche_table SELECT * FROM external_resource" zum Lesen externer Daten oder "INSERT INTO external_resource SELECT * FROM avalanche_table" zum Schreiben in externe Systeme. Schließlich schieben und ziehen diese Aufträge Daten in und aus der Actian Data Platform.

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 Anfrage 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://loadtest@avalanchetest.dfs.core.windows.net/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://loadtest@avalanchetest.dfs.core.windows.net/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://stockquotes@eastusstockdata.dfs.core.windows.net/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 in Daten-Lakes gespeichert sind, können sie organisiert und in Daten-Lagers. Anschließend können sie an Ärzte weitergegeben werden, um ihnen ein umfassenderes Bild des aktuellen Zustands zu vermitteln und genauere Behandlungsempfehlungen zu geben.
  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. Bei so vielen beweglichen Teilen, die am Betrieb eines Fertigungsunternehmens beteiligt sind, kann es schwierig sein, das Gesamtbild zu überblicken, um Optimierungen vorzunehmen. Das Durchlaufen von Daten durch ein Datenlager kann Managern dabei helfen, einen Überblick über die Effektivität der einzelnen Teile des Herstellungs- und Versandprozesses zu gewinnen und Einblicke in verbesserungsbedürftige Bereiche zu erhalten.

Wichtigste Erkenntnisse

Data Lakes vs. Data Warehouses