Es stimmt, mit Hadoop und einigen Tricks können Sie dasselbe tun, was ein DWH tun kann.
Es macht jedoch keinen Sinn, das Rad neu zu erfinden, damit Hadoop die gleichen Aufgaben eines Data Warehouse auf ineffiziente Weise erledigt. Viele können sagen, Hadoop ist billiger als ein Data Warehouse in Bezug auf Hardware und Software: Es stimmt, es gibt einen großen Unterschied, aber wir müssen die Zeit berücksichtigen, die für die Implementierung eines solchen Systems aufgewendet wird, das Know-how und die erforderlichen Fähigkeiten. die Wartung des Clusters, die Aufrüstung der Dienste und das Risiko, unreife Werkzeuge oder Werkzeuge zu verwenden, die in der Zukunft aufgegeben werden könnten.
Der wirkliche Aspekt, um zwischen Hadoop und einem Data Warehouse zu wählen, ist:
- Art der Arbeitsbelastung (Lesen gegen Schreiben, taktische vs. Bericht usw.)
- Art der Daten (strukturiert oder unstrukturiert)
- Datenintegration (Schema beim Lesen vs. Schema beim Schreiben)
- Abfrage-SLAs (Ausführungszeit, Parallelität usw.)
- Erforderliche Fähigkeiten (Menge an Ressourcen und Know-how für die Implementierung)
- SQL-Compliance (Integration mit Tools)
- Optimierung (Workload-Management, Indizes, Hash-Maps usw.)
- Fälligkeit (Sicherheit, Fehler usw.)
- Typ bei der Analyse (SQL- oder Nicht-SQL-Analyse)
Eine Hybridarchitektur, bei der beide Anwendungsbereiche am besten geeignet sind. Ich kann Ressourcen (CPU, Speicher) aus dem Data Warehouse einsparen, indem historische Daten und die ETL-Verarbeitung auf Hadoop abgeladen werden. Ich kann unstrukturierte Daten analysieren. Gleichzeitig kann ich eine höhere Leistung, Datenintegration und eine hohe Parallelität beim Abfragen des "Hot" haben "Daten, die im Data Warehouse gespeichert sind.
Antwort auf den Kommentar:
Es hängt davon ab, was Sie mit Hadoop tun möchten. Sie können das Data Warehouse direkt füllen, indem Sie Rohdaten in hadoop ablegen, und die ETL für das Laden des Warehouse verwenden.
Es gibt viele Anwendungsfälle im Zusammenhang mit der Integration von Hadoop in ein Data Warehouse, zum Beispiel:
- Data Lake: Alle auf Hadoop gespeicherten Rohdaten. Auf diese Weise können Sie ursprüngliche Rohdaten und Metadaten erfassen, verfeinern und untersuchen und möglicherweise Aggregationen oder ETL ausführen, um ein Datenmodell im Data Warehouse aufzufüllen.
- Historisierung: Sie können Skripts entwickeln, um kalte Daten nach Hadoop zu verlagern (z. B. Transaktionen des letzten Jahres in DWH und ältere Transaktionen in Hadoop). Sie können auf beide Daten über einen Abfrage-Föderator (z. B. Presto) zugreifen, der Ihnen die Möglichkeit gibt, Daten zu verbinden, die sich auf verschiedenen Plattformen befinden (z. B. UNION ALL zwischen dem historischen Teil einer Tabelle auf Hadoop und dem letzten Teil der Daten) Warenhaus)
Wenn Sie Hadoop als Data Lake verwenden möchten, lautet der Datenfluss: Quelle -> HDFS (Bereinigung) -> Data Warehouse
Wenn Sie Hadoop nur für die Historisierung verwenden: Quelle -> Data Warehouse -> HDFS
Abfrageföderatoren wie Presto eröffnen viele Anwendungsfälle und die Möglichkeit, Daten aus verschiedenen Systemen in derselben Abfrage zu verwenden. Dies eröffnet die Chance, kalte Daten auf Hadoop und heiße Daten im Data Warehouse zu haben, oder die Möglichkeit, die "Kerndaten" im Data Warehouse und den Rest auf Hadoop zu haben.