Hoe zeer grote data goedkoop en snel verplaatsen, uploaden en integreren? Wat is pushdown-optimalisatie?

Elke big data-operatie vereist veel rekenkracht. Een typische verplaatsing van gegevens van een database naar Hadoop kan weken duren of evenveel kosten als een vliegtuigvleugel. Wil je niet wachten en geld uitgeven? Verdeel de belasting over verschillende platforms. Eén manier is pushdown-optimalisatie.

Ik vroeg Alexey Ananyev, de toonaangevende trainer van Rusland voor de ontwikkeling en het beheer van Informatica-producten, om te praten over de pushdown-optimalisatiefunctie in Informatica Big Data Management (BDM). Heeft u ooit met Informatica-producten leren werken? Hoogstwaarschijnlijk was het Alexey die je de basisprincipes van PowerCenter vertelde en uitlegde hoe je mappings kunt maken.

Alexey Ananyev, hoofd training bij DIS Group

Wat is pushdown?

Velen van jullie zijn al bekend met Informatica Big Data Management (BDM). Het product kan big data uit verschillende bronnen integreren, tussen verschillende systemen verplaatsen, biedt er gemakkelijke toegang toe, maakt het mogelijk om het te profileren en nog veel meer.
In de juiste handen kan BDM wonderen verrichten: taken worden snel uitgevoerd en met minimale computerbronnen.

Wil jij dat ook? Leer hoe u de pushdown-functie in BDM kunt gebruiken om de computerbelasting over verschillende platforms te verdelen. Met Pushdown-technologie kunt u mapping in een script omzetten en de omgeving selecteren waarin dit script wordt uitgevoerd. Met deze keuze kunt u de sterke punten van verschillende platforms combineren en hun maximale prestaties bereiken.

Om de scriptuitvoeringsomgeving te configureren, moet u het pushdown-type selecteren. Het script kan volledig op Hadoop worden uitgevoerd of gedeeltelijk worden gedistribueerd tussen de bron en de sink. Er zijn 4 mogelijke pushdown-types. Mapping hoeft niet te worden omgezet in een script (native). Mapping kan zoveel mogelijk op de bron (source) of volledig op de bron (full) worden uitgevoerd. Mapping kan ook worden omgezet in een Hadoop-script (geen).

Pushdown-optimalisatie

De genoemde 4 typen kunnen op verschillende manieren worden gecombineerd - pushdown kan worden geoptimaliseerd voor de specifieke behoeften van het systeem. Het is bijvoorbeeld vaak passender om gegevens uit een database te extraheren met behulp van de eigen mogelijkheden. En de gegevens worden geconverteerd met Hadoop, om de database zelf niet te overbelasten.

Laten we eens kijken naar het geval waarin zowel de bron als de bestemming zich in de database bevinden en het transformatie-uitvoeringsplatform kan worden geselecteerd: afhankelijk van de instellingen zal dit Informatica, een databaseserver of Hadoop zijn. Met een dergelijk voorbeeld kunt u de technische kant van de werking van dit mechanisme zo nauwkeurig mogelijk begrijpen. Uiteraard komt deze situatie in het echte leven niet voor, maar is deze het meest geschikt voor het demonstreren van functionaliteit.

Laten we mapping gebruiken om twee tabellen in één Oracle-database te lezen. En laat de leesresultaten vastleggen in een tabel in dezelfde database. Het mappingschema ziet er als volgt uit:

Hoe zeer grote data goedkoop en snel verplaatsen, uploaden en integreren? Wat is pushdown-optimalisatie?

In de vorm van mapping op Informatica BDM 10.2.1 ziet het er als volgt uit:

Hoe zeer grote data goedkoop en snel verplaatsen, uploaden en integreren? Wat is pushdown-optimalisatie?

Pushdown-type – native

Als we het native pushdown-type selecteren, wordt de mapping uitgevoerd op de Informatica-server. De gegevens worden gelezen van de Oracle-server, overgebracht naar de Informatica-server, daar getransformeerd en overgebracht naar Hadoop. Met andere woorden: we krijgen een normaal ETL-proces.

Pushdown-type – bron

Bij het kiezen van het brontype krijgen we de mogelijkheid om ons proces te verdelen tussen de databaseserver (DB) en Hadoop. Wanneer een proces met deze instelling wordt uitgevoerd, worden verzoeken om gegevens uit tabellen op te halen naar de database verzonden. En de rest wordt uitgevoerd in de vorm van stappen op Hadoop.
Het uitvoeringsdiagram ziet er als volgt uit:

Hoe zeer grote data goedkoop en snel verplaatsen, uploaden en integreren? Wat is pushdown-optimalisatie?

Hieronder ziet u een voorbeeld van het instellen van de runtime-omgeving.

Hoe zeer grote data goedkoop en snel verplaatsen, uploaden en integreren? Wat is pushdown-optimalisatie?

In dit geval wordt het in kaart brengen in twee stappen uitgevoerd. In de instellingen zullen we zien dat het een script is geworden dat naar de bron wordt gestuurd. Bovendien zal het combineren van tabellen en het transformeren van gegevens worden uitgevoerd in de vorm van een overschreven query op de bron.
In de onderstaande afbeelding zien we een geoptimaliseerde mapping op de BDM en een opnieuw gedefinieerde query op de bron.

Hoe zeer grote data goedkoop en snel verplaatsen, uploaden en integreren? Wat is pushdown-optimalisatie?

De rol van Hadoop in deze configuratie zal worden beperkt tot het beheren van de gegevensstroom – het orkestreren ervan. Het resultaat van de zoekopdracht wordt naar Hadoop verzonden. Zodra het lezen is voltooid, wordt het bestand van Hadoop naar de sink geschreven.

Pushdown-type – vol

Wanneer u het volledige type selecteert, verandert de mapping volledig in een databasequery. En het resultaat van het verzoek wordt naar Hadoop gestuurd. Een diagram van een dergelijk proces wordt hieronder weergegeven.

Hoe zeer grote data goedkoop en snel verplaatsen, uploaden en integreren? Wat is pushdown-optimalisatie?

Hieronder ziet u een voorbeeldopstelling.

Hoe zeer grote data goedkoop en snel verplaatsen, uploaden en integreren? Wat is pushdown-optimalisatie?

Als gevolg hiervan krijgen we een geoptimaliseerde kaart die vergelijkbaar is met de vorige. Het enige verschil is dat alle logica naar de ontvanger wordt overgedragen in de vorm van het overschrijven van de invoeging ervan. Hieronder vindt u een voorbeeld van geoptimaliseerde mapping.

Hoe zeer grote data goedkoop en snel verplaatsen, uploaden en integreren? Wat is pushdown-optimalisatie?

Hier speelt Hadoop, net als in het vorige geval, de rol van dirigent. Maar hier wordt de bron in zijn geheel gelezen, en vervolgens wordt de dataverwerkingslogica uitgevoerd op ontvangerniveau.

Pushdown-type is nul

Welnu, de laatste optie is het pushdown-type, waarbinnen onze mapping verandert in een Hadoop-script.

De geoptimaliseerde mapping ziet er nu als volgt uit:

Hoe zeer grote data goedkoop en snel verplaatsen, uploaden en integreren? Wat is pushdown-optimalisatie?

Hier worden eerst de gegevens uit de bronbestanden ingelezen op Hadoop. Vervolgens worden deze twee bestanden met eigen middelen samengevoegd. Hierna worden de gegevens geconverteerd en geüpload naar de database.

Door de principes van pushdown-optimalisatie te begrijpen, kunt u veel processen voor het werken met big data zeer effectief organiseren. Zo heeft een groot bedrijf onlangs in slechts een paar weken tijd big data uit de opslag gedownload naar Hadoop, die het eerder al jaren had verzameld.

Bron: www.habr.com

Voeg een reactie