Data Lakes und Data Warehouses

Viele Organisationen haben in den letzten Jahren Strategien zur Datenkonsolidierung oder -transformation entwickelt oder widmen sich bereits aktiv einer solchen Aktivität. Diese Strategien werden oft von sich überschneidenden Prioritäten angetrieben, einschließlich der Notwendigkeit, siloartige Datensysteme aufzubrechen, integrierte, schnelle Dataset-übergreifende Analysen zu ermöglichen und bei wachsendem Datenvolumen und zunehmender Komplexität effektiv in großem Maßstab zu arbeiten.

Zwei Kategorien von Technologien werden oft in Kombination implementiert, um diese Transformation zu unterstützen – die Data-Lake-Technologie und die Data-Warehouse-Technologie, die manchmal zusammen verwendet werden. Die Technologien von Data Lakes und Data Warehouses werden oft miteinander verschmolzen und möglicherweise in informellen Diskussionen synonym verwendet, aber sowohl auf der konzeptionellen Ebene als auch auf der Implementierungsebene dienen sie unterschiedlichen Zwecken und haben unterschiedliche Rollen in einem Unternehmensinformationssystem. Auf dieser Seite wird versucht, diese Technologien auf allgemeiner, hersteller- und produktunabhängiger Ebene zu beschreiben und den strategischen Ansatz von Esri für die Arbeit mit diesen Technologien aus der Perspektive des ArcGIS-Systems zu erläutern.

Integrationsmuster in ArcGIS

ArcGIS Online unterstützt Verbindungen zu Data Warehouses über Eingabe-Konnektoren für ArcGIS Data Pipelines. Benutzer von ArcGIS Enterprise können über Abfrage-Layer, die über ArcGIS Pro veröffentlicht sind, eine Verbindung zu Data Warehouses herstellen. Benutzer von ArcGIS Pro können eine Verbindung zu unterstützten Data Warehouses als Abfrage-Layer herstellen sowie Services nutzen, die über ArcGIS Enterprise veröffentlicht sind. Die Erweiterung “ArcGIS Data Interoperability” für ArcGIS Pro umfasst zudem Lese- und Schreibmodule, die mit Data-Warehouse-Systemen verwendet werden können.

ArcGIS Online unterstützt Verbindungen zu Data Lakes, die von unterstützten Objektspeicheranbietern bereitgestellt werden, und ermöglicht die Arbeit mit gängigen Data-Lake-Datenformaten wie Parquet. Data Pipelines unterstützt keine Batch-Analyse-Abfragen in Data Lakes. ArcGIS Data Pipelines für ArcGIS Enterprise bietet ähnliche Funktionen, und ArcGIS Enterprise unterstützt zudem die Veröffentlichung von Image-Services, die auf in einem Data-Lake-System gespeicherte Datasets verweisen. ArcGIS Pro unterstützt die Anbindung an Data Lakes über Multifile-Feature-Verbindungen zu Ordnerspeichern sowie über Cloud-Verbindungsdateien, mit denen eine Verbindung zu Data Lakes hergestellt werden kann, um auf Rasterbilddaten zuzugreifen oder Ergebnisse von Rasteranalysen im CRF-Format zu speichern.

Funktion ArcGIS Online ArcGIS Enterprise ArcGIS Location Platform ArcGIS Pro
Data-Warehouse-Konnektivität N. z.
Data-Lake-Konnektivität N. z.

Volle Unterstützung Teilunterstützung


Data Lakes

Data Lakes können sich in Definition und Aufbau stark unterscheiden, aber im Allgemeinen ist ein Data Lake ein zentrales Repository für einzelne Datenelemente (Dateien) verschiedener Typen, die in einem großen skalierbaren Speichersystem gespeichert sind, das die Indizierung, Katalogisierung und Ausführung von Analysen für diese Dateien ermöglicht. Daten können strukturiert oder unstrukturiert sein, in verschiedenen Dateiformaten gespeichert und entsprechend den eingehenden Datenströmen oder anderen Systemen, die diese Daten erstellen, organisiert werden. Anschließend werden die Daten mithilfe von Werkzeugen und Funktionen, die der Data-Lake-Anbieter über Software zur Verfügung stellt, abgerufen, visualisiert und analysiert.

Beispielsweise kann eine Organisation einen Data Lake verwenden, um Tausende von CSV-Dateien zu speichern, die einzelne stündliche Tracks von Fahrzeugposition, -geschwindigkeit und -richtung darstellen. Data-Lake-Software unterstützt möglicherweise die Ausführung von Batch-Analysen für diese Tausenden von Dateien, um Szenarios zu extrahieren, in denen die Geschwindigkeit einen bestimmten Wert überschreitet, oder um Trends an Positionen zu erkennen, an denen häufige Stopps auftreten. Herkömmliche Datensysteme würden erfordern, diese vielen Dateien in einem Dataset zusammenzuführen, auf das dann zugegriffen werden kann. Ein Data Lake ermöglicht es jedoch, diese Abfrage- und Analysefunktionen in großem Umfang über den riesigen Datenpool hinweg zu verwenden. Im selben Data Lake kann dieselbe Organisation ein anderes Datenformat speichern, das Kundenprofile und Verkaufsdaten basierend auf einem dateibasierten Archivformat zusammenfasst, sodass frühere Aktivitäten mit der Live-Transaktionsdatenbank aktiver Bestellungen oder Kunden korreliert werden können.

Arbeiten mit Data Lakes in ArcGIS

Der Zugriff auf Data Lakes erfolgt in erster Linie über ArcGIS als Datenquelle für analytische Fragen, wobei die Ergebnisse dann auf einer räumlichen oder kartenbasierten Benutzeroberfläche angezeigt werden. Da diese Speichersysteme in der Regel sehr große Datensammlungen in ähnlich strukturierten Dateien enthalten, handelt es sich bei den Prozessen, die mit diesen Daten arbeiten, häufig um das Zusammenfassen des Inhalts vor dem Ausführen einer räumlichen Analyse oder dem Vergleichen dieser Datasets mit anderen räumlichen oder nichträumlichen Layern, um eine bestimmte analytische Frage zu beantworten. Im Allgemeinen sind diese Analysen verarbeitungsintensiv, sodass der Workflow in der Regel mehrere Schritte umfasst:

  1. Sorgfältiges Entwerfen oder Definieren der analytischen Fragestellung, häufig unter Verwendung einer Teilmenge der Daten oder einer einzelnen Beispieldatei oder eines Datasets. Optimieren Sie die Analyse so weit wie möglich, wenn sie für einen sehr großen Daten-Layer ausgeführt wird, und reduzieren Sie die Ausgabespalten und -daten so weit wie möglich, um die Effizienz zu steigern.

  2. Ausführen der Analysen über eine Schnittstelle, die vom Data Lake oder von einem externen Verarbeitungssystem wie Apache Spark bereitgestellt wird. Die Ergebnisse werden häufig an einen In-Memory-Datenrahmen oder ein Dataset innerhalb dieser Schnittstelle zurückgegeben.

  3. Anzeigen der zusammengefassten Ergebnisse der Analyse in tabellarischer Form oder einem räumlichen Layer, um die Antworten auf die analytische Frage zu überprüfen. Optional können Sie die Ergebnisse in einem anderen Format oder Repository speichern, indem Sie eine CSV-Datei veröffentlichen, einen in ArcGIS gehosteten Feature-Layer erstellen oder die Ergebnisse an eine andere API oder ein anderes System übertragen.

Data Lakes können auch als Repository für Bilddaten-Datasets oder Raster-Dateien, auf die über eine Cloud-Verbindungsdatei aus ArcGIS Pro zugegriffen wird, oder als Teil eines Mosaik-Datasets verwendet werden. Data-Lake-Bilddaten können einem Mosaik-Dataset hinzugefügt und zum Veröffentlichen eines Image-Service verwendet werden, als Quelle für Analysen, die mit Raster-Analysen ausgeführt, in ArcGIS Pro angezeigt und für Geoverarbeitungs-, Analyse- oder Rendering-Workflows verwendet werden.

Beispiele für Data-Lake-Workflows mit ArcGIS:

  • Führen Sie eine Hot-Spot-Analyse für Tausende von CSV-Dateien aus, die Vogelstandorte enthalten, die über einen Zeitraum von mehreren Jahren mit ArcGIS GeoAnalytics Engine oder ArcGIS GeoAnalytics in ArcGIS Pro erfasst wurden.

  • Als Umweltwissenschaftler können Sie ArcGIS Python API verwenden, um Zeiten und Orte mit hohen Ozonwerten im Land in einem Dataset mit Millionen von Messwerten aus statischen Sensoren zu identifizieren, indem Sie Werkzeuge wie “Ereignisse ermitteln” und “Raum-Zeit-Würfel erstellen” verwenden.

