EVO-DWH

Firma
DITEC
Dátum realizácie
May 2018 - Jun 2020
Technológie
Oracle ETL Excel
Služby
rozvoj etl tranformácia

Evidencia vozidiel - datawarehouse

Na projekte EVO DWH som mal za úlohu rozvíjať už zabehnutý ETL proces a dopĺňať nové funkcionality. Projekt bol špecifický tým,že nemali sme možnosť sa cez vzdialený prístup pripájať na prostredie ako v prípade iných projektov a tak každá zmena alebo optimalizácia sa musela osobne nasadiť priamo u klienta. Človek musel byť teda pripravený na USB kľúči s nasadzovacími skriptami a v prípade problémov,musel pružne reagovať na vzniknutú situáciu a v pokoji poriešiť.Na projekte sme boli traja tak sme si v prípade CR vedeli pomôcť. ETL proces bežal na Oracle databáze cez aplikačné joby a ako frontend pre BI sa využila interná aplikácia vyvinutá našou firmou. Databáza, tak ako v prípade ŽSR Dwh, bola navrhnutá na tri dB schemy: pre StG-staging,TRF-transformáciu a DWH-datawarehouse.V stagingu sa potiahli dáta z externých zdrojov a v transformačnej vrstve boli vykonávané všetky úpravy nad dátami a rozdielové dáta sa potiahli do DWH resp core vrstvy a tie sa už zobrazovali na výslednej aplikácií.Výmazové údaje boli transakčne zrušené cez tzv.soft delete.Dáta sa dávkovo v určitých limitoch mergovali do TRF vrstvy v PLSql programovaciom jazyku.Následne sa aplikačným jobom raz denne ťahali do DWH a tak sa mohli zobraziť vo výslednej aplikácií. Údaje,ktoré sa napríklad spracovali,boli údaje o súčasných a historických evidenčných číslach vozidiel,údaje o majiteľoch vozidiel a všetky technické detaily o vozidlách Každá z horeuvedených oblastí predstavovala jeden datamart, ku ktorej sa cez star diagram pripadali potrebné dimezionálne tabuľky. Optimalizácia skriptov sa robila cez indexi a pararelizmus cez dopytové hinty.Vzhľadom na kumuláciu množstva záznamov a potrebu zredukovať čas procesu aplikačných jobov,ktoré bežali raz za deň,sa množstvo času strávilo na vymieňaní mailov s klientom a skriptov ktoré mal klient spúšťať čo sa na výsledných procesoch neprejavilo a tak by som do budúcna skôr zvolil iný produkt pre ETL ako napr ODi alebo open source Druid či Pentaho.

Prínos pre firmu

Projekt naznačil,že klasický RDBMS cez Oracle pre ETL je efektívny v prípade tabuliek s menším počtom záznamov.Pri zložitejších dopytoch by som skôr volil inú alternatívu od Oracle ODi resp in-memory tablespace alebo skúsil bulk insert processing.Prehodnotil by som aj merge a nahradil ho unionom.