Wie kann man sehr große Daten kostengünstig und schnell verschieben, exportieren und integrieren? Was ist Pushdown-Optimierung?

Jede Bearbeitung von Big Data erfordert immense Rechenleistung. Das gewöhnliche Verschieben von Daten aus einer Datenbank nach Hadoop kann Wochen dauern oder so viel kosten wie ein Flugzeugflügel. Möchten Sie nicht warten und Geld ausgeben? Verteilen Sie die Last auf verschiedene Plattformen. Eine Methode dazu ist die Pushdown-Optimierung.

Ich habe den führenden Trainer für Informatica-Produktentwicklung und -administration in Russland, Alexej Ananew, gebeten, die Pushdown-Optimierungsfunktion in Informatica Big Data Management (BDM) vorzustellen. Haben Sie einmal gelernt, wie man mit Informatica-Produkten arbeitet? Höchstwahrscheinlich hat Alexej Ihnen die Grundlagen von PowerCenter erklärt und wie man Mappings erstellt.

Alexej Ananew, Leiter der Schulungsabteilung DIS Group

Was ist Pushdown?

Viele von Ihnen sind bereits mit Informatica Big Data Management (BDM) vertraut. Das Produkt kann große Daten aus verschiedenen Quellen integrieren, sie zwischen verschiedenen Systemen verschieben, einen einfachen Zugang zu ihnen ermöglichen, deren Profilierung und vieles mehr.
In den richtigen Händen kann BDM Wunder bewirken: Aufgaben werden schnell und mit minimalen Rechenressourcen erledigt.

Wollen Sie das auch? Lernen Sie, die Pushdown-Funktion in BDM zu nutzen, um die Rechenlast zwischen verschiedenen Plattformen zu verteilen. Die Pushdown-Technologie ermöglicht es, das Mapping in ein Skript zu verwandeln und die Umgebung auszuwählen, in der dieses Skript ausgeführt wird. Diese Wahlmöglichkeit erlaubt es, die Stärken verschiedener Plattformen zu kombinieren und ihre maximale Leistungsfähigkeit zu erreichen.

Um die Ausführungsumgebung des Skripts einzurichten, müssen Sie den Pushdown-Typ auswählen. Das Skript kann vollständig auf Hadoop ausgeführt oder teilweise zwischen Quelle und Ziel verteilt werden. Es gibt 4 mögliche Pushdown-Typen. Das Mapping kann auf natürlichem Weg (native) ausgeführt werden. Es kann maximal auf der Quelle (source) oder vollständig auf der Quelle (full) ausgeführt werden. Außerdem kann das Mapping in ein Hadoop-Skript (none) umgewandelt werden.

Pushdown-Optimierung

Die vier genannten Typen können auf verschiedene Weise kombiniert werden – der Pushdown kann an die spezifischen Anforderungen des Systems angepasst werden. Oft ist es sinnvoller, Daten direkt aus der Datenbank zu extrahieren und deren eigenen Funktionen zu nutzen. Die Datenumwandlung kann dann mit Hadoop erfolgen, um die Datenbank nicht zu überlasten.

Betrachten wir einen Fall, in dem sowohl die Quelle als auch der Empfänger in der Datenbank sind, während die Plattform für die Transformationen gewählt werden kann: je nach Einstellungen handelt es sich um Informatica, den Datenbankserver oder Hadoop. Dieses Beispiel ermöglicht ein genaueres Verständnis der technischen Seite dieses Mechanismus. Natürlich tritt eine solche Situation in der realen Welt nicht häufig auf, aber sie eignet sich hervorragend zur Demonstration der Funktionalität.

Nehmen wir ein Mapping zum Lesen von zwei Tabellen in einer einzigen Oracle-Datenbank. Die Ergebnisse sollen in einer Tabelle dieser Datenbank geschrieben werden. Das Mapping-Schema wird wie folgt aussehen:

Wie kann man sehr große Daten kostengünstig und schnell verschieben, exportieren und integrieren? Was ist Pushdown-Optimierung?

In Form eines Mappings in Informatica BDM 10.2.1 sieht das so aus:

Wie kann man sehr große Daten kostengünstig und schnell verschieben, exportieren und integrieren? Was ist Pushdown-Optimierung?

Pushdown-Typ – nativ

