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.
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.
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:
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:
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.
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, eine Sicht oder ein Dataset 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 ein unterstütztes relationales Datenbankmanagementsystem oder ein Cloud-Data-Warehouse 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.
Wenn webbasierter Zugriff erforderlich ist, kann dieser Abfrage-Layer in einem dynamischen Karten-Service auf einer ArcGIS GIS Server-Site veröffentlicht werden, wodurch alle Symbolisierungen oder Definitionen aus der ArcGIS Pro-Karte in die Service-Konfiguration übernommen werden. Jetzt wird jedoch bei jeder Benutzeranforderung eine aktualisierte SQL-Abfrage von ArcGIS Server an das Data Warehouse ausgelöst.
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 (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 Antwortzeit von fünf Minuten führen kann, um alle angeforderten Zeilen zurückzugeben (und anzuzeigen).
Nachdem ein Data-Warehouse-gestützter Abfrage-Layer in ArcGIS Enterprise veröffentlicht wurde, kann ArcGIS für bestimmte Anbieter eine zusätzliche Performance-Optimierung implementieren. Mit Cloud Data Warehouses hat ArcGIS zusätzliche Logik eingeführt, um die effiziente Verarbeitung von Abfragen und die Nutzung von Rechenressourcen zu unterstützen, insbesondere für AWS Redshift-, Google BigQuery- und Snowflake-Datenbanken, die auf der Grundlage des gesamten Rechenverbrauchs Kosten verursachen können. Während der Veröffentlichung kann ArcGIS (optional) automatisch eine materialisierte Sicht im Quell-Data Warehouse erstellen, wodurch die Performance verbessert und ein Teil der Gesamtkosten für Abfragen eingespart werden kann. Eine weitere Option ist der “Snapshot”-Modus, bei dem eine Kopie der Daten während der Veröffentlichung in den ArcGIS Data Store verschoben und dann regelmäßig nach einem vom Publisher festgelegten Zeitplan auf dem neuesten Stand gehalten wird. Dadurch verfügt das GIS-System immer über aktuelle Ergebnisse, während relativ langsame Abfragen nicht kontinuierlich an das Quell-Data Warehouse gesendet werden.
Es gibt auch andere Methoden für die Integration in Data Warehouses, die jedoch weniger verbreitet sind, darunter: