Jak přesouvat, nahrávat a integrovat velmi velká data levně a rychle? Co je to pushdown optimalizace?

Jakákoli operace s velkými daty vyžaduje hodně výpočetního výkonu. Typický přesun dat z databáze do Hadoopu může trvat týdny nebo stát stejně jako křídlo letadla. Nechce se vám čekat a utrácet peníze? Vyrovnejte zátěž na různých platformách. Jedním ze způsobů je pushdown optimalizace.

Požádal jsem předního ruského školitele pro vývoj a správu produktů Informatica, Alexeje Ananyeva, aby promluvil o funkci optimalizace zásobníků v Informatica Big Data Management (BDM). Naučili jste se někdy pracovat s produkty Informatica? S největší pravděpodobností to byl Alexey, kdo vám řekl základy PowerCenter a vysvětlil, jak vytvářet mapování.

Alexey Ananyev, vedoucí školení v DIS Group

Co je pushdown?

Mnoho z vás již zná Informatica Big Data Management (BDM). Produkt dokáže integrovat velká data z různých zdrojů, přesouvat je mezi různými systémy, poskytuje k nim snadný přístup, umožňuje je profilovat a mnoho dalšího.
Ve správných rukou dokáže BDM zázraky: úkoly budou dokončeny rychle as minimálními výpočetními prostředky.

Chcete to taky? Naučte se používat funkci pushdown v BDM k rozložení výpočetní zátěže na různé platformy. Technologie Pushdown umožňuje přeměnit mapování na skript a vybrat prostředí, ve kterém bude tento skript běžet. Tato volba umožňuje kombinovat silné stránky různých platforem a dosáhnout jejich maximálního výkonu.

Chcete-li nakonfigurovat prostředí spouštění skriptu, musíte vybrat typ rozšíření. Skript může být spuštěn zcela na Hadoop nebo částečně distribuován mezi zdrojem a jímkou. Existují 4 možné typy zásobníků. Mapování nemusí být přeměněno na skript (nativní). Mapování lze provádět maximálně na zdroji (zdroj) nebo zcela na zdroji (plný). Mapování lze také změnit na skript Hadoop (žádný).

Zásobní optimalizace

Uvedené 4 typy lze různě kombinovat – pushdown lze optimalizovat pro specifické potřeby systému. Často je například vhodnější extrahovat data z databáze pomocí jejích vlastních možností. A data budou převedena pomocí Hadoop, aby nedošlo k přetížení samotné databáze.

Uvažujme případ, kdy je zdroj i cíl v databázi a lze zvolit platformu provádění transformace: v závislosti na nastavení to bude Informatica, databázový server nebo Hadoop. Takový příklad vám umožní nejpřesněji pochopit technickou stránku fungování tohoto mechanismu. V reálném životě tato situace přirozeně nenastává, ale pro demonstraci funkčnosti se hodí nejlépe.

Vezměme si mapování pro čtení dvou tabulek v jedné databázi Oracle. A nechte výsledky čtení zaznamenat do tabulky ve stejné databázi. Schéma mapování bude vypadat takto:

Jak přesouvat, nahrávat a integrovat velmi velká data levně a rychle? Co je to pushdown optimalizace?

Ve formě mapování na Informatica BDM 10.2.1 to vypadá takto:

Jak přesouvat, nahrávat a integrovat velmi velká data levně a rychle? Co je to pushdown optimalizace?

Pushdown typ – nativní

Pokud vybereme nativní typ pushdown, pak bude mapování provedeno na serveru Informatica. Data budou načtena ze serveru Oracle, přenesena na server Informatica, tam transformována a přenesena do Hadoopu. Jinými slovy, dostaneme normální proces ETL.

Typ zásobníku – zdroj

Při výběru typu zdroje získáme možnost distribuovat náš proces mezi databázový server (DB) a Hadoop. Když je proces spuštěn s tímto nastavením, budou do databáze odeslány požadavky na načtení dat z tabulek. A zbytek bude proveden ve formě kroků na Hadoop.
Prováděcí diagram bude vypadat takto:

Jak přesouvat, nahrávat a integrovat velmi velká data levně a rychle? Co je to pushdown optimalizace?

Níže je uveden příklad nastavení běhového prostředí.

Jak přesouvat, nahrávat a integrovat velmi velká data levně a rychle? Co je to pushdown optimalizace?

V tomto případě bude mapování provedeno ve dvou krocích. V jeho nastavení uvidíme, že se proměnil ve skript, který bude odeslán do zdroje. Kromě toho bude kombinování tabulek a transformace dat prováděno ve formě přepsaného dotazu na zdroj.
Na obrázku níže vidíme optimalizované mapování na BDM a předefinovaný dotaz na zdroj.

Jak přesouvat, nahrávat a integrovat velmi velká data levně a rychle? Co je to pushdown optimalizace?

Role Hadoopu v této konfiguraci bude redukována na řízení toku dat – jejich orchestraci. Výsledek dotazu bude odeslán společnosti Hadoop. Jakmile je čtení dokončeno, soubor z Hadoop bude zapsán do jímky.

Typ zásobníku – plný

Když vyberete úplný typ, mapování se zcela změní na databázový dotaz. A výsledek požadavku bude odeslán do Hadoopu. Schéma takového procesu je uvedeno níže.

Jak přesouvat, nahrávat a integrovat velmi velká data levně a rychle? Co je to pushdown optimalizace?

Příklad nastavení je uveden níže.

Jak přesouvat, nahrávat a integrovat velmi velká data levně a rychle? Co je to pushdown optimalizace?

Ve výsledku tak získáme optimalizované mapování podobné tomu předchozímu. Jediný rozdíl je v tom, že veškerá logika je přenesena na přijímač ve formě přepsání jeho vložení. Níže je uveden příklad optimalizovaného mapování.

Jak přesouvat, nahrávat a integrovat velmi velká data levně a rychle? Co je to pushdown optimalizace?

Hadoop zde, stejně jako v předchozím případě, hraje roli dirigenta. Zde se však zdroj přečte celý a poté se logika zpracování dat provede na úrovni přijímače.

Typ rozbalení je null

No a poslední možností je pushdown typ, v rámci kterého se naše mapování změní na Hadoop skript.

Optimalizované mapování bude nyní vypadat takto:

Jak přesouvat, nahrávat a integrovat velmi velká data levně a rychle? Co je to pushdown optimalizace?

Zde budou data ze zdrojových souborů nejprve načtena na Hadoopu. Poté pomocí vlastních prostředků tyto dva soubory spojí. Poté budou data převedena a nahrána do databáze.

Pochopením principů pushdown optimalizace můžete velmi efektivně organizovat mnoho procesů pro práci s velkými daty. Tak docela nedávno jedna velká společnost během několika týdnů stáhla do Hadoopu velká data z úložiště, která předtím sbírala několik let.

Zdroj: www.habr.com

Přidat komentář