Wenn wir den Typ Pushdown nativ wählen, wird das Mapping durchgeführt auf Server Informatica. Die Daten werden vom Oracle-Server gelesen, auf den Informatica-Server übertragen, dort transformiert und an Hadoop übermittelt. Mit anderen Worten, wir erhalten einen typischen ETL-Prozess.

Pushdown-Typ – Quelle

Bei der Auswahl des Typen Quelle haben wir die Möglichkeit, unseren Prozess zwischen dem Server durch Datenbanken (DB) und Hadoop zu verteilen. Bei der Ausführung des Prozesses mit dieser Einstellung werden Abfragen zum Abrufen von Daten aus Tabellen an die Datenbank gesendet. Der Rest wird als Schritte auf Hadoop ausgeführt.
Das Ausführungsschema wird wie folgt aussehen:

Wie kann man sehr große Daten kostengünstig und schnell verschieben, exportieren und integrieren? Was ist Pushdown-Optimierung?

Im Folgenden ein Beispiel für die Konfiguration der Ausführungsumgebung.

Wie kann man sehr große Daten kostengünstig und schnell verschieben, exportieren und integrieren? Was ist Pushdown-Optimierung?

In diesem Fall wird das Mapping in zwei Schritten durchgeführt. In den Einstellungen sehen wir, dass es in ein Skript umgewandelt wurde, das an die Quelle gesendet wird. Dabei erfolgt die Verknüpfung der Tabellen und die Datenumwandlung als überarbeitete Abfrage an der Quelle.
Auf dem Bild unten sehen wir ein optimiertes Mapping auf BDM, und an der Quelle eine überarbeitete Abfrage.

Wie kann man sehr große Daten kostengünstig und schnell verschieben, exportieren und integrieren? Was ist Pushdown-Optimierung?

Die Rolle von Hadoop in dieser Konfiguration besteht darin, den Datenfluss zu steuern – ihn zu dirigieren. Das Ergebnis der Abfrage wird an Hadoop gesendet. Nach Abschluss des Lesens wird die Datei aus Hadoop an den Empfänger geschrieben.

Pushdown-Typ – voll

Bei der Auswahl des Typs wird das vollständige Mapping vollständig in eine Datenbankabfrage umgewandelt. Das Ergebnis dieser Abfrage wird an Hadoop gesendet. Der Ablauf dieses Prozesses ist unten dargestellt.

Wie kann man sehr große Daten kostengünstig und schnell verschieben, exportieren und integrieren? Was ist Pushdown-Optimierung?

Ein Beispiel für die Konfiguration ist unten dargestellt.

Wie kann man sehr große Daten kostengünstig und schnell verschieben, exportieren und integrieren? Was ist Pushdown-Optimierung?

Das Ergebnis ist ein optimiertes Mapping, das dem vorherigen ähnlich ist. Der einzige Unterschied besteht darin, dass die gesamte Logik auf den Empfänger in Form einer Überschreibung seiner Einfügung übertragen wird. Ein Beispiel für das optimierte Mapping ist unten dargestellt.

Wie kann man sehr große Daten kostengünstig und schnell verschieben, exportieren und integrieren? Was ist Pushdown-Optimierung?

Hier übernimmt, wie im vorherigen Fall, Hadoop die Rolle des Dirigenten. Allerdings wird hier die Quelle vollständig gelesen, und die Logik der Datenverarbeitung erfolgt dann auf Empfängerebene.

Typ Pushdown – null

Und die letzte Variante ist der Typ Pushdown, innerhalb dessen unser Mapping in ein Script auf Hadoop umgewandelt wird.

Das optimierte Mapping wird jetzt so aussehen:

Wie kann man sehr große Daten kostengünstig und schnell verschieben, exportieren und integrieren? Was ist Pushdown-Optimierung?

Hier werden die Daten aus den Quelldateien zunächst auf Hadoop gelesen. Dann werden diese beiden Dateien mit den Tools von Hadoop zusammengeführt. Danach werden die Daten transformiert und in die Datenbank exportiert.

Durch das Verständnis der Prinzipien der Pushdown-Optimierung lassen sich viele Prozesse im Umgang mit großen Datenbeständen äußerst effizient organisieren. So hat beispielsweise ein großes Unternehmen erst kürzlich in nur wenigen Wochen von einem Speicherort in Hadoop große Daten extrahiert, die zuvor über mehrere Jahre gesammelt wurden.

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster