Andmete ladustamise ETL-komponent jÀÀb sageli peamise ladustamise varju ja sellele pööratakse vĂ€hem tĂ€helepanu kui peamisele andmebaasile vĂ”i esifunktsioonidele, nagu BI ja aruandlus. Siiski mĂ€ngib ETL andmete laadimise mehhanismi osas vĂ”tmerolli ja vajab haldurite tĂ€helepanu mitte vĂ€hem kui teised komponendid. Minu nimi on Aleksandr, hetkel haldan ETL-i ettevĂ”ttes Rostelecom, ja antud artiklis pĂŒĂŒan jagada oma kogemusi, millega silmitsi seisab haldur tuntud ETL-sĂŒsteemi juures suures andmete ladustamise mahus ettevĂ”ttes Rostelecom.
Kui austatud lugejad on juba tuttavad meie andmete ladustamise projektiga ja toote Informatica PowerCenteriga, siis vĂ”ib kohe jĂ€rgmisesse jaotisesse ĂŒle minna.
MĂ”ni aasta tagasi sĂŒndis Rostelecomis idee ĂŒhtsest ettevĂ”tte andmesalvestusest ning see hakkas ellu viidama. Mitmed salvestussĂŒsteemid, mis lahendasid erinevaid ĂŒlesandeid, olid juba loodud, kuid stsenaariumide arv kasvas, hoolduskulud suurenesid ning sai selgeks, et tulevik kuulub centraliseerimisele. Arhitektuuriliselt koosneb see salvestus mitmest kihist, rakendatud Hadoopis ja GreenPlumis, abistavad andmebaasid, ETL mehhanismid ja BI.
Samas, arvestades suurte territoriaalsete ja heterogeensete andmeallikate arvu, loodi spetsiaalne andmete eksportimise mehhanism, mille tööd juhib Informatica. Tulemusena jĂ”uavad andmepaketid Hadoopi liidesealasse, pĂ€rast mida algavad andmete laadimise protsessid salvestuse kihtidesse, Hadoopisse ja GreenPlumi, mida juhib nn ETL juhtimismehhanism, mis on rakendatud Informatica. Seega on Informatica sĂŒsteem ĂŒks vĂ”tmeelemente, mis tagab salvestuse toimimise.
Meie salvestusest rÀÀgitakse lĂ€hemalt ĂŒhes jĂ€rgnevates postitustes.
Informatica PowerCenter/Big Data Management on hetkel peetakse juhtivaks tarkvaraks andmete integreerimise tööriistade valdkonnas. See on Ameerika ettevĂ”tte Informatica toode, mis on ĂŒks tugevaimaid mĂ€ngijaid ETL (Extract Transform Load), andmekvaliteedi haldamise, MDM (Master Data Management), ILM (Information Lifecycle Management) ja muudes valdkondades.
Kasutatav PowerCenter on integreeritud rakenduste server Tomcat, milles töötavad ise Informatica rakendused, mis rakendavad selle teenuseid:
Domeen, see on pĂ”himĂ”tteliselt alus kogu ĂŒlejÀÀnule, mille raames tegutsevad teenused, kasutajad ja GRID-i komponendid.
Administrator Console, veebi haldus- ja monitooringu tööriist, lisaks Informatica arendaja kliendile, pÔhivahend tootega suhtlemiseks
MRS, Model Repository Service, metadata storage, toimib kihina andmebaasi vahel, kus metaandmed fĂŒĂŒsiliselt talletatakse, ja Informatica Developer kliendi vahel, kus arendus toimub. Repositoriad hoiavad nii andmete kirjeldusi kui ka muud teavet, sealhulgas mitme muu Informatica teenuse jaoks, nĂ€iteks tööde kĂ€ivitamise ajakava (Schedules) vĂ”i jĂ€lgimisandmeid, samuti rakenduste parametersetâid, mis vĂ”imaldavad kasutada sama rakendust erinevate andmeallikate ja sihtkohtadega töötamiseks.
DIS, Andmeintegratsiooni teenus, see on teenus, kus toimuvad pÔhifunktsionaalsed protsessid, kus töötavad rakendused ja toimub tegelik Workflows (mappingute jÀrjestuse ja nende omavaheline suhtlemine) ja Mappings (transformatsioonide, plokkide, kus toimuvad andmete töötlemise muutused).
GRID-i konfiguratsioon â sisuliselt on see komplekside ehitamise variant, kus mitmed serverid koos töötavad, jagades DIS-i tĂ”ukejĂ”udu sĂ”lmede (st domeenisse kuuluvate serverite) vahel. Sellise variandi puhul, peale DIS-i koormuse jaotamise lĂ€bi tĂ€iendava abastraktsiooni kihi GRID, mis ĂŒhendab mitmeid sĂ”lmi, mis töötavad DIS-iga, mitte ainult ĂŒhel konkreetsel sĂ”lmil, vĂ”ivad samuti olla loodud tĂ€iendavad varukoopia MRS-i eksemplarid. VĂ”ib isegi rakendada kĂ”rget saadavust, kus vĂ€listes taotlustes saab ĂŒhendust luua lĂ€bi varu sĂ”lmede, kui peamine langeb vĂ€lja. Sellisest ehitamisvariantist oleme veel loobunud.

Informatica PowerCenter, scheemiliselt
Andmete tarne ahelas töötamise varastes etappides esines pidevalt probleeme, millest osa oli tingitud Informatica tol ajal ebastabiilsest tööst. Kavatseme jagada mĂ”ningaid meeldejÀÀvamaid hetki sellest saagast â Informatica 10 omandamine.

Eelmine Informatica logo
Meie osakonna vastutusalasse kuuluvad ka teised Informatica keskkonnad, millel on oma spetsiifika erineva koormuse tÔttu. Praegu keskendun aga sellele, kuidas Informatica on arenenud ETL-komponendina andmehoidla osana.
Kuidas see juhtus
2016. aastal, kui hakkasime vastutama Informatica töö eest, oli see juba jĂ”udnud versioonini 10.0. Optimistlikult meelestatud kolleegide jaoks, kes otsustasid toote rakendamise ĂŒle, oli kĂ”ik selge â kasutada tuleb uut versiooni! Riistvaralised ressursid olid sel ajal suurepĂ€rased.
2016. aasta kevadest vastutas Informatica töö eest alltöövĂ”tja ning vĂ€heste sĂŒsteemi kasutajate sĂ”nul "töötas see paar korda nĂ€dalas". Siin on vaja selgitada, et andmehoidla oli de facto PoC etapis, administraatoreid meeskonnas ei olnud ja sĂŒsteem langes pidevalt erinevatel pĂ”hjustel, pĂ€rast mida tĂ”stis alltöövĂ”tja insener selle uuesti ĂŒles.
SĂŒgiseks liitus meeskonnas kolm administraatorit, kes jagasid omavahel vastutusalad, ja sĂŒsteemide tĂ”hus haldamine projektis, sealhulgas Informatica, hakkas sujuma. Peab eraldi mĂ€rkima, et see toode ei ole laialdaselt levinud ega oma suurt kogukonda, kust leida vastuseid kĂŒsimustele vĂ”i lahendada probleeme. SeetĂ”ttu oli ÀÀrmiselt oluline tĂ”hus tehniline tugi Vene partnerilt Informatica, kelle abil parandati kĂ”ik meie vead ja ka noore Informatica 10 vead.
Esimene asi, mida meie meeskonna arendajate ja alltöövÔtjate jaoks tegema pidime, oli Informatica töö stabiliseerimine ja web-administreerimise konsoli (Informatica Administrator) töökorda saamine.

