Skladištenje podataka

Data Warehouse ETL in Depth tečaj – A Kimball University course

Data Warehouse ETL in Depth najnoviji je Kimballov tečaj, a tema su praktične tehnike za ekstrakciju, čišćenje, objedinjavanje i dostavljanje podataka (engl: Extracting, Cleaning, Conforming and Delivering Data). 

Piše: Stjepan Pavlek, stjepan.pavlek@fer.hr

Knjiga

Tečaj je dizajniran prema najnovijoj knjizi, izdanoj 2004., koju zajedno potpisuju Ralph Kimball i Joe Caserta. Premda je na koricama njegovo ime na prvome mjestu, te otisnuto većim slovima, Ralph spremno priznaje da je Joe Caserta jednoga dana ušetao u njegov ured s gotovom knjigom i molbom za recenziju. Ralph je nakon čitanja predložio da on ponovno napiše srednji dio knjige kojim nije bio zadovoljan, i tako postane koautor, a izdavač je donio ideju da se «Ralph Kimball» napiše velikim crvenim slovima i Joe-ova knjiga proda pod Kimballovu.

Još malo o knjizi: Ona u potpunosti prati princip ostalih knjiga popularne Kimballove Toolkit serije. To znači uključivanje velikog broja praktičnih savjeta i rješenja, s dovoljno tehničkih detalja da se rješenja mogu direktno primijeniti. Ova knjiga ide i dalje od prethodnih «toolkita» te govori o konkretnim implementacijama i mogućnostima u danas aktualnim komercijalnim ETL alatima. Na tečaju su davani primjeri za četiri, po autorovu izboru najvažnija, alata: Ascential, Informatica, Oracle Warehouse Builder i Microsoft SQL Server 2005 Data Transformation Services.

Glas protiv kreativnosti!

Tečaj započinje slijedećom tvrdnjom, koja mu je osnovna misao vodilja: «Vrijeme je za više discipline i strukture u kuhinji!» Što ovo znači? Dosadašnja nas teorija uči da je za skladište potreban ETL. Svi znamo što E, T i L znače: E – dostaviti podatke u «back room», T – učiniti nešto s njima, L – učitati ih u tablice za prezentaciju. No, što ako predavača na sveučilištu, ili iskusnog DW konzultanta upitamo: A kako se to radi? Na koji način ta tri koraka razbijemo na manje cjeline i kako se one implementiraju?

U tom slučaju možemo očekivati odgovore poput: «Ovisi o… izvorima.», «Ovisi o… čudnovatim momentima u podacima.», «Ovisi o… alatima koje koristimo!», «Ovisi o… vještinama naših ljudi.», «Ovisi o… alatima za upite, izvještajnim alatima.», …

«Ovisi» je opasno. To je izlika za kreativnost koja dovodi do nereda tablica, modula, procesa, skripti, okidača, alerata, rasporeda poslova, … i na kraju ideja inkrementalnog dizajna propada. Ralph iznosi tvrdnju da je nepošteno prema korisnicima svaki puta započeti dizajn implementacije skladišta otpočetka. U svakom projektu graditi nacrt od praznog papira. Svaki puta ponovno rješavati praćenje promjena u dimenzijama tipa 2, svaki puta ponovno analizirati strategije za ekstrakciju podataka, svaki puta iznova rješavati problem zakašnjelih dimenzijskih ili činjeničnih podataka.

Maksima otprije nekoliko rečenica, o više discipline i strukture u kuhinji, odnosi se na taj problem. Za osnovni cilj knjige i tečaja postavljeno je razbijanje riječi E, T i L na sve njihove sastavnice, te strukturiranje, kategorizacija i standardizacija rješenja za te probleme.

Čarobni broj 38

Upravo to su Ralph i Joe učinili. Identificirali različite probleme unutar ETL-a, analizirali ih, te predložili standardno rješenje za svaki. Probleme koje su našli nazvali su «podsustavima ETL-a». Nabrojali su ih 38 i tvrde da tih 38 čine «nužan i dovoljan» skup, odnosno da se niti jedan ne može dokinuti, niti da je nove potrebno dodavati.

Kada sam mu govorio o pisanju ovog članka, Ralph je u šali rekao: «Pa… nabrojiš 38 podsustava i to je to!» Neću ih nabrajati, no evo osnovne kategorizacije:

  • 1 do 7: ekstrakcija i transformiranje,
  • 8 do 22: učitavanje u prezentacijski sloj,
  • 23 do 37: upravljanje ETL sustavom,
  • 38: udovoljavanje zahtjevima za radom u stvarnom vremenu.

Ideja je da izgradnja skladišta podataka, odnosno ETL sustava nije više od primjene standardnih rješenja za 38 problema. Ako mislimo na tih 38 stvari, ništa bitno nismo propustili i naš projekt neće propasti.

Metapodaci u podacima

