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

Jeder Big-Data-Vorgang erfordert viel Rechenleistung. Ein typischer Datentransfer von einer Datenbank zu Hadoop kann Wochen dauern oder so viel kosten wie ein Flugzeugflügel. Sie möchten nicht warten und Geld ausgeben? Verteilen Sie die Last auf verschiedene Plattformen. Eine Möglichkeit ist die Pushdown-Optimierung.

Ich habe Russlands führenden Trainer für die Entwicklung und Verwaltung von Informatica-Produkten, Alexey Ananyev, gebeten, über die Pushdown-Optimierungsfunktion im Informatica Big Data Management (BDM) zu sprechen. Haben Sie schon einmal gelernt, mit Informatica-Produkten zu arbeiten? Höchstwahrscheinlich war es Alexey, der Ihnen die Grundlagen von PowerCenter erklärt und Ihnen erklärt hat, wie Sie Zuordnungen erstellen.

Alexey Ananyev, Ausbildungsleiter der DIS Group

Was ist Pushdown?

Viele von Ihnen kennen Informatica Big Data Management (BDM) bereits. Das Produkt kann Big Data aus verschiedenen Quellen integrieren, zwischen verschiedenen Systemen verschieben, bietet einfachen Zugriff darauf, ermöglicht die Erstellung von Profilen und vieles mehr.
In den richtigen Händen kann BDM wahre Wunder bewirken: Aufgaben werden schnell und mit minimalem Rechenaufwand erledigt.

Willst du das auch? Erfahren Sie, wie Sie die Pushdown-Funktion in BDM verwenden, um die Rechenlast auf verschiedene Plattformen zu verteilen. Mit der Pushdown-Technologie können Sie die Zuordnung in ein Skript umwandeln und die Umgebung auswählen, in der dieses Skript ausgeführt wird. Mit dieser Wahl können Sie die Stärken verschiedener Plattformen kombinieren und deren maximale Leistung erzielen.

Um die Skriptausführungsumgebung zu konfigurieren, müssen Sie den Pushdown-Typ auswählen. Das Skript kann vollständig auf Hadoop ausgeführt oder teilweise zwischen Quelle und Senke verteilt werden. Es gibt 4 mögliche Pushdown-Typen. Die Zuordnung muss nicht in ein Skript umgewandelt werden (nativ). Das Mapping kann so weit wie möglich an der Quelle (Quelle) oder vollständig an der Quelle (vollständig) durchgeführt werden. Mapping kann auch in ein Hadoop-Skript umgewandelt werden (kein).

Pushdown-Optimierung

Die aufgeführten 4 Typen können auf unterschiedliche Weise kombiniert werden – Pushdown kann für die spezifischen Anforderungen des Systems optimiert werden. Beispielsweise ist es häufig sinnvoller, Daten aus einer Datenbank mithilfe ihrer eigenen Funktionen zu extrahieren. Und die Daten werden mit Hadoop konvertiert, um die Datenbank selbst nicht zu überlasten.

Betrachten wir den Fall, dass sich sowohl die Quelle als auch das Ziel in der Datenbank befinden und die Plattform zur Transformationsausführung ausgewählt werden kann: Abhängig von den Einstellungen handelt es sich um Informatica, einen Datenbankserver oder Hadoop. Anhand eines solchen Beispiels können Sie die technische Seite der Funktionsweise dieses Mechanismus am genauesten verstehen. Im wirklichen Leben kommt diese Situation natürlich nicht vor, eignet sich aber am besten zur Demonstration der Funktionalität.

Nehmen wir die Zuordnung, um zwei Tabellen in einer einzelnen Oracle-Datenbank zu lesen. Und lassen Sie die Leseergebnisse in einer Tabelle in derselben Datenbank festhalten. Das Zuordnungsschema sieht folgendermaßen aus:

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

In Form einer Zuordnung auf Informatica BDM 10.2.1 sieht es so aus:

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

Pushdown-Typ – nativ

Wenn wir den nativen Pushdown-Typ auswählen, wird die Zuordnung auf dem Informatica-Server durchgeführt. Die Daten werden vom Oracle-Server gelesen, an den Informatica-Server übertragen, dort transformiert und an Hadoop übertragen. Mit anderen Worten, wir erhalten einen normalen ETL-Prozess.

Pushdown-Typ – Quelle

Bei der Auswahl des Quelltyps erhalten wir die Möglichkeit, unseren Prozess zwischen dem Datenbankserver (DB) und Hadoop zu verteilen. Wenn ein Prozess mit dieser Einstellung ausgeführt wird, werden Anfragen zum Abrufen von Daten aus Tabellen an die Datenbank gesendet. Und der Rest wird in Form von Schritten auf Hadoop ausgeführt.
Das Ausführungsdiagramm sieht folgendermaßen aus:

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

Nachfolgend finden Sie ein Beispiel für die Einrichtung der Laufzeitumgebung.

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

In diesem Fall erfolgt die Zuordnung in zwei Schritten. In seinen Einstellungen werden wir sehen, dass es sich in ein Skript verwandelt hat, das an die Quelle gesendet wird. Darüber hinaus werden das Kombinieren von Tabellen und das Transformieren von Daten in Form einer überschriebenen Abfrage der Quelle durchgeführt.
Im Bild unten sehen wir eine optimierte Zuordnung auf dem BDM und eine neu definierte Abfrage auf der Quelle.

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

Die Rolle von Hadoop in dieser Konfiguration wird auf die Verwaltung des Datenflusses – also dessen Orchestrierung – reduziert. Das Ergebnis der Abfrage wird an Hadoop gesendet. Sobald der Lesevorgang abgeschlossen ist, wird die Datei von Hadoop in die Senke geschrieben.

Pushdown-Typ – voll

Wenn Sie den vollständigen Typ auswählen, wird die Zuordnung vollständig zu einer Datenbankabfrage. Und das Ergebnis der Anfrage wird an Hadoop gesendet. Ein Diagramm eines solchen Prozesses ist unten dargestellt.

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

Ein Beispiel-Setup ist unten dargestellt.

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

Als Ergebnis erhalten wir eine optimierte Zuordnung ähnlich der vorherigen. Der einzige Unterschied besteht darin, dass die gesamte Logik in Form einer Überschreibung ihrer Einfügung an den Empfänger übertragen wird. Ein Beispiel für eine optimierte Zuordnung ist unten dargestellt.

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

Hier wie im vorherigen Fall spielt Hadoop die Rolle des Dirigenten. Aber hier wird die Quelle vollständig gelesen und dann wird die Datenverarbeitungslogik auf der Empfängerebene ausgeführt.

Der Pushdown-Typ ist null

Nun, die letzte Option ist der Pushdown-Typ, innerhalb dessen unser Mapping in ein Hadoop-Skript umgewandelt wird.

Das optimierte Mapping sieht nun wie folgt aus:

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

Dabei werden zunächst die Daten aus den Quelldateien auf Hadoop gelesen. Dann werden diese beiden Dateien mit seinen eigenen Mitteln kombiniert. Anschließend werden die Daten konvertiert und in die Datenbank hochgeladen.

Wenn Sie die Prinzipien der Pushdown-Optimierung verstehen, können Sie viele Prozesse für die Arbeit mit Big Data sehr effektiv organisieren. So hat vor kurzem ein großes Unternehmen innerhalb weniger Wochen große Datenmengen aus dem Speicher in Hadoop heruntergeladen, die es zuvor mehrere Jahre lang gesammelt hatte.

Source: habr.com

Kommentar hinzufügen