Data Warehouses

Data Warehouses sind eine weitere Art von Speichersystemen, die sich in Design, Definition und Aufbau unterscheiden können. Generell ähnelt ein Data Warehouse am ehesten einem relationalen Datenbankmanagementsystem, das die Speicherung großer, strukturierter Datensätze mit Dataset-übergreifenden Abfrage-, Analyse- und Zusammenfassungsfunktionen ermöglicht. Ein Data Warehouse unterscheidet sich von einem herkömmlichen relationalen Datenbanksystem im Allgemeinen durch den Umfang der Daten, die es unterstützen kann, die Art und Vielfalt der durchzuführenden Analysen und die Geschwindigkeit, mit der diese Prozesse abgeschlossen werden können.

Data Warehouses werden häufig auch in einer Cloud-nativen Konfiguration erstellt oder in einem Software-as-a-Service-Modell bereitgestellt, bei dem Clients eine Verbindung mit einem System herstellen, das von dem Unternehmen verwaltet wird, das die Data-Warehouse-Technologie entwickelt. Dabei werden Rechenkapazität und Speicher verwendet, die ebenfalls von diesem Anbieter gehostet und verwaltet werden. Eine weitere häufige Komponente von Data Warehousing ist die Verwendung von nicht relationalen Datenmodellen, wie z. B. einem Sternmodell, einem dimensionierten Datenmodell oder anderen ähnlichen Konzepten.

Arbeiten mit Data Warehouses in ArcGIS

Das Arbeiten mit Data Warehouses aus ArcGIS kann verschiedene Formen annehmen. Das gängigste Muster beginnt mit einer Verbindung von ArcGIS Pro mit dem Data Warehouse, um eine Abfrage für eine Tabelle oder eine Sicht auszuführen. Dazu wird ein Abfrage-Layer erstellt, bei dem es sich um einen Layer-Typ in ArcGIS Pro handelt, der benutzerdefiniertes SQL für eine unterstützte Datenbank ausführen kann. Eine Liste der unterstützten Datenbanken und Cloud Data Warehouses finden Sie in der ArcGIS Pro-Dokumentation.

Der Abfrage-Layer gibt Ergebnisse aus der Datenbank als Tabelle zurück, die auf der Karte angezeigt werden kann, wenn sie eine räumliche Spalte enthält, die von ArcGIS erkannt wird, und dann für die Visualisierung, als Eingabe für eine Analyse oder als Eingabe für die Erstellung einer kartografischen Karte verwendet werden kann. Bei diesem Layer handelt es sich um eine Live-Verbindung mit dem Warehouse, sodass bei jeder Änderung der Kartenausdehnung eine neue Abfrage gesendet wird, die verschiedene neue Zeilen zurückgibt, die möglicherweise aktualisierte Quelldaten, eine aktualisierte Berechnung oder einfach eine neue räumliche Ausdehnung widerspiegeln.

Falls ein webbasierter Zugriff erforderlich ist, kann dieser Abfrage-Layer als dynamischer Kartenservice für ArcGIS Enterprise veröffentlicht werden. Dieser Service übernimmt alle Symbolisierungen und Definitionen aus der ArcGIS Pro-Karte in die Service-Konfiguration. Jede Benutzeranforderung löst eine aktualisierte SQL-Abfrage von ArcGIS Enterprise an das Data Warehouse aus. Auf Kartenservices kann auch als Feature-Layer für die Visualisierung und Abfrage auf der Client-Seite zugegriffen werden.

Data Warehouses sind für große, analytische oder zusammenfassende Abfragen optimiert und ermöglichen es Dateneigentümern, Fragen wie “Wie hoch war die durchschnittliche Kaufgröße in verschiedenen Produktkategorien bei mehreren Millionen Transaktionen in unseren Filialen in den letzten 24 Stunden?” zu beantworten. Eine Abfrage wie diese wird im Allgemeinen regelmäßig ausgeführt, wobei die Ergebnisse verwendet werden, um ein Dashboard, eine Datenzusammenfassung oder ein Diagramm zu unterstützen, bis sie später nach einem regelmäßigen Zeitplan aktualisiert werden. Data Warehouses können auch für iterative explorative Analysen durch einen Datenanalysten oder Data Scientist verwendet werden, in der Regel zum Definieren und Wiederverwenden einer zusammenfassenden Statistik oder eines Berichts.

Aus diesem Grund sollten Abfrage-Layer in ArcGIS, die mit Data Warehouses verbunden sind, in den meisten Fällen die Ergebnisse einer solchen Analyse und nicht bestimmte Transaktionszeilen, wie z. B. eine Liste aller Millionen Transaktionen im Zeitraum von 24 Stunden, abfragen. Data Warehouses können zwar funktional Zeile für Zeile abgefragt werden, sind aber nicht für diese Art von Transaktionsinteraktion optimiert. Daher können sie zu frustrierenden Erfahrungen führen, z. B. beim Versuch, eine Million Zeilen abzufragen, um sie auf einer Karte anzuzeigen, was zu einer langen Antwortzeit führen kann, um alle angeforderten Zeilen zurückzugeben und anzuzeigen.

Abfrage-Layer können weiter optimiert werden, indem die Anzahl der Abfragen, die direkt auf die Daten angewendet werden, reduziert wird. Weniger Abfragen können Ihre Cloud-Data-Warehouse-Kosten senken, da diese Services in der Regel auf der Grundlage der genutzten Rechenressourcen abgerechnet werden. Bei der Veröffentlichung von Layern aus Daten in Cloud-Data-Warehouses kann ArcGIS optional eine materialisierte Sicht erstellen. Die materialisierte Sicht kann nach der Aktualisierung der zugrunde liegenden Daten aktualisiert werden, um diese Änderungen in die Sicht zu übernehmen. Durch die Verwendung von materialisierten Sichten fallen die Rechenkosten für das Cloud-Data-Warehouse nur bei der Aktualisierung der Sicht an, nicht jedoch bei jedem Zugriff auf die Daten. Die Verwendung vorberechneter materialisierter Sichten ist in der Regel auch schneller als die direkte Ausführung einer Abfrage gegen die Daten. Materialisierte Sichten sind besonders nützlich für Datasets, die nur selten aktualisiert werden, sowie für komplexe Abfragen, die erhebliche Rechenressourcen erfordern.

Eine weitere Strategie zur Verringerung der Anzahl der Abfragen beim Cloud-Data-Warehouse besteht darin, bei der Veröffentlichung eines Layers eine Kopie der Daten zu erstellen. Ein Snapshot kopiert die Abfrageergebnisse aus dem Cloud-Data-Warehouse in ArcGIS Enterprise. Der Layer greift auf diese Kopie zurück, anstatt das Cloud-Data-Warehouse abzufragen, was in der Regel die Performance des Layers verbessert. Snapshots werden nicht automatisch aktualisiert, wenn die zugrunde liegenden Daten aktualisiert werden. In ArcGIS Enterprise können Sie den Snapshot nach Bedarf aktualisieren oder eine Aktualisierung in bestimmten Zeitabständen planen.

Es gibt auch andere Methoden für die Integration in Data Warehouses, die jedoch weniger verbreitet sind, darunter:

  • Integrationen im ETL-Stil, bei denen die Ergebnisse einer Data-Warehouse-Abfrage oder -Sicht regelmäßig in ArcGIS kopiert werden. Diese Integrationen können diese Aufgaben mithilfe von ArcGIS Data Pipelines, den ArcGIS-Python-Bibliotheken, ArcGIS Notebooks oder der Erweiterung “ArcGIS Data Interoperability” ausführen. Ein Vorteil von ETL-basierten Integrationen besteht darin, dass Sie damit Daten aus Data Warehouses als gehosteten Feature-Layer oder Tabelle in ArcGIS Online importieren können.

  • Integrationen im API-Stil, bei denen eine ArcGIS-Webanwendung oder Client-Anwendung ein Data Warehouse abfragen kann, um Ergebnisse oder Werte zurückzugeben. Dies ist möglicherweise mit ArcGIS Maps SDKs möglich, bei denen aus den Ergebnissen ein clientseitiger Feature-Layer oder Grafik-Layer erstellt werden kann. Mithilfe des ArcGIS Enterprise SDK lässt sich auch ein benutzerdefinierter Daten-Feed für Feature-Services erstellen.

In beiden Szenarien müssen Authentifizierung, die Häufigkeit von Datenaktualisierungen und Zugriffssteuerungen als relevante Themen diskutiert und als Anforderungen berücksichtigt werden.

Top