Disa disa më parë, na doli një pyetje për të zgjedhur një mjet ETL për punë me BigData. Zgjidhja e mëparshme, Informatica BDM, nuk na përmbushi për shkak të funksionalitetit të kufizuar. Përdorimi i saj u reduktua në një framework për ekzekutimin e komandave spark-submit. Në treg kishte jo shumë alternativa që ishin në gjendje të punonin me volumin e të dhënave me të cilat merremi çdo ditë. Përfundimisht, ne zgjodhëm Ab Initio. Gjatë demonstrimeve piloto, produkti tregoi një shpejtësi shumë të lartë të përpunimit të të dhënave. Nuk ka shumë informacione në gjuhën ruse për Ab Initio, prandaj ne vendosëm të ndajmë përvojën tonë në Habr.
Ab Initio ka shumë transformime klasike dhe të pazakonta, kodi i të cilave mund të zgjerohet me një gjuhë të vetme PDL. Për bizneset e vogla, ky mjet kaq i fuqishëm ndoshta do të jetë i tepërt, dhe shumica e funksioneve të tij mund të duken të shtrenjta dhe të papërdorura. Por nëse shkallët tuaja afrohen ato të Sberbank, atëherë Ab Initio mund të jetë interesante për ju.
Ai ndihmon biznesin të akumulojë njohuri dhe të zhvillojë ekologjinë, ndërsa zhvilluesit përmirësojnë aftësitë e tyre në ETL, mbledhjnë njohuri në shell, ofron mundësinë për të mësuar gjuhën PDL, jep një pamje vizuale të proceseve të ngarkesës dhe e lehtëson zhvillimin për shkak të shumtisë së komponentëve funksionalë.
Në këtë postim do të flas për mundësitë e Ab Initio dhe do të sjell krahasime të karakteristikave të tij me Hive dhe GreenPlum.
- Përshkrimi i framework-ut MDW dhe punëve për përshtatjen e tij për GreenPlum
- Karakteristikat e krahasimit të performancës së Ab Initio me Hive dhe GreenPlum
- Puna e Ab Initio me GreenPlum në mënyrën Near Real Time
Funksionaliteti i këtij produkti është shumë i gjerë dhe kërkon kohë për t'u mësuar. Megjithatë, me aftësitë e duhura dhe konfigurimet e sakta të performancës, rezultatet e përpunimit të të dhënave janë mjaft mbresëlënëse. Përdorimi i Ab Initio për zhvilluesit mund t'i ofrojë një përvojë interesante. Ky është një kornizë e re për zhvillimin ETL, një hibrid mes një ambienti vizual dhe zhvillimit të ngarkesave në një gjuhë të ngjashme me skenarin.
Bizneset po zhvillojnë ekologjitë e tyre dhe ky mjet është si kurrë më pare i përshtatshëm për ta. Me Ab Initio, mund të grumbullohet njohuri për biznesin aktual dhe të përdoren këto njohuri për të zgjeruar bizneset ekzistuese dhe për të hapur të reja. Alternativat për Ab Initio përfshijnë mjete si Informatica BDM dhe Apache Spark.
Përshkrimi i Ab Initio
Ab Initio, si çdo mjet tjetër ETL, përbën një grup produktesh.

Ab Initio GDE (Graphical Development Environment) është një mjedis për zhvilluesit, ku ata konfiguroni transformimet e të dhënave dhe i lidhin ato me rrjedha të dhënash në formën e shigjetave. Një kombinim i këtij grupi transformimesh quhet graf:

Lidhjet hyrëse dhe dalëse të komponentëve funksionalë janë porte dhe përmbajnë fusha të llogaritura brenda transformimeve. Disa grafe, të lidhura me rrjedha në formën e shigjetave në rendin e ekzekutimit quhen plane.
Ka disa qindra komponentë funksionalë, që janë shumë. Shumë prej tyre janë të specializuar. Mundësitë e transformimeve klasike në Ab Initio janë më të gjera se në mjete të tjera ETL. Për shembull, Join ka disa dalje. Përveç rezultatit të bashkimit të dataset-eve, mund të merrni daljet e dataset-eve hyrëse, për të cilat nuk ishte e mundur të bashkoheshin. Po ashtu mund të merrni rejects, errors dhe logun e punës së transformimeve, i cili mund të lexohet si një skedar tekstual dhe të përpunohet me transformime të tjera:

Ose, për shembull, mund të materializoni marrësin e të dhënave në formën e një tabele dhe në të njëjtin graf të lexoni të dhënat prej saj.
Ka transformime origjinale. Për shembull, transformimi Scan ka funksionalitetin si funksionet analitike. Ka transformime me emra domethënës: Create Data, Read Excel, Normalize, Sort within Groups, Run Program, Run SQL, Join with DB dhe të tjera. Grafet mund të përdorin parametra në kohë të ekzekutimit, përfshirë mundësinë për të kaluar parametra nga sistemi operativ ose në sistemin operativ. Skedarët me një grup të gatshëm të parametrave të kaluar në graf quhen parameter sets (psets).
Siç e pret, Ab Initio GDE ka një depo të quajtur EME (Enterprise Meta Environment). Zhvilluesit kanë mundësinë të punojnë me versione lokale të kodit dhe të bëjnë check in-in e zhvillimeve të tyre në depozitat qendrore.
Ka mundësinë që gjatë ekzekutimit ose pas ekzekutimit të grafit, të klikoni mbi çdo lidhje që bashkon transformimet dhe të shihni të dhënat që kalojnë mes këtyre transformimeve:

Ka është gjithashtu mundësia për të klikoni në çdo rrjedhë dhe të shihni detajet e ndjekjes - sa paralellet punoi transformimi, sa rreshta dhe byte u ngarkuan në cilën nga paralellet:

Ka mundësi të ndani ekzekutimin e grafikut në faza dhe të shënoni se disa transformime duhen realizuar së pari (në fazën zero), të tjerat në fazën e parë, të tjerat në fazën e dytë etj.
Për çdo transformim, mund të zgjidhni atë që quhet layout (ku do të ekzekutohet): pa paralellet ose në rrjedha paralele, numrin e të cilave mund ta caktoni. Në të njëjtën kohë, skedarët përkohësorë që krijon Ab Initio gjatë punës së transformimeve mund të vendosen si në sistemin e skedarëve server, ashtu edhe në HDFS.
Në çdo transformim bazuar në një templates të paracaktuar, mund të krijoni skenarin tuaj në gjuhën PDL, që pak a shumë i ngjan shell.
Me gjuhën PDL, mund të zgjerohet funksionaliteti i transformimeve dhe, për më tepër, mund të generoni dinamikisht (durante ekzekutimit) fragmente të rastit të kodit sipas parametrave të kohës së ekzekutimit.
Po ashtu, Ab Initio ka një integrim të mirë të zhvilluar me sistemin operativ përmes shell. Konkretisht në Sberbank përdoret linux ksh. Mund të shkëmbehen variabla me shell dhe t'i përdorni ato si parametra grafikësh. Mund të thirreni ekzekutimin e grafikëve Ab Initio nga shell dhe të menaxhoni Ab Initio.
Përveç Ab Initio GDE, ofrohen shumë produkte të tjera. Ka sistemin e saj Co>Operation me pretendimin për t'u quajtur sistem operativ. Ka Control>Center, në të cilin mund të planifikoni dhe monitoroni rrjedhat e ngarkesës. Ka produkte për zhvillimin në një nivel më primitiv se sa lejon Ab Initio GDE.
Përshkrimi i framework-ut MDW dhe punëve për përshtatjen e tij për GreenPlum
Së bashku me produktet e saj, shitësi ofron produktin MDW (Metadata Driven Warehouse), i cili përbën një konfigurues grafikësh, i dizajnuar për të ndihmuar në detyrat tipike të mbushjes së depozita të të dhënave ose data vaults.
Ai përmban parserë të metadatas përdoruesore (specifike për projektin) dhe gjeneratorë të kodit “nga kutia”.

Në hyrje, MDW merr modelin e të dhënave, një skedarin konfigurues për caktimin e lidhjes me bazën e të dhënave (Oracle, Teradata ose Hive) dhe disa konfigurime të tjera. Pjesa specifike për projektin, për shembull, zhvillon modelin në bazën e të dhënave. Pjesa produktit që vjen “nga kutia” gjeneron grafët dhe skedarët e konfigurimit për ta përngarkimin e të dhënave në tabelat e modelit. Në të njëjtën kohë, krijohen grafë (dhe psets) për disa mënyra të punës fillestare dhe inkrementale për përditësimin e entiteteve.
Në rastet e Hive dhe RDBMS, gjenerohen grafë të ndryshëm për përditësimin fillestar dhe inkremental të të dhënave.
Në rastin e Hive, delta e ardhur lidhet përmes Ab Initio Join me të dhënat që ishin në tabelë para përditësimit. Ngarkuesit e të dhënave në MDW (si në Hive ashtu edhe në RDBMS) jo vetëm që fusin të dhënat e reja nga delta, por gjithashtu mbyllin periudhat e aktualitetit të të dhënave, sipas çelësave të parë me të cilët ka ardhur delta. Për më tepër, është e nevojshme të rikopjoni përsëri pjesën e të dhënave që nuk është ndryshuar. Por është e nevojshme të bëhet kështu, pasi në Hive nuk ka operacione delete ose update.

Në rastin e RDBMS, grafët për përditësimin inkremental të të dhënave duket se janë më optimalë, sepse RDBMS kanë mundësi reale për përditësim.

Delta e ardhur ngarkohet në një tabelë përkohësisht në bazën e të dhënave. Pas kësaj, ndodh lidhja e delta-s me të dhënat që ishin në tabelë para përditësimit. Dhe kjo bëhet me anë të SQL me një pyetje SQL të gjeneruar. Më pas, me ndihmën e komandave SQL delete+insert, ndodhte futja e të dhënave të reja nga delta në tabelën që është synuar dhe mbyllja e periudhave të aktualitetit të të dhënave, sipas çelësave të parë me të cilët ka ardhur delta.
Nuk ka nevojë të rikopjoni të dhënat që nuk janë ndryshuar.
Kështu, arrijmë në përfundimin se në rastin e Hive, MDW duhet të shkojë në rikopimin e të gjithë tabelës, sepse Hive nuk ka funksionin e përditësimit. Dhe nuk është menduar diçka më mirë se rikopimi i plotë i të dhënave gjatë përditësimit. Në rastin e RDBMS, përkundrazi, krijuesit e produktit e paskan konsideruar të nevojshme që lidhja dhe përditësimi i tabelave t'i lihen përdorimit të SQL.
Për projektin në Sberbank, krijuam një zbatim të ri që mund të përdoret shumë herë për ngarkuesin e bazës të dhënave për GreenPlum. Kjo u bë duke u bazuar në versionin që MDW gjeneron për Teradata. Pikërisht Teradata, e jo Oracle, për këtë i përshtatet më mirë dhe është më afër, pasi gjithashtu është një sistem MPP. Metodat e punës, si dhe sintaksa e Teradata dhe GreenPlum, u treguan të ngjashme.
Shembuj kritike për ndryshimet midis RDBMS-ve janë të tilla. Në GreenPlum, ndryshe nga Teradata, kur krijoni tabela duhet të shkruani klauzolën
distributed byNë Teradata shkruhet
fshi <table> all, ndërsa në GreëPlum shkruhet
fshi nga <table>Në Oracle, për qëllime optimizimi, shkruhet
delete from t where rowid in (), dhe në Teradata dhe GreenPlum shkruajnë
fshi nga t ku ekziston (shiko * nga delta ku delta.pk=t.pk)Gjithashtu, do të theksojmë se për punën e Ab Initio me GreenPlum ishte e nevojshme të instaloheshin klienti GreenPlum në të gjitha nodet e klasterit Ab Initio. Kjo për shkak se ne u lidhëm me GreenPlum njëkohësisht nga të gjitha nyjet e klasterit tonë. Dhe që leximi nga GreenPlum të ishte paralel dhe çdo rrjedhë paralel e Ab Initio të lexonte pjesët e saj të të dhënave nga GreenPlum, duhej të vendosnim në seksionin "ku" të kërkesave SQL një konstruksion të kuptueshëm për Ab Initio
ku ABLOCAL()dhe të përcaktonim vlerën e këtij konstruksioni, duke treguar parametrin që lexon nga Baza e të Dhënave të transformimit
ablocal_expr="string_concat("mod(t.", string_filter_out("{$TABLE_KEY}","{}"), ",", (decimal(3))(number_of_partitions()),")=", (decimal(3))(this_partition()))", i cili kompilohet në diçka të tillë
mod(sk,10)=3, dmth. duhet t'i japim GreenPlum një filtrin të dukshëm për çdo parti. Për baza të tjera të të dhënave (Teradata, Oracle) Ab Initio mund ta ekzekutojë këtë paralelizim automatikisht.
Karakteristikat e krahasimit të performancës së Ab Initio me Hive dhe GreenPlum
Në Sberbank, u zhvillua një eksperiment për të krahasuar performancën e grafëve të gjeneruar MDW në lidhje me Hive dhe GreenPlum. Në kuadër të eksperimenteve, në rastin e Hive kishte 5 nyje në të njëjtin klaster si Ab Initio, ndërsa në rastin e GreenPlum kishte 4 nyje në një klaster të veçantë. Pra, Hive kishte një avantazh të caktuar mbi GreenPlum "për shkak të harduerit".
Iu shqyrtuan dy çift grafësh, të cilët kryenin të njëjtën detyrë të përditësimit të të dhënave në Hive dhe në GreenPlum. Në të njëjtën kohë, u nisën grafët e gjeneruar nga konfiguratori MDW:
- ngarkimi fillestar + ngarkimi inkremental të të dhënave të gjeneruara rastësisht në tabelën Hive
- ngarkimi fillestar + ngarkimi inkremental të të dhënave të gjeneruara rastësisht në të njëjtën tabelë GreenPlum
Në të dyja rastet (Hive dhe GreenPlum), ngarkimet ishin në 10 rrjedha paralel në të njëjtin klaster Ab Initio. Të dhënat ndërmjetësore për llogaritjet Ab Initio u ruajtën në HDFS (në termat e Ab Initio u përdor MFS layout using HDFS). Një rresht i të dhënave të gjeneruara rastësisht zinte në të dyja rastet 200 byte.
Rezultati ishte i tillë:
Hive:
Ngarkimi fillestar në Hive
Numri i rreshtave të futur
6 000 000
60 000 000
600 000 000
Kohëzgjatja e ngarkimit fillestar
në sekonda
41
203
1 601
Ngarkimi inkremental në Hive
Numri i rreshtave, të cilët ishin në
tabelën e synuar në fillim të eksperimenti
6 000 000
60 000 000
600 000 000
Numri i rreshtave të delta-s, të aplikuar në
tabelën e synuar gjatë eksperimenti
6 000 000
6 000 000
6 000 000
Kohëzgjatja e ngarkimit inkremental
në sekonda
88
299
2 541
GreenPlum:
Ngarkimi fillestar në GreenPlum
Numri i rreshtave të futur
6 000 000
60 000 000
600 000 000
Kohëzgjatja e ngarkimit fillestar
në sekonda
72
360
3 631
Ngarkimi inkremental në GreenPlum
Numri i rreshtave, të cilët ishin në
tabelën e synuar në fillim të eksperimenti
6 000 000
60 000 000
600 000 000
Numri i rreshtave të delta-s, të aplikuar në
tabelën e synuar gjatë eksperimenti
6 000 000
6 000 000
6 000 000
Kohëzgjatja e ngarkimit inkremental
në sekonda
159
199
321
Vërejmë se shpejtësia e ngarkimit fillestar si në Hive ashtu edhe në GreenPlum varet në mënyrë lineare nga sasia e të dhënave dhe për shkak të harduerit më të mirë, ajo është pak më e shpejtë për Hive, sesa për GreenPlum.
Ngarkimi inkremental në Hive gjithashtu varet në mënyrë lineare nga sasia e të dhënave të ngarkuara më parë në tabelën e synuar dhe kalon mjaft ngadaltë me rritjen e sasisë. Kjo lidhet me nevojën për të rishtuar plotësisht tabelën e synuar. Kjo do të thotë se aplikimi i ndryshimeve të vogla në tabela të mëdha - nuk është një variant i mirë për përdorim për Hive.
Ngarkimi inkremental në GreenPlum varet pak nga sasia e të dhënave të ngarkuara më parë në tabelën e synuar dhe kalon mjaft shpejt. Kjo arrihet falë SQL Joins dhe arkitekturës së GreenPlum, e cila lejon operacionin e fshirjes.
Pra, GreenPlum derdh deltat me metodën delete+insert, ndërsa në Hive nuk ka operacione fshirëse ose përditësuese, kështu që e gjithë sasia e të dhënave gjatë përditësimit inkremental duhet të rishkruhet plotësisht. E veçanta është krahasimi i qelizave të theksuara me shkronja të trasha, pasi ai përkon me variantin më të shpeshtë të shfrytëzimit të ngarkimeve intensive me resurse. Vërejmë se GreenPlum e fitoi ndaj Hive në këtë test 8 herë.
Puna e Ab Initio me GreenPlum në mënyrën Near Real Time
Në këtë eksperiment do të verifikohet mundësia që Ab Initio të kryejë përditësimin e tabelës GreenPlum me grupe të dhënash të gjeneruara rastësisht në një mod të afërt me kohën reale. Do të shqyrtojmë tabelën GreenPlum dev42_1_db_usl.TESTING_SUBJ_org_finval, me të cilën do të punojmë.
Do të përdorim tre grafë Ab Initio për punën me të:
1) Grafi Create_test_data.mp – krijon në 10 rrjedha paralel skedarë me të dhëna në HDFS me 6 000 000 rreshta. Të dhënat janë rastësore, struktura e tyre është organizuar për t'u futur në tabelën tonë


2) Grafi mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset – grafi i gjeneruar nga MDW për ngarkimin e fillestar të të dhënave në tabelën tonë në 10 rrjedha paralel (përdoren të dhëna testimi, të gjeneruara nga grafi (1))

3) Grafi mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset – grafi i gjeneruar nga MDW për përditësimin inkremental të tabelës tonë në 10 rrjedha paralel duke përdorur grupin e të dhënave të freskëta që kanë mbërritur (delta), të gjeneruara nga grafi (1)

Do të ekzekutojmë skenarin e mëposhtëm në modin NRT:
- gjeneroni 6 000 000 rreshta testimi
- të realizoni një ngarkesë fillestare duke futur 6 000 000 rreshta testimi në një tabelë të zbrazët
- të përsërisni 5 herë ngarkesën inkrementale
- gjeneroni 6 000 000 rreshta testimi
- të realizoni një futje inkrementale të 6 000 000 rreshtave testimi në tabelë (në këtë rast, të dhënave të vjetra u caktohet një kohë skadence valid_to_ts dhe futen të dhëna më të reja me të njëjtin çelës kryesor)
Ky skenar imiton një mënyrë reale të funksionimit të një sistemi biznesi - në kohë reale shfaqet një sasi e madhe të dhënash të reja dhe menjëherë futet në GreenPlum.
Tani le të shikojmë logun e funksionimit të skenarit:
Fillimi Create_test_data.input.pset në 2020-06-04 11:49:11
Përfundimi Create_test_data.input.pset në 2020-06-04 11:49:37
Fillimi mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset në 2020-06-04 11:49:37
Përfundimi mdw_load.day_one.current.dev42_1_db_usl_testing_subj_org_finval.pset në 2020-06-04 11:50:42
Fillimi Create_test_data.input.pset në 2020-06-04 11:50:42
Përfundimi Create_test_data.input.pset në 2020-06-04 11:51:06
Fillimi mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset në 2020-06-04 11:51:06
Përfundimi mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset në 2020-06-04 11:53:41
Fillimi Create_test_data.input.pset në 2020-06-04 11:53:41
Përfundimi Create_test_data.input.pset në 2020-06-04 11:54:04
Fillimi mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset në 2020-06-04 11:54:04
Përfundimi mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset në 2020-06-04 11:56:51
Fillimi Create_test_data.input.pset në 2020-06-04 11:56:51
Përfundimi Create_test_data.input.pset në 2020-06-04 11:57:14
Fillimi mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset në 2020-06-04 11:57:14
Përfundimi mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset në 2020-06-04 11:59:55
Fillimi Create_test_data.input.pset në 2020-06-04 11:59:55
Përfundimi Create_test_data.input.pset në 2020-06-04 12:00:23
Fillimi mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset në 2020-06-04 12:00:23
Përfundimi mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset në 2020-06-04 12:03:23
Fillimi Create_test_data.input.pset në 2020-06-04 12:03:23
Përfundimi Create_test_data.input.pset në 2020-06-04 12:03:49
Fillimi mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset në 2020-06-04 12:03:49
Përfundimi mdw_load.regular.current.dev42_1_db_usl_testing_subj_org_finval.pset në 2020-06-04 12:06:46
Kështu, del një pamje e tillë:
Grafik
Koha e fillimit
Koha e përfundimit
Gjatësia
Create_test_data.input.pset
04.06.2020 11:49:11
04.06.2020 11:49:37
00:00:26
mdw_load.day_one.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11:49:37
04.06.2020 11:50:42
00:01:05
Create_test_data.input.pset
04.06.2020 11:50:42
04.06.2020 11:51:06
00:00:24
mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11:51:06
04.06.2020 11:53:41
00:02:35
Create_test_data.input.pset
04.06.2020 11:53:41
04.06.2020 11:54:04
00:00:23
mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11:54:04
04.06.2020 11:56:51
00:02:47
Create_test_data.input.pset
04.06.2020 11:56:51
04.06.2020 11:57:14
00:00:23
mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 11:57:14
04.06.2020 11:59:55
00:02:41
Create_test_data.input.pset
04.06.2020 11:59:55
04.06.2020 12:00:23
00:00:28
mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 12:00:23
04.06.2020 12:03:23
00:03:00
Create_test_data.input.pset
04.06.2020 12:03:23
04.06.2020 12:03:49
00:00:26
mdw_load.regular.current.
dev42_1_db_usl_testing_subj_org_finval.pset
04.06.2020 12:03:49
04.06.2020 12:06:46
00:02:57
Shikojmë se 6 000 000 rreshta inkrementale përpunohen brenda 3 minutash, që është mjaft shpejt.
Të dhënat në tabelën e synuar dolën të shpërndara në këtë mënyrë:
select valid_from_ts, valid_to_ts, count(1), min(sk), max(sk) from dev42_1_db_usl.TESTING_SUBJ_org_finval group by valid_from_ts, valid_to_ts order by 1,2; 
Mund të shihni përputhshmërinë e të dhënave të futur me momentet e aktivizimit të grafikëve.
Pra, mund të filloni ngarkesën inkrementale të të dhënave në GreenPlum me një frekuencë shumë të lartë dhe të shihni shpejtësinë e lartë të futjes së këtyre të dhënave në GreenPlum. Sigurisht, nuk mund të aktivizohet çdo sekondë, pasi Ab Initio, ashtu si çdo mjet ETL, kërkon kohë për "të fjetur".
Përfundimi
Aktualisht, Ab Initio përdoret në Sberbank për ndërtimin e Shtresës së Vetme Semantike të të Dhënave (ECCD). Ky projekt supozon ndërtimin e një versioni të vetëm të gjendjes së entiteteve të ndryshme të biznesit bankar. Informacioni vjen nga burime të ndryshme, kopjet e të cilave përgatiten në Hadoop. Duke u bazuar në nevojat e biznesit, përgatitet modeli i të dhënave dhe përshkruhen transformimet e të dhënave. Ab Initio ngarkon informacionin në ECCD dhe të dhënat e ngarkuara jo vetëm që paraqesin interes për biznesin për vetvete, por shërbejnë gjithashtu si burim për ndërtimin e vitrinave të të dhënave. Njëkohësisht, funksionaliteti i produktit lejon përdorimin e sistemeve të ndryshme si marrës (Hive, Greenplum, Teradata, Oracle), çka ofron mundësinë për të përgatitur të dhënat për biznesin në formate të ndryshme pa ndonjë vështirësi të veçantë.
Mundësitë e Ab Initio janë të shumta, për shembull, korniza shoqëruese MDW ofron mundësinë për të ndërtuar historinë teknike dhe biznesore të të dhënave "nga kutia". Për zhvilluesit, Ab Initio ofron mundësinë për të "mos shpikur rrotën përsëri" dhe për të shfrytëzuar shumë komponente funksionale ekzistues, të cilat në thelb janë biblioteka të nevojshme për punën me të dhënat.
Autori - ekspert i komunitetit profesional të Sberbank SberProfi DWH/BigData. Komuniteti profesional SberProfi DWH/BigData është përgjegjës për zhvillimin e kompetencave në fusha si ekosistemi Hadoop, Teradata, Oracle DB, GreenPlum, si dhe veglat BI Qlik, SAP BO, Tableau e të tjera.
Burimi: habr.com
