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?

A data warehouse is a relational database system containing data from multiple sources that is structured for easy analysis and decision support. Think about how inventory in a warehouse is carefully organized and cataloged in a way that makes it easier to find and access.  

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

In short, data warehouses are designed more for the analysis of structured data, and data lakes are designed more for the storage of unstructured data. This means that data warehouses are compatible with data lake integration, so businesses can store and analyze data seamlessly. Using products like the Actian Analytics AI Platform, you can query and write Hadoop data using the external tables feature. The data source must be read- and write-compatible with Apache Spark, like Parquet, ORC, or JSON file formats or tables in external database systems.  

The syntax CREATE EXTERNAL TABLE creates a table in the Actian Analytics AI Platform that points to existing data files in locations outside of the platform. That way, you don’t need to import the data into a new table when the data files are already in a known location in the desired file format. 

After the data file structure is mapped to the Actian Analytics AI Platform format using the CREATE EXTERNAL TABLE statement, you can: 

  • Auswahl, Verknüpfung oder Sortierung externer Tabellendaten.
  • Erstellen Sie Views für externe Tabellen.
  • Einfügen von Daten in externe Tabellen.
  • Import and store the data into an Actian Analytics AI Platform database. 

The data is queried from its original locations, and the Actian Analytics AI Platform leaves the data files in place when you drop the table. 

Actian Analytics AI Platform receives queries operating on external tables from the user or client app and rewrites them into JSON requests for external data. These requests are then translated into Spark jobs, which are launched. These jobs typically issue queries to SparkSQL like “INSERT INTO avalanche_table SELECT * FROM external_resource” for reading external data or “INSERT INTO external_resource SELECT * FROM avalanche_table” for writing to external systems. Finally, these jobs push and pull data in and out of the 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 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 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