Dieser Blog behandelt ganzheitlich:
(a) Was Data Warehousing ist
(b) Datenmodellierungsansätze für Data Warehouse
(c) Data Warehouse auf AWS und zuletzt
(d) Data Warehousing zur Reduzierung der Betriebslast mithilfe von Managed Service.
Lassen Sie uns aus der Perspektive eines Laien verstehen , was ein Data Warehouse ist .
Laut Wikipedia ist ein Data Warehouse (DW oder DWH), auch Enterprise Data Warehouse (EDW) genannt, ein System zur Berichterstellung und Datenanalyse und gilt als Kernbestandteil der Business Intelligence . Data Warehouses sind zentrale Repositorys integrierter Daten aus einer oder mehreren unterschiedlichen Quellen. Sie speichern aktuelle und historische Daten an einem einzigen Ort, der zur Erstellung von Analyseberichten für Mitarbeiter im gesamten Unternehmen verwendet wird. Dies ist für Unternehmen von Vorteil, da es ihnen ermöglicht, ihre Daten abzufragen, daraus Erkenntnisse zu ziehen und Entscheidungen zu treffen.
Im Grunde handelt es sich dabei um die Kunst, Erkenntnisse zu sammeln, zu speichern und effizient bereitzustellen (Business Intelligence), um einem Unternehmen dabei zu helfen, eine datengesteuerte Organisation zu werden. In gewisser Weise handelt es sich um eine weitere Transaktionsdatenbank, die jedoch für analytische Arbeitslasten optimiert ist.
Gemäß dem obigen Diagramm werden Daten von der Quelle gesammelt, je nach Nutzung umgewandelt (ETL/ELT) und in DWH/Data Mart gespeichert und Erkenntnisse über Business-Intelligence-Tools bereitgestellt.
In den Tagen der On-Prem-Einrichtung sah alles einfach aus, als ELT (ETL vs. ELT), Cloud DWH (AWS Redshift, Google Big Query, Snowflake, Databricks) und andere Managed-Data-Lösungen noch nicht existierten, was in letzter Zeit vereinfacht und skaliert wurde die Reichweite von DWH. Lassen Sie uns in diesem Blog jeden Aspekt einzeln verstehen.
Der Einfachheit halber gehen wir davon aus, dass es keine unbegrenzte Rechen- und Speicherkapazität gibt und dass das Transaktionssystem analytische Abfragen nicht effizient verarbeiten kann. Hier war ein effizienter Weg erforderlich, um ein Data Warehouse zu entwerfen, das eine optimale Speicherung bietet, analytische Abfragen (Slicing/Dicing/Cube usw.) effizient verarbeitet und die erforderliche Latenz bietet.
Für all dies kamen zwei theoretische Designmodelle für das Datawarehouse-Design ins Spiel:
(a) Bill Inmon – Top-Down-Ansatz (EDW) und
(b) Ralph Kimball – Bottom-up-Ansatz (Data Mart).
Inmons Ansatz besteht darin, zentral auf globaler Ebene aufzubauen und langsame Builds zu berücksichtigen, während Kimballs Ansatz darin besteht, einen unabhängigen Datenmart per Silo zu erstellen und ihn später miteinander zu verbinden. Lassen Sie uns nicht darauf eingehen, welches Modell das beste ist oder welches Sie wählen sollten. Kurz gesagt, in meinem Fall funktionieren beide Modelle und es hängt völlig vom Anwendungsfall und der Reife der Organisation ab. Ein weiterer wichtiger Punkt in diesem Entwurf ist die „Datendarstellung“, dimensionale Modellierung mit Sternschema, Schneeflockenschema oder einem Hybrid aus Stern und Schneeflocke, die ein wichtiger Dreh- und Angelpunkt für schnellere Abfragen und Dimensionalität ist.
Die einzige wichtige Erkenntnis ist, dass trotz unendlicher Logistik ein gutes Datawarehouse-Design ein mehrdimensionales Problem lösen kann. Es ist also besser, es nicht zu ignorieren.
Der nächste Schritt beim Aufbau eines DW ist die Plattform Ihrer Wahl, die von On-Premise (Teradata, IBM DB2, Oracle usw.) bis hin zu Cloud-DW (Snowflake, Redshift, BigQuery usw.) reichen kann. Der Aufbau eines herkömmlichen Data Warehouse ist komplex und die laufende Verwaltung und Wartung kann anspruchsvoll und teuer sein. Im nächsten Abschnitt werden wir näher darauf eingehen, wie man mit AWS Redshift baut (kein Argument, ob On-Prem besser ist oder Cloud oder welches Cloud-DWH besser ist).
Amazon Redshift ist ein vollständig verwaltetes Data Warehouse der Enterprise-Klasse im Petabyte-Bereich, das außergewöhnliche Leistung für Analyseabfragen bietet, einfach zu verwenden und kostengünstig ist. Amazon Redshift reduziert den bei herkömmlichen Data Warehouses erforderlichen Betriebsaufwand durch die Automatisierung von Aufgaben wie Patching, Backups und Hardware-Bereitstellung. Sie können einen Amazon-Redshift-Cluster konfigurieren, in dem Sie die Infrastruktur- und Leistungsbasislinien für Ihr Data Warehouse anpassen können. Amazon Redshift bietet außerdem Redshift Spectrum, Datashare, Redshift ML und Serverless-Setup, mit dem Sie Amazon Redshift-Cluster über DWH hinaus verwenden können.
Der Weg zum Setup,
Bisher ist es sinnvoll, Cloud DWH zu verwenden, aber wie passt dies in das Gesamtschema der DWH + Data Lake/Managed Services for Data-Lösung ? Das Bild unten erklärt, wie Data Lakes und Data Warehouses nahtlos zusammenarbeiten. AWS RDS dient als Datenquelle und bietet eine kostengünstige und dauerhafte Lösung, die in Amazon S3 eingespeist wird. Die Daten werden dann mithilfe von ETL-Prozessen transformiert und in Redshift integriert. Zusätzliche AWS-Services wie Athena, Glue, Spectrum, Lake Formation und andere spielen eine entscheidende Rolle bei der Überbrückung der Lücke zur Schaffung einer umfassenden Datenlösung.
Abschließend behandelt dieser Blog die Grundlagen des Data Warehousing und befasst sich sowohl theoretisch als auch mit einem Fokus auf den Tech-Stack auf den Implementierungsansatz. Wir erhalten auch einen Überblick darüber, wie es sich nahtlos in die breitere Landschaft der Datenlösungen einfügt.