Nii kohtasime sageli Informatica arendajaid.
JĂ€tkates probleemiosalist vĂ€lja jĂ€tmist, oli peamine pĂ”hjuseks Infomratica tarkvara suhtlemise skeem andmebaasi reposiitriumiga, mis asus vĂ”rgu maastiku seisukohalt suhteliselt kaugel serveris. See tekitas hilinemisi ja hĂ€iris Informatica domeeni oleku kontrollimise mehhanismide toimimist. Andmebaasi mĂ”ningase hÀÀlestamise, Informatica parameetrite muutmise, mis muutsid selle andmebaasi viivituste suhtes tolerantsemaks, ning lĂ”puks versiooniuuendamise Infomratica versioonile 10.1 ja andmebaasi ĂŒleviimise eelmiselt serverilt lĂ€hemal asuvasse serverisse, kaotas probleem oma aktuaalsuse ning selliseid tĂ”rkeid me enam ei jĂ€lgi.

Ăks katsetest saavutada Informatica Monitori töö
Administreerimise konsool oli samuti kriitilises seisundis. Kuna aktiivne arendustegevus kĂ€idi otse tootmiskeskkonnas, oli kolleegidel pidevalt vajalik analĂŒĂŒsida mappings'i ja workflow'd "liikvel" olles. Uues Informatica Data Integration Service'is pole eraldi tööriista selliseks jĂ€lgimiseks, kuid veebikonsoolis on ilmunud jĂ€lgimise sektsioon (Informatica Administrator Monitor), kus on vĂ”imalik jĂ€lgida rakenduste, workflow'de ja mappings'ite tööd, kĂ€ivitusi ja logisid. Aeg-ajalt muutus konsool tĂ€iesti kĂ€ttesaamatuks, vĂ”i lakkasid DIS-i kĂ€imasolevate protsesside andmed uuendumast, vĂ”i tekkisid vead lehtede laadimisel.

