Ako presúvať, exportovať a integrovať veľmi veľké dáta lacno a rýchlo? Čo je to pushdown optimalizácia?

Každá operácia s veľkými dátami si vyžaduje značné výpočtové kapacity. Bežný presun dát z databázy na Hadoop môže trvať týždne alebo stáť ako krídlo lietadla. Nechcete čakať a míňať? Vyvážte záťaž na rôzne platformy. Jeden zo spôsobov je optimalizácia pushdown.

Požiadal som popredného trénera v Rusku v oblasti vývoja a správy produktov Informatica Alexeja Ananjeva, aby nám povedal o funkcii optimalizácie pushdown v Informatica Big Data Management (BDM). Kedy ste sa učili pracovať s produktmi Informatica? Pravdepodobne práve Alexej vám vysvetľoval základy PowerCenter a ako vytvárať mapovania.

Alexej Ananjев, vedúci sekcie školení DIS Group

Čo je to pushdown?

Mnohí z vás sú už oboznámení s Informatica Big Data Management (BDM). Tento produkt dokáže integrovať veľké dáta z rôznych zdrojov, prenášať ich medzi rôznymi systémami, zabezpečiť k nim jednoduchý prístup, profilovať ich a mnoho iného.
V zručných rukách môže BDM robiť zázraky: úlohy sa budú vykonávať rýchlo a s minimálnymi výpočtovými zdrojmi.

Chcete to tiež? Naučte sa využívať funkciu pushdown v BDM na rozdelenie výpočtovej záťaže medzi rôznymi platformami. Technológia pushdown umožňuje premeniť mapovanie na skript a zvoliť prostredie, v ktorom sa tento skript spustí. Možnosť takého výberu umožňuje kombinovať silné stránky rôznych platforiem a dosiahnuť ich maximálnu výkonnosť.

Na nastavenie prostredia vykonávania skriptu je potrebné zvoliť typ pushdown. Skript možno kompletné spustiť na Hadoop alebo čiastočne rozdeliť medzi zdrojom a prijímačom. Existujú 4 možné typy pushdown. Mapovanie nemusí byť premenené na skript (native). Mapovanie môže byť vykonané maximálne na zdroji (source) alebo úplne na zdroji (full). Rovnako môže byť mapovanie premenené na skript Hadoop (none).

Optimalizácia pushdown

Týchto 4 typy je možné rôzne kombinovať – optimalizovať pushdown na konkrétne potreby systému. Napríklad, často je rozumnejšie extrahovať dáta z databázy využitím jej vlastných možností. A transformovať dáta s pomocou Hadoopu, aby sme nezahŕňali samotnú databázu.

Pozrime sa na situáciu, keď sú zdroj aj prijímač v DB a platformu na vykonávanie transformácií možno vybrať: v závislosti od nastavení to bude Informatica, server DB alebo Hadoop. Takýto príklad umožní najpresnejšie pochopiť technickú stránku fungovania tohto mechanizmu. Samozrejme, v skutočnom živote sa taká situácia nevyskytuje, ale na demonštráciu funkčnosti je to najvhodnejšie.

Vezmeme mapovanie na čítanie dvoch tabuliek v jednej databáze Oracle. A výsledky čítania nech budú zapísané do tabuľky v tej istej databáze. Schéma mapovania bude takáto:

Ako presúvať, exportovať a integrovať veľmi veľké dáta lacno a rýchlo? Čo je to pushdown optimalizácia?

V podobe mapovania na Informatica BDM 10.2.1 to vyzerá nasledovne:

Ako presúvať, exportovať a integrovať veľmi veľké dáta lacno a rýchlo? Čo je to pushdown optimalizácia?

Typ pushdown – native

Ak vyberieme typ pushdown native, mapovanie sa vykoná na serveri Informatica. Údaje budú prečítané zo servera Oracle, prenesené na server Informatica, transformované tam a odoslané do Hadoop. Inými slovami, dostaneme bežný ETL proces.

Typ pushdown – source

Pri výbere typu source dostaneme možnosť rozložiť náš proces medzi serverom databázy (DB) a Hadoop. Pri vykonávaní procesu s týmto nastavením sa do databázy odošlú dotazy na výber údajov z tabuliek. A zvyšok sa bude vykonávať v podobe krokov na Hadoop.
Schéma vykonávania bude vyzerať takto:

Ako presúvať, exportovať a integrovať veľmi veľké dáta lacno a rýchlo? Čo je to pushdown optimalizácia?

Nižšie je príklad nastavenia prostredia vykonávania.

Ako presúvať, exportovať a integrovať veľmi veľké dáta lacno a rýchlo? Čo je to pushdown optimalizácia?

V tomto prípade sa mapovanie vykoná v dvoch krokoch. V jeho nastaveniach uvidíme, že sa premenil na skript, ktorý bude odoslaný na zdroj. Zlúčenie tabuliek a transformácia údajov sa vykoná v podobe predefinovaného dotazu na zdroji.
Na obrázku nižšie vidíme optimalizované mapovanie na BDM a na zdroji – predefinovaný dotaz.

Ako presúvať, exportovať a integrovať veľmi veľké dáta lacno a rýchlo? Čo je to pushdown optimalizácia?

Úloha Hadoop v tejto konfigurácii spočíva v správe toku údajov – dirigovaní nimi. Výsledok dotazu bude odoslaný do Hadoop. Po dokončení čítania sa súbor z Hadoop zapíše do prijímača.

Typ pushdown – full

Pri výbere typu full sa mapovanie úplne pretransformuje na dotaz na DB. A výsledok dotazu bude odoslaný do Hadoop. Schéma takéhoto procesu je uvedená nižšie.

Ako presúvať, exportovať a integrovať veľmi veľké dáta lacno a rýchlo? Čo je to pushdown optimalizácia?

Príklad nastavenia je zobrazený nižšie.

Ako presúvať, exportovať a integrovať veľmi veľké dáta lacno a rýchlo? Čo je to pushdown optimalizácia?

V dôsledku toho dostaneme optimalizované mapovanie podobné predchádzajúcemu. Rozdiel je len v tom, že celá logika sa prenesie na prijímač v podobe predefinovania jeho vloženia. Príklad optimalizovaného mapovania je zobrazený nižšie.

Ako presúvať, exportovať a integrovať veľmi veľké dáta lacno a rýchlo? Čo je to pushdown optimalizácia?

Tu, podobne ako v predchádzajúcom prípade, Hadoop zohráva úlohu dirigenta. Tentokrát sa čítanie zdroja vykonáva kompletne, a potom sa na úrovni prijímača vykonáva logika spracovania dát.

Typ pushdown – null

A posledná varianta – typ pushdown, v rámci ktorého sa náš mapping premení na skript na Hadoop.

Optimalizovaný mapping teraz vyzerá takto:

Ako presúvať, exportovať a integrovať veľmi veľké dáta lacno a rýchlo? Čo je to pushdown optimalizácia?

Tu budú dáta z výnimočných súborov najprv prečítané na Hadoop. Potom budú aj tieto dva súbory zlúčené tými istými prostriedkami. Po tom budú dáta transformované a nahrané do DB.

Pochopením princípov pushdown optimalizácie je možné veľmi efektívne organizovať množstvo procesov práce s veľkými dátami. Takto nedávno jedna veľká spoločnosť za pár týždňov nahrala z úložiska do Hadoop veľké dáta, ktoré predtým zhromažďovala niekoľko rokov.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster