Mikä tahansa big data -toiminto vaatii paljon laskentatehoa. Tyypillinen tietojen siirtäminen tietokannasta Hadoopille voi kestää viikkoja tai maksaa yhtä paljon kuin lentokoneen siipi. Etkö halua odottaa ja käyttää rahaa? Tasapainota kuormitusta eri alustojen välillä. Yksi tapa on pushdown-optimointi.
Pyysin Venäjän johtavaa Informatica-tuotteiden kehittämisen ja hallinnon kouluttajaa Aleksei Ananyevia puhumaan Informatica Big Data Managementin (BDM) pushdown-optimointitoiminnosta. Oletko koskaan oppinut työskentelemään Informatican tuotteiden kanssa? Todennäköisesti Aleksei kertoi sinulle PowerCenterin perusteet ja selitti, kuinka kartoituksia tehdään.
Aleksei Ananyev, DIS Groupin koulutuspäällikkö
Mikä on pushdown?
Monet teistä tuntevat jo Informatica Big Data Managementin (BDM). Tuote voi integroida isodataa eri lähteistä, siirtää sitä eri järjestelmien välillä, tarjoaa helpon pääsyn siihen, mahdollistaa sen profiloinnin ja paljon muuta.
Oikeissa käsissä BDM voi tehdä ihmeitä: tehtävät valmistuvat nopeasti ja minimaalisilla laskentaresursseilla.
Haluatko sinäkin sen? Opi käyttämään BDM:n pushdown-ominaisuutta laskentakuorman jakamiseen eri alustoille. Pushdown-tekniikan avulla voit muuttaa kartoituksen skriptiksi ja valita ympäristön, jossa tämä komentosarja suoritetaan. Tämän valinnan avulla voit yhdistää eri alustojen vahvuudet ja saavuttaa niiden maksimaalisen suorituskyvyn.
Komentosarjan suoritusympäristön määrittämistä varten sinun on valittava pushdown-tyyppi. Skripti voidaan ajaa kokonaan Hadoopilla tai osittain hajallaan lähteen ja nielun välillä. On 4 mahdollista pushdown-tyyppiä. Kartoitusta ei tarvitse muuttaa skriptiksi (natiivi). Kartoitus voidaan suorittaa niin paljon kuin mahdollista lähteelle (lähde) tai kokonaan lähteelle (täysi). Kartoitus voidaan myös muuttaa Hadoop-skriptiksi (ei mitään).
Pushdown-optimointi
Lueteltuja 4 tyyppiä voidaan yhdistää eri tavoin - pushdown voidaan optimoida järjestelmän erityistarpeisiin. Usein on esimerkiksi tarkoituksenmukaisempaa poimia tietoja tietokannasta käyttämällä sen omia ominaisuuksia. Ja tiedot muunnetaan Hadoopilla, jotta tietokantaa ei ylikuormiteta.
Tarkastellaan tilannetta, jossa sekä lähde että kohde ovat tietokannassa ja muunnoksen suoritusalusta voidaan valita: asetuksista riippuen se on Informatica, tietokantapalvelin tai Hadoop. Tällainen esimerkki antaa sinun ymmärtää tarkimmin tämän mekanismin toiminnan teknisen puolen. Todellisessa elämässä tätä tilannetta ei luonnollisesti esiinny, mutta se soveltuu parhaiten toimivuuden osoittamiseen.
Otetaan kartoitus kahden taulukon lukemiseksi yhdessä Oracle-tietokannassa. Ja kirjataan lukutulokset taulukkoon samassa tietokannassa. Karttakaavio tulee olemaan seuraava:
Informatica BDM 10.2.1 -kartoituksen muodossa se näyttää tältä:
Pushdown-tyyppi – natiivi
Jos valitsemme pushdown-natiivityypin, kartoitus suoritetaan Informatica-palvelimella. Tiedot luetaan Oracle-palvelimelta, siirretään Informatica-palvelimelle, muunnetaan siellä ja siirretään Hadoopille. Toisin sanoen saamme normaalin ETL-prosessin.
Pushdown-tyyppi – lähde
Lähdetyyppiä valittaessa saamme mahdollisuuden jakaa prosessimme tietokantapalvelimen (DB) ja Hadoopin välillä. Kun prosessi suoritetaan tällä asetuksella, tietokantaan lähetetään pyynnöt tietojen hakemiseksi taulukoista. Ja loput suoritetaan vaiheiden muodossa Hadoopissa.
Suorituskaavio näyttää tältä:
Alla on esimerkki ajonaikaisen ympäristön määrittämisestä.
Tässä tapauksessa kartoitus suoritetaan kahdessa vaiheessa. Sen asetuksissa näemme, että se on muuttunut skriptiksi, joka lähetetään lähteeseen. Lisäksi taulukoiden yhdistäminen ja tietojen muuntaminen suoritetaan lähteessä ohitetun kyselyn muodossa.
Alla olevassa kuvassa näemme optimoidun kartoituksen BDM:ssä ja uudelleen määritellyn kyselyn lähteessä.
Hadoopin rooli tässä kokoonpanossa rajoittuu tietovirran hallintaan - sen järjestämiseen. Kyselyn tulos lähetetään Hadoopille. Kun lukeminen on valmis, Hadoop-tiedosto kirjoitetaan pesualtaaseen.
Pushdown-tyyppi – täysi
Kun valitset täyden tyypin, kartoitus muuttuu kokonaan tietokantakyselyksi. Ja pyynnön tulos lähetetään Hadoopille. Alla on kaavio tällaisesta prosessista.
Alla on esimerkki kokoonpanosta.
Tuloksena saamme edellisen kaltaisen optimoidun kartoituksen. Ainoa ero on, että kaikki logiikka siirretään vastaanottimeen ohittavan sen lisäyksen. Alla on esimerkki optimoidusta kartoituksesta.
Tässä, kuten edellisessä tapauksessa, Hadoop on kapellimestari. Mutta tässä lähde luetaan kokonaisuudessaan, ja sitten tietojenkäsittelylogiikka suoritetaan vastaanottimen tasolla.
Pushdown-tyyppi on tyhjä
No, viimeinen vaihtoehto on pushdown-tyyppi, jonka sisällä kartoitus muuttuu Hadoop-skriptiksi.
Optimoitu kartoitus näyttää nyt tältä:
Täällä lähdetiedostojen tiedot luetaan ensin Hadoopissa. Sitten nämä kaksi tiedostoa yhdistetään omilla keinoillaan. Tämän jälkeen tiedot muunnetaan ja ladataan tietokantaan.
Ymmärtämällä pushdown-optimoinnin periaatteet voit organisoida erittäin tehokkaasti monia prosesseja ison datan kanssa työskentelemistä varten. Niinpä aivan äskettäin yksi iso yritys latasi muutamassa viikossa tallennustilasta Hadooppiin big dataa, jota se oli aiemmin kerännyt useiden vuosien ajan.
Lähde: will.com