Java parameetrite kohandamine töö stabiilsuse tagamiseks
Probleemi lahendamine toimus mitmeid teid pidi, eksperimenteeriti parameetrite muutmisega, koguti logisid, jstack'e, saadeti tugiteenusesse, samal ajal toimus aktiivne googeldamine ja lihtsalt jÀlgimine.
Esmalt oli loodud eraldi MRS jĂ€lgimiseks, kuna hiljem osutus see ĂŒheks meie keskkondade peamiseks ressursikasutajaks, kuna mappingute kĂ€ivitamine toimub vĂ€ga intensiivselt. Muudetud on java heap'i seadeid ja mitmeid teisi.
Tulemuseks oli, et jĂ€rgmise Informatica 10.1.1 uuenduse puhul Ă”nnestus konsoli ja monitori töö stabiliseerida, arendajad hakkasid töötama efektiivsemalt ning regulaarprotsessid muutusid ĂŒha regulaarsemaks.
Huvitav vĂ”ib olla kogemus arenduse ja haldamise vahel. Ăhine arusaam sellest, kuidas kĂ”ik töötab, mida on vĂ”imalik teha ja mida mitte, on alati oluline keeruliste sĂŒsteemide kasutamisel. SeetĂ”ttu on soovitatav kĂ”igepealt koolitada administratiivmeeskond selle kohta, kuidas tarkvara haldada, ja arendajate meeskond selle kohta, kuidas koodi kirjutada ja sĂŒsteemis protsesse kavandada, ning alles seejĂ€rel lasta neil töötada. See on tĂ”eliselt oluline, kui aeg ei ole lĂ”pmatu ressurss. Paljusid probleeme saab lahendada isegi juhusliku lahenduste proovimise kaudu, kuid mĂ”nikord on mĂ”ned neist nĂ”uavad eelnevat teadmisi â meie juhtum kinnitab selle aksioomi mĂ”istmise olulisust.
NĂ€iteks, kui proovida aktiveerida versioonihaldust MRS-is (kui lĂ”puks selgub, et vajalik oli teine SVN versioon), avastasime mĂ”ne aja pĂ€rast murelikult, et sĂŒsteemi taaskĂ€ivitamise aeg oli kasvanud mitme kĂŒmne minutini. PĂ”hjuse leidmisel ja versioonihalduse vĂ€ljalĂŒlitamisel lĂ€ks kĂ”ik taas hĂ€sti.
MĂ”ned mĂ€rkimisvÀÀrsed takistused, millega seoses on seotud Informatica, hĂ”lmavad eepilist vĂ”itlust kasvavate Java-voogudega. Ăhel hetkel tuli kohtumisele, et expandida loodud protsessid suurtele allika sĂŒsteemidele. Selgus, et kaugelki kĂ”ik protsessid versioonis 10.1.1 ei töötanud hĂ€sti ning mĂ”ne aja pĂ€rast muutus DIS toimimatuks. Avastati kĂŒmneid tuhandeid vooge, mille arv kasvas eriti silmatorkavalt rakenduste juurutamise protseduuri kĂ€igus. MĂ”nikord tuli töövĂ”ime taastamiseks teha mitu restarti pĂ€evas.
Siinkohal tuleb tĂ€nada tuge, probleemid lokaliseeriti ja parandati vĂ”rreldes kiiresti EBF (Emergency Bug Fix) abil â pĂ€rast seda tundsid kĂ”ik, et tööriist tĂ”epoolest töötab.
See töötab tÔepoolest!
Kui Informatica sihtreĆŸiimis tööle asus, nĂ€gi see vĂ€lja jĂ€rgmiselt. Versioon Informatica 10.1.1HF1 (HF1 on HotFix1, tootja ehitus EBF-de kogumisest) oli lisatud EBF, mis lahendas meie mastaapsuse probleemid ja mĂ”ned muud, ĂŒhel kolmest GRID-i serverist, 20 x86_64 tuuma ja salvestus suurel aeglasel kohalike ketaste kogumil â see on serveri konfiguratsioon Hadoop-kliendile. Teisel samasugusel serveril on Oracle DB, millega töötavad nii Informatica domeen kui ka ETL-i juhtimismehhanism. KĂ”ike seda jĂ€lgitakse meeskonnas kasutatavate tavapĂ€raste jĂ€lgimisvahendite (Zabbix + Grafana) abil, kahest osapoost â nii Informatica kui tema teenustest, kui ka laadimisprotsessidest. Praegu sĂ”ltuvad jĂ”udlus ja töö stabiilsus, arvestamata vĂ€liseid tegureid, seadistustest, mis piiravad koormust.
GRID-ist on eraldi rÀÀkimist vÀÀrt. Keskkond ehitati kolme Node'i pĂ”hjal, koormuse tasakaalustamise vĂ”imalusega. Siiski testimise kĂ€igus leiti, et meie rakenduste kĂ€ivitatud instantside vahelise suhtlemise probleemide tĂ”ttu ei töötanud selline konfiguratsioon oodatud viisil, mistĂ”ttu otsustati ajutiselt sellest skeemist loobuda, viies kaks kolmest node'ist domeenist vĂ€lja. Skeem ise jĂ€i samaks ja see on praegu GRID-teenus, kuid lihtsustatud ĂŒhe node'iga.
Hetkel on endiselt keerukus, mis on seotud jĂ”udluse langusega monitooringu skeemi regulaarse puhastamise kĂ€igus â samal ajal toimuva töötlemise ja kĂ€ivitatud puhastuse tĂ”ttu vĂ”ivad ETL-i juhtimise mehhanismi töös esineda tĂ”rked. See lahendatakse praegu âkustutusteâ kaudu â monitooringu skeemi kĂ€sitsi puhastamisega, kaotades kĂ”ik varasemad andmed. See ei ole liiga kriitiline tootmises tavapĂ€rase töö kĂ€igus, kuid samas otsitakse normaalsemat lahendust.
Samas olukorrast tuleneb veel ĂŒks probleem â mĂ”nikord toimuvad meie juhtimismehhanismi mitu kĂ€ivitamist.

