Svaka operacija s velikim podacima zahtijeva veliku računalnu snagu. Tipično premještanje podataka iz baze podataka u Hadoop može potrajati tjednima ili koštati koliko i krilo aviona. Ne želite čekati i trošiti novac? Uravnotežite opterećenje na različitim platformama. Jedan od načina je pushdown optimizacija.
Zamolio sam vodećeg ruskog trenera za razvoj i administraciju proizvoda Informatica, Alexeya Ananyeva, da govori o funkciji optimizacije pushdown u Informatica Big Data Management (BDM). Jeste li ikada naučili raditi s Informatica proizvodima? Najvjerojatnije vam je Alexey rekao osnove PowerCenter-a i objasnio kako izraditi mapiranja.
Alexey Ananyev, voditelj treninga u DIS Grupi
Što je pushdown?
Mnogi od vas već su upoznati s Informaticom Big Data Management (BDM). Proizvod može integrirati velike podatke iz različitih izvora, premještati ih između različitih sustava, omogućiti im jednostavan pristup, omogućiti vam da ih profilirate i još mnogo toga.
U pravim rukama, BDM može činiti čuda: zadaci će biti dovršeni brzo i uz minimalne računalne resurse.
Želiš li i ti to? Naučite koristiti značajku pushdown u BDM-u za raspodjelu računalnog opterećenja na različite platforme. Pushdown tehnologija vam omogućuje da mapiranje pretvorite u skriptu i odaberete okruženje u kojem će se ta skripta izvoditi. Ovaj izbor omogućuje vam kombiniranje prednosti različitih platformi i postizanje njihove maksimalne izvedbe.
Da biste konfigurirali okruženje za izvršavanje skripte, trebate odabrati vrstu padajućeg programa. Skripta se može u potpunosti pokrenuti na Hadoopu ili djelomično distribuirati između izvora i odvodnika. Postoje 4 moguća tipa pushdown. Mapiranje se ne mora pretvoriti u skriptu (nativnu). Kartiranje se može izvesti što je više moguće na izvoru (izvor) ili potpuno na izvoru (puno). Mapiranje se također može pretvoriti u Hadoop skriptu (nema).
Pushdown optimizacija
Navedene 4 vrste mogu se kombinirati na različite načine - pushdown se može optimizirati za specifične potrebe sustava. Na primjer, često je prikladnije izvući podatke iz baze podataka pomoću njezinih vlastitih mogućnosti. A podaci će se pretvoriti pomoću Hadoopa, kako ne bi preopteretili samu bazu podataka.
Razmotrimo slučaj kada se i izvorište i odredište nalaze u bazi podataka, a može se odabrati platforma za izvršenje transformacije: ovisno o postavkama to će biti Informatica, poslužitelj baze podataka ili Hadoop. Takav primjer će vam omogućiti najpreciznije razumijevanje tehničke strane rada ovog mehanizma. Naravno, u stvarnom životu ova situacija se ne pojavljuje, ali je najprikladnija za demonstraciju funkcionalnosti.
Uzmimo mapiranje za čitanje dviju tablica u jednoj Oracle bazi podataka. A rezultati očitanja neka budu zabilježeni u tablici u istoj bazi podataka. Shema mapiranja će biti ovakva:
U obliku mapiranja na Informatici BDM 10.2.1 to izgleda ovako:
Pushdown tip – izvorni
Ako odaberemo izvorni tip pushdown, tada će se mapiranje izvršiti na poslužitelju Informatica. Podaci će se očitati s Oracle poslužitelja, prenijeti na poslužitelj Informatica, tamo transformirati i prenijeti u Hadoop. Drugim riječima, dobit ćemo normalan ETL proces.
Pushdown vrsta – izvor
Odabirom vrste izvora dobivamo mogućnost distribucije našeg procesa između poslužitelja baze podataka (DB) i Hadoopa. Kada se proces izvrši s ovom postavkom, zahtjevi za dohvaćanje podataka iz tablica bit će poslani u bazu podataka. A ostatak će se izvesti u obliku koraka na Hadoopu.
Dijagram izvršenja će izgledati ovako:
Ispod je primjer postavljanja runtime okruženja.
U ovom slučaju, mapiranje će se izvršiti u dva koraka. U njegovim postavkama vidjet ćemo da se pretvorio u skriptu koja će biti poslana izvoru. Štoviše, kombiniranje tablica i transformacija podataka izvodit će se u obliku nadjačanog upita na izvoru.
Na slici ispod vidimo optimizirano mapiranje na BDM-u i redefinirani upit na izvoru.
Uloga Hadoopa u ovoj konfiguraciji bit će svedena na upravljanje protokom podataka – njihovo orkestriranje. Rezultat upita bit će poslan u Hadoop. Nakon što je čitanje završeno, datoteka iz Hadoopa bit će zapisana u odvodnik.
Pushdown vrsta – puna
Kada odaberete puni tip, mapiranje će se potpuno pretvoriti u upit baze podataka. A rezultat zahtjeva bit će poslan Hadoopu. Dijagram takvog procesa prikazan je u nastavku.
Primjer postavljanja prikazan je u nastavku.
Kao rezultat, dobit ćemo optimizirano mapiranje slično prethodnom. Jedina razlika je u tome što se sva logika prenosi na prijemnik u obliku nadjačavanja njegovog umetanja. Primjer optimiziranog mapiranja prikazan je u nastavku.
Ovdje, kao iu prethodnom slučaju, Hadoop igra ulogu dirigenta. Ali ovdje se izvor čita u cijelosti, a zatim se logika obrade podataka izvodi na razini prijemnika.
Vrsta pada prema dolje je nula
Pa, zadnja opcija je pushdown tip, unutar kojeg će se naše mapiranje pretvoriti u Hadoop skriptu.
Optimizirano mapiranje sada će izgledati ovako:
Ovdje će podaci iz izvornih datoteka prvo biti pročitani na Hadoopu. Zatim će, koristeći vlastita sredstva, ove dvije datoteke spojiti. Nakon toga, podaci će se pretvoriti i učitati u bazu podataka.
Razumijevanjem principa pushdown optimizacije možete vrlo učinkovito organizirati mnoge procese za rad s velikim podacima. Tako je nedavno jedna velika tvrtka u samo nekoliko tjedana iz skladišta u Hadoop preuzela velike podatke koje je prethodno skupljala nekoliko godina.
Izvor: www.habr.com