Jedan od zanimljivijih koncepata je takozvana «Audit dimenzija» (podsustav 7). Predlaže se uvođenje posebne dimenzije u svaku činjeničnu tablicu, vrijednosti koje govore o kvaliteti podataka. Pomoću te dimenzije mogu se uhvatiti činjenice kojima su vrijednosti izvan predviđenih granica, ili su činjenični retci stigli s nepotpunim / neispravnim vrijednostima za ostale dimenzije, ili su kasnili, …

Kontrola podataka i inače se ugrađuje u ETL proces. U klasičnom procesu za posljedicu najčešće ima odluku iz domene: «prihvati podatak», «preskoči podatak» ili «zaustavi učitavanje». S druge strane, audit dimenzija otvara mogućnost većeg stupnja tolerancije ETL procesa na loše podatke, veći stupanj «preživljavanja», dok ovakvo uzdizanje metapodataka u podatke korisnicima pruža mogućnost direktnog uvida u loše i problematične podatke. Mogu se izgrađivati izvještaji koji govore «što s podacima nije u redu», što se čini svakako zanimljivom analitičkom mogućnosti.

Analogno, može se implementirati činjenična tablica «događaj greške», kao centralno mjesto za hvatanje događaja vezanih uz kvalitetu podataka (podsustav 6). Ključna dodana vrijednost ovakvog poduhvata je povijesno praćenje trendova u kvaliteti podataka. To je važno jer, nasuprot ideji «eliminirati loše podatke», ključni je uspjeh «data quality» implementacija ugraditi mehanizme koji trajno i održivo povećavaju kvalitetu podataka.

I dalje…

Obično se prilikom sistematizacije i standardizacije nekog problema pitamo: a što dalje? Imamo standard; no kako se moramo razvijati? Kimball na kraju tečaja navodi tri trenda koja prepoznaje kao najznačajnije:

1. Skladišta postaju sve više i više operacijska

Stara maksima dizajnera skladišta podataka o strogo i jasno odijeljenim domenama nadležnosti operacijskih sustava i skladišta podataka sve više gubi značaj i snagu. Razlog je jednostavan: dodatne mogućnosti koje se pružaju korisnicima. Evo pomalo bizarnog primjera: Zamislimo «call center» neke tvrtke. Menadžera tog call centra zanima koliko je ljudi trenutno na čekanju. Treba li on to pogledati u operacijskom sustavu koji upravlja raspoređivanjem poziva u call centru, ili u skladištu podataka? – Pa jasno da u operacijskom sustavu, odgovorit ćemo odmah, to je podatak bitan samo lokalno i samo trenutno, podatak o trenutnom statusu operacijskog sustava, … No, razlika je u dodatnim mogućnostima: Operacijski sustav može dati podatak o tome koliko je ljudi trenutno na čekanju. Skladište može davati podatke poput: koliki mjesečni promet s našom tvrtkom naprave korisnici koji su na čekanju, kolika je prosječna vjerojatnost «churna» za korisnike koji su na čekanju, itd.

2. Pogled na poslovanje pod kutom od 360 stupnjeva

Drugi važan trend vezan je uz sveopću integraciju. Možemo promatrati određene «business areas», ali kada ne bi gledali izolirano, mogli bi donijeti bolje odluke! Primjer: Netko u data martu «analiza stanja na skladištu» radi na optimiranju (minimizaciji) zaliha na skladištu. No, možda ne uzima u obzir da što je on sretniji zbog uspješno obavljenog posla, to je netko tko promatra data mart «customer satisfaction» nesretniji. Zbog takvih problema javljaju se potrebe za integracijom i usporedbom svega sa svačim, te se pred dizajnere skladišta podataka stavljaju dodatni teški izazovi integracije sustava.

3. Real-time

Za početak definicija real-timea: Real-time je sve što je brže od vašeg trenutnog ETL-a. Prije nekoliko desetaka godina menadžeri u većini tvrtki imali su na raspolaganju mjesečnu bilancu koju im je dostavljalo računovodstvo. Danas im informatika uglavnom dostavlja dnevnu bilancu. A njima nikako nije jasno zašto ne mogu u njoj vidjeti onu veliku prodaju koja se dogodila danas prijepodne… Real-time stavlja pred tehnologiju zahtjev za procesiranje dramatično većih količina podataka.

Za kraj

U ovom pokušaju sažimanja najvažnijeg iz 500 stranica teksta knjige ETL Toolkit, odnosno tri dana tečaja, jezgrena misao je čini se ponuda da se proces dizajna ETL-a standardizira. Ta ponuda svakako djeluje privlačno, a predložena rješenja djeluju robusno, razrađeno i praktično, te stoga uvjerljivo. Zato se knjiga (naravno i tečaj, no teže je dostupan) može preporučiti svima koji rade na implementaciji ETL sustava, te svim Business Intelligence profesionalcima. Pronaći će vrelo korisnih ideja, savjeta te standardna rješenja ETL boljki koje ih muče, ili nekih s kojima se još nisu susreli. (S.P.)