Rakenduste korduvad kÀivitamised, mis pÔhjustavad mehhanismi purunemise.
Ajakava jĂ€rgi kĂ€ivitamisel sĂŒsteemi suurte koormuste hetkedest vĂ”ivad tekkida olukorrad, mis viivad mehhanismi purunemiseni. Probleemi lahendatakse siiani kĂ€sitsi, otsides pĂŒsivat lahendust.
KokkuvĂ”ttes vĂ”ib öelda, et suurte koormuste korral on ÀÀrmiselt oluline pakkuda adekvaatseid ressursse, sealhulgas nii riistvaralisi ressursse Informatica jaoks kui ka andmebaasi hoidmiseks, samuti tagada nendele optimaalsed seaded. Lisaks on kĂŒsimus lahtine seoses sellega, milline andmebaasi paigutusskeem on parem â eraldi serveris vĂ”i samas serveris, kus töötab Informatica tarkvara. Ăhelt poolt on ĂŒhe serveri kasutamine odavam ja ĂŒhendamise korral praktiliselt kĂ”rvaldatakse vĂ”rguside probleem, teisalt tĂ”ukab andmebaasi koormus serveri koormust ĂŒlespoole, lisandudes Informatica koormusele.
Nagu igas tÔsises tootmises, leidub ka Informatica puhul paar naljakat hetke.
Kord, kui uurisin mĂ”nda Ă”nnetust, pöörasin tĂ€helepanu sellele, et MRS logides on sĂŒndmuste kellaaeg kahtlaselt mĂ€rgitud.

Ajadualism MRS logides on "disaini tÔttu".
Selgus, et ajatempleid kirjutatakse 12-tunnises formaadis, ilma AM/PM nĂ€idusteta, st enne vĂ”i pĂ€rast keskpĂ€eva. Selle kohta avati isegi paberimajandus ja saadi ametlik vastus â just nii oli see ette nĂ€htud, logis MRS on mĂ€rgid kirjutatud just sellises formaadis. See jĂ€tab vahel siiski mingi intriigi seoses mĂ”ne ERROR-i tekkimise ajaga...
PĂŒĂŒdle paremuse poole
TĂ€naseks on Informatica piisavalt stabiilne tööriist, mis on mugav administraatoritele ja kasutajatele ning neid vĂ”imalusi ja potentsiaali arvesse vĂ”ttes ÀÀrmiselt vĂ”imas. See ĂŒletab meie funktsionaalsed vajadused korduvalt ja de facto kasutatakse seda projektis mitte kĂ”ige iseloomulikumas ja tĂŒĂŒpilisemalt. Raskused on osaliselt seotud sellega, kuidas mehhanismid töötavad â eripĂ€ra seisneb selles, et lĂŒhikese ajavahemiku jooksul kĂ€ivitatakse suur hulk protsesse, mis intensiivselt vĂ€rskendavad parametersetâe ja töötavad andmebaasi reposiitriumiga, samal ajal kui serveri riistvararessursid on protsessoril peaaegu tĂ€ielikultć©çšitud.
Oleme nĂŒĂŒd lĂ€hedal ĂŒleminekule Informatica 10.2.1 vĂ”i 10.2.2 versioonile, kus on ĂŒmber tehtud mĂ”ned sisemised mehhanismid ja toetuse lubadus, et lahendatakse mitmed praegu meie jaoks olemasolevad jĂ”udluse ja toimimise probleemid. Samuti oodatakse riistvara osas servereid, mis on meie jaoks optimaalsete konfiguratsioonidega, arvestades lĂ€hiaja kasvu ja arengu vajadusi.
Muidugi tuleb lĂ€bi viia testimine, kontrollida ĂŒhilduvust ja vĂ”imalik, et teha arhitektuuri muudatusi HA GRID osas. Informatica raames areng jĂ€tkub, kuna lĂŒhiajaliselt ei saa me sĂŒsteemi asendamiseks midagi paigaldada.
Need, kes tulevikus vastutavad selle sĂŒsteemi eest, suudavad kindlasti tuua selle nĂ”utud usaldusvÀÀrsuse ja jĂ”udluse nĂ€itajate juurde, mida tellijad nĂ”uavad.
Artikkel on koostatud âRostelecomiâ andmejuhtimise meeskonna poolt.

Aktiivne Informatica logo
Allikas: habr.com
