SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Dražen Oreščanin OSIGURANJE KVALITETE PODATAKA U SKLADIŠTIMA PODATAKA MAGISTARSKI RAD Zagreb, 2011. 1 / 95 Magistarski rad je izrađen u Zavodu za primjenjeno računarstvo Fakulteta elektrotehnike i računarstva Mentor: Prof.dr.sc. Mirta Baranović Magistarski rad ima: 88 stranica Magistarski rad br.: ___________ 2 / 95 Zahvale: Aniti i Andreji, za bezgraničnu ljubav i podršku Mentorici Prof.dr.sc. Mirti Baranović, za vjeru i upornost bez kojih ovaj rad nikada ne bio dovršen 3 / 95 Sadržaj: 1. Uvod ............................................................................................ 6 2. Integracija podataka i aplikacija ................................................ 12 2.1. Tipovi integracija podataka i aplikacija ...................................... 13 2.2. Nejednakost podataka i upravljanje matičnim podacima ........... 17 2.3. Integracijski centri kompetencije ............................................... 18 Definicije i pojašnjenja bitnih pojmova ....................................... 23 3. 3.1. Skladišta podataka .................................................................... 23 3.2. Izvori podataka .......................................................................... 29 3.3. Transformacija podataka i privremeni spremnik ........................ 30 3.4. Metapodaci................................................................................ 31 3.5. Data mart .................................................................................. 31 3.6. Izvještajni i analitički sustavi ...................................................... 32 3.7. OLAP ........................................................................................ 33 3.8. Dubinska analiza podataka ....................................................... 34 3.9. Upravljanje matičnim podacima ................................................ 35 4. Kvaliteta podataka i informacija................................................. 37 4.1. Kvaliteta metapodataka ili definicije podataka ........................... 37 4.2. Kvaliteta sadržaja podataka ...................................................... 38 4.3. Kvaliteta prikaza podataka ........................................................ 38 5. Upravljanje kvalitetom podataka ............................................... 39 5.1. Tri okruženja za osiguranje kvalitete podataka ......................... 40 5.2. Čišćenje podataka na aplikacijskoj razini .................................. 40 5.3. Čišćenje podataka u integracijskom sloju ................................. 42 5.4. Održavanje povijesnih podataka u skladištu podataka .............. 43 6. Pojmovi i algoritmi vezani za platforme za kvalitetu podataka .. 45 6.1. Označavanje ............................................................................. 46 6.2. Soundex i NIISYS algoritmi ....................................................... 47 6.3. Edit Distance algoritam ............................................................. 49 6.4. Hamming Distance algoritam .................................................... 50 6.5. Jaro-Winkler Distance algoritam ............................................... 51 6.6. Bigram Distance algoritam ........................................................ 52 6.7. Neizrazita logika ........................................................................ 53 4 / 95 Proces poboljšanja kvalitete podataka ...................................... 55 7. 7.1. Analiza i profiliranje ................................................................... 55 7.2. Standardizacija i korekcija ......................................................... 57 7.3. Dopunjavanje ............................................................................ 58 7.4. Uparivanje ................................................................................. 58 7.5. Preživljavanje ............................................................................ 60 Dobavljači i platforme za poboljšanje kvalitete podataka .......... 61 8. 8.1. IBM QualityStage ...................................................................... 62 8.2. Informatica Data Quality ............................................................ 63 8.3. Oracle Warehouse Builder i Oracle Data Integrator .................. 64 8.4. Microsoft SQL Server Integration Services ............................... 65 9. Proces lokalizacije i izrade pravila za Hrvatsku ......................... 67 9.1. IBM QualityStage ...................................................................... 67 9.2. Informatica Data Quality ............................................................ 73 10. Studija slučaja T-Mobile Hrvatska ............................................. 76 10.1. Okruženje projekta .................................................................... 76 10.2. Poslovne potrebe ...................................................................... 76 10.3. Arhitektura rješenja ................................................................... 77 10.4. Ključni indikatori poslovanja i dimenzije .................................... 79 10.5. Hardverska infrastruktura .......................................................... 79 10.6. Softverska infrastruktura ........................................................... 80 10.7. Implementacijski tim .................................................................. 81 10.8. Proces implementacije .............................................................. 82 10.9. Implementacija rješenja za poboljšanje kvalitete podataka ....... 83 10.10. Sljedeći koraci ....................................................................... 84 10.11. Rezultati uvođenja sustava .................................................... 84 11. Zaključak ................................................................................... 86 Reference ............................................................................................. 88 5 / 95 1. Uvod Procjene kažu da će se u svake sljedeće tri godine u svijetu prikupiti i pohraniti na računalnim medijima količina podataka i informacija jednaka količini prikupljenoj od postanka čovječanstva do danas. Razlozi nastanka tolike količine podataka su dvojaki. Prvi razlog je činjenica da je, zbog tehnološkog napretka i pojeftinjenja tehnologije za procesiranje i pohranu podataka, sve lakše podatke arhivirati, a znanje publicirati putem Interneta. Posljedica toga je golema količina znanja javno dostupna, koja je već sada praktično tolika da onemogućuje ozbiljno bavljenje bilo kakvom strukom van vrlo uskih i specijaliziranih okvira. Drugi razlog se krije u tome da se dolaskom informacijske revolucije1 poslovna filozofija velikih svjetskih kompanija bitno promijenila te da se u svome poslovanju i u donošenju poslovnih odluka sve više oslanjaju na analizu podataka iz vlastitog poslovanja i poslovnog okruženja. Drugim riječima, podaci koji se nalaze na računalima kompanija ne koriste se samo za udovoljavanje zakonskim obvezama i izvještavanje o onome što se desilo, već je pristup postao proaktivan te se teži tome da se na temelju historijskih podataka što uspješnije usmjeri poslovanje u budućem razdoblju. Osim što se historijski poslovni podaci zbog toga duže čuvaju, nastale su i nove vrste podataka koje se koriste za analizu, poput podataka iz logova Internet servera. Također, prilikom pripreme podataka za analizu i analize same, podaci se transformiraju u oblik optimalan za prikaz i analizu, što iznova kreira nove velike količine podataka. U zadnjih nekoliko godina vrlo je primjetan pomak u investicijama u informacijsku tehnologiju. Prije deset godina se većina budžeta velikih poslovnih subjekata namijenjenog informacijskim tehnologijama ulagala se u transakcijske sustave koji su omogućavali automatizaciju poslovanja, dok se 1 informacijska revolucija je pojam ekvivalentan tehnološkim revolucijama, a označava činjenicu da je informacija u današnjoj i budućoj ekonomiji ključni poslovni faktor 6 / 95 manji dio ulagao u sustave koji kreiraju informacije i znanje. Danas je situacija obrnuta – većina novca ulaže se u kreiranje znanja i informacija te u nove modele poslovanja, komuniciranja i prikupljanja podataka. Treći razlog vrlo je povezan s drugim razlogom. Naime, sve velike kompanije žive od svojih klijenata i kupaca te im primarni poslovni fokus postaje klijentocentričan. Posljedica toga je prikupljanje sve veće količine podataka o svim mogućim interakcijama putem svih kanala kontakta između kompanije i klijenta, podataka demografske, transakcijske i behaviorističke prirode, koji također služe za analizu i kreiranje informacija za podršku donošenju poslovnih odluka. Put od podataka do informacija i znanja nije nimalo jednostavan. Bitne komponente tog procesa bile su temom mnogih stručnih radova u zadnjem desetljeću, fokusirane uglavnom na dvije strane iste medalje – poslovnu i tehnološku. To je rezultiralo definiranjem novih, danas već općeprihvaćenih teorija i metodologija poput skladištenja podataka (engl. Data Warehousing), dubinske analize podataka (engl. Data Mining) i OLAP-a (engl. On-Line Analytical Processing). Sve te metodologije iskušane su u praksi te se sad najčešće mogu naći pod krovnim pojmom poslovne inteligencije (engl. Business Intelligence) i čine godišnje tržište veličine od 25 milijardi dolara u 2010. godini, s perspektivom rasta od preko 10% godišnje, s više stotina različitih dobavljača opreme i programskih rješenja za pojedine faze u procesu te mnoštvom uspješno implementiranih projekata u cijelom svijetu. Sljedeći korak u razvoju sustava poslovne inteligencije je skup metodologija koje se nalaze iza imena upravljanje performansama (engl. PM Performance Management). U takvim sustavima poslovna inteligencija je samo jedna od tri ključne komponente. 7 / 95 Druga komponenta je sustav za planiranje i budžetiranje koji omogućava brzo, jednostavno i pouzdano kreiranje strateških i operativnih planova te budžeta i predviđanja. Na vrhu sustava za upravljanje performansama nalazi se uravnotežena tablica rezultata (engl. BSC - Balanced Scorecard) platforma u kojoj su definirani svi ključni poslovni pokazatelji (engl. KPI - Key Performance Indicators) koje tvrtka treba pratiti, s indikatorima trenda kretanja i statusa ispunjenja planskih vrijednosti, koje ne moraju biti isključivo financijske prirode. Na tom putu jedan problem se praktično uvijek pojavljuje – problem kvalitete podataka. Istraživanje Gartner Grupe pokazuje da većina inicijativa za reinženjering informacijskih sustava propada zbog zanemarivanja problema kvalitete podataka. Praktično polovica projekata implementacije skladišta podataka u svijetu je osuđeno na propast, a glavni uzrok su nekvalitetni i nepouzdani podaci u izvornim sustavima i samom skladištu podataka [14]. Podaci u transakcijskim sustavima uvijek su jednim dijelom nepotpuni, nekonzistentni, netočni i kao posljedica toga - neistiniti. Poznato je pravilo koje kaže da ako ulazni podatak nije ispravan i istinit, niti na izlazu neće biti ono što je potrebno – informacija, odnosno znanje. Naime, da bi nešto bilo informacija, mora zadovoljavati tri uvjeta – istinitost, pravovremenost i donošenje nove vrijednosti. U ovom slučaju, već prvi uvjet nije zadovoljen. I u samoj inicijalnoj definiciji skladišta podataka (o skladištima podataka će biti više riječi u zasebnom poglavlju) jedna od četiri bitne karakteristike je integriranost, što podrazumijeva konzistentnost u nazivlju, formatima i pohranjivanju podataka, što je praktično sinonim za kvalitetu. U projektima implementacije sustava poslovne inteligencije vrlo velika pažnja posvećuje se kvaliteti podataka te su razvijene politike osiguranja kvalitete 8 / 95 podataka, platforme i algoritmi za čišćenje, konsolidaciju i ispravljanje netočnih podataka, o kojima će također biti riječi u ovom radu. U praksi u Hrvatskoj situacija je ipak malo drugačija – kao i mnogočemu drugome, tako se i kvaliteti podataka najčešće pristupa nesustavno te će rijetko koja hrvatska kompanija reći da je zadovoljna kvalitetom svojih poslovnih podataka. Obično su hrvatske kompanije svjesne da su njihovi podaci upitne kvalitete. Bez obzira na ovu činjenicu, ništa se ne čini kako bi se poboljšala kvaliteta podataka. Stavka za poboljšanje kvaltete podataka se obično zasebno ne budžetira u projektima implementacije skladišta podataka. Bez odgovarajućih ulaganja, ovakav kompleksan problem ne može se ni djelomično riješiti. Jedna od bitnih značajki ovog rada je i analiza kvalitete podataka u realnom poslovnom okruženju, implementacija sustava za osiguranje kvalitete podataka kao dijela sustava za podršku poslovnom odlučivanju te analiza dobivenih rezultata i primijenjenih algoritama. U zadnjih nekoliko godina obranjen je na hrvatskim sveučilištima priličan broj diplomskih, magistarskih i doktorskih radnji koje su se koncentrirale na pojedine segmente procesa kreiranja informacija i znanja. Većina tih radnji odnosila se na koncepte skladištenja i dubinske analize podataka, a ovo je, koliko je autoru poznato, jedan od prvih radova koji se primarno fokusira na pitanje što je kvaliteta podataka i kako je postići u praksi prilikom implementacije korporativnih analitičkih sustava koji se temelje na metodologiji skladištenja podataka. Platforme za poboljšanje kvalitete podataka vjerojatno čine najmanje istraženu i korištenu grupu analitičkog softvera u Hrvatskoj. Hrvatsko tržište nije dovoljno veliko da bude zanimljivo globalnim dobavljačima da ulažu u razvoj lokaliziranih pravila za svoje platforme. Za to postoje tri glavna razloga. 9 / 95 Prvi razlog je cijena takvih platformi koja je previsoka čak i za najveće potencijalne klijente na tržištu. Drugi je razlog da većina kompanija nije svjesna koristi koje mogu dobiti od ove vrste softverskih platformi. Treći i najvažniji razlog je činjenica da nijedna od vodećih platformi za poboljšanje kvalitete podataka nije inicijalno, bez dodatnih aktivnosti i dorada, spremna za rad s hrvatskim specifičnim podacima o imenima, prezimenima i adresama u procesu standardizacije i čišćenja, zbog različitih kodnih stranica i različitih pravila za usporedbu s ostalim europskim jezicima. Na sreću, stvari se mijenjaju na bolje, pa ovaj rad prikazuje lokalizacijski proces i kreiranje skupa pravila za platformu za poboljšanje kvalitete podataka na projektu u jednoj velikoj hrvatskoj tvrtki. U drugom poglavlju rada detaljno se razmatra integracija podataka i aplikacija, tipovi integracije i razvoj metodologija i sustava za integraciju podataka i aplikacija kroz povijest. U trećem poglavlju rada daju se definicije osnovnih pojmova vezanih za skladišta podataka, poslovnu inteligenciju i analitičku integraciju podataka, s osvrtom na ulogu koju kvaliteta podataka ima u procesu skladištenja podataka. U četvrtom poglavlju rada definirane se tri komponente kvalitete – kvaliteta definicija i metapodataka, kvaliteta podataka i kvaliteta prikaza podataka. U petom poglavlju opisani su način i metodologija upravljanja kvalitetom podataka i okruženja u kojima se može utjecati na kvalitetu podataka. U šestom poglavlju detaljno su opisani najbitniji statistički algoritmi koji se koriste u platformama za poboljšanje kvalitete podataka. U sedmom poglavlju detaljno su opisani koraci u procesu poboljšanja kvalitete podataka, s primjerima upotrebe pojedinih algoritama. 10 / 95 U osmom poglavlju su ukratko opisane funkcionalnosti vodećih platformi za poboljšanje kvalitete podataka prisutnim na hrvatskom tržištu. U devetom poglavlju opisan je proces lokalizacije pravila za poboljšanje kvalitete podataka za dvije najprisutnije platforme za poboljšanje kvalitete podataka na hrvatskom tržištu. U desetom poglavlju je opisana studija slučaja implementacije sustava za skladištenje podataka koji je uključivao i platformu za poboljšanje kvalitete podataka u jednoj od velikih tvrtki u Hrvatskoj. Zaključak rada je u posljednjem, jedanaestom poglavlju. Implementacija platformi za poboljšanje kvalitete podataka je područje analitičke infrastrukture čija se važnost u Hrvatskoj još uvijek nije dovoljno spoznala, a može se reći i da je ovo područje najmanje istraživano i upoznato. Doprinos ovoga rada trebao bi biti jedan od početnih koraka u široj implementaciji sustava za upravljanje kvalitetom podataka. 11 / 95 2. Integracija podataka i aplikacija Svaki informacijski sustav temelji se na podacima koje sadrži, koji se u njega unose i kroz njega održavaju. U poslovanju moderne tvrtke imaju sve više različitih aplikacija za prikupljanje i diseminaciju podataka, a podatke iz njih je nužno prikupljati, razmjenjivati i usklađivati kako bi se osigurala pravovremena informacija za rukovoditelje. Problem integracije podataka iz različitih sustava te razmjene podataka među sustavima već je dugo prisutan u poslovnom svijetu, a s vremenom dobiva sve više na važnosti. U prosjeku se svake tri godine količina ukupno kreiranih podataka i informacija na svijetu udvostruči, što znači da će u sljedeće tri godine biti proizvedena jednaka količina informacija kao što je cjelokupno čovječanstvo proizvelo u ukupnoj svojoj povijesti. Ne samo da raste količina podataka, nego raste i raznovrsnost, postoji sve više različitih platformi, baza podataka, poslovnih aplikacija, podatkovnih formata i standarda. Također, poznata je činjenica da se sve veći dio poslovnih informacija nalazi u e-mail porukama i datotekama kreiranim u tekstualnim procesorima i tabličnim kalkulatorima poput Microsoft Worda ili Excela, pohranjenim na osobnim računalima i često nedostupnim za integraciju s ostalim potrebnim podacima. Dodatni nivo složenosti i volumena podataka donose i novi izvori podataka koji su posljedica novih načina komuniciranja. Tu se prvenstveno radi o podacima s društvenih mreža poput Facebooka, Twittera i LinkedIna te servisa za dijeljenje video, audio i slikovnih sadržaja poput Youtubea. Inicijalno su sustavi poslovne inteligencije i skladišta podataka, odnosno sustavi za podršku poslovnom odlučivanju, bili prvo mjesto na kojem je bila potrebna integracija podataka iz više različitih informacijskih sustava transakcijke prirode. Globalizacijom poslovanja, i razvojem business-to- 12 / 95 business poslovnih modela putem Interneta, sve je više i rasla potreba za integracijom podataka iz različitih sustava. Velike svjetske tvrtke, a i mnoge hrvatske tvrtke, imaju pogone ili predstavništva u raznim zemljama svijeta, na različitim kontinentima, u kojima, ne samo da se govori različitim jezicima, nego su i pisma koja se koriste različita. Za uvid u konsolidirano poslovanje mora se omogućiti da svi ti sustavi međusobno nesmetano komuniciraju i razmjenju podatke na pouzdan i pravovremen način. Osnovna pretpostavka za komunikaciju među sustavima su standardni industrijski formati za komunikaciju, poput SWIFT standarda za međubankovne transakcije ili EDI standarda za elektroničke transakcije te u novije vijeme sve više XML-a kao plaforme za komunikaciju među sustavima na kojoj se mogu razvijati specifična rješenja. 2.1. Tipovi integracija podataka i aplikacija Zahtjev poslovanja je da se mora omogućiti da se podaci iz različitih sustava, koji za komunikacju koriste različite standarde i protokole, iz različitih aplikacija na različitim jezicima razmjenjuju među sustavima. Tu je potrebno razlikovati tri osnovne vrste interakcija među sustavima. U prvom slučaju je je riječ o razmjeni podataka u realnom vremenu ili u relativno kratkim vremenskim razmacima. U ovu kategoriju mogu se ubrojiti sinkronizacije podataka između sustava ili replikacije podataka na drugu lokaciju radi osiguravanja nastavka nesmetanog funkcioniranja u slučaju havarije. Tu se najčešće radi o malim do srednjim količinama podataka i visokoj učestalosti razmjene te malim potrebama za transformacijama. U drugu kategoriju spadaju punjenja skladišta podataka i analitičkih sustava za podršku odlučivanju. Takvi integracijski zadaci najčešće se dešavaju 13 / 95 jednom dnevno u doba kada izvorni i ciljni sustavi nisu opterećeni korisničkim zahtjevima, najčešće tijekom noći. Količine podataka koje se prebacuju su srednje do velike, uz složene transformacije. U treću kategoriju spadaju migracije s jednog sustava na drugi, poput slučaja kada se uvodi novi operativni ERP sustav (engl. Enterprise Resource Planning) u tvrtku pa se podaci iz starog sustava trebaju prebaciti u novi. Takvi integracijski zadaci dešavaju se jednokratno, uz veliku količinu podataka i najčešće vrlo složene transformacije i kontrole. U skupinu migracija spadaju i migracije podataka iz testnog u produkcijski sustav kod uvođenja novog sustava. Kroz zadnjih desetak godina nastale je nekoliko specifičnih grupa proizvoda koji su rješavali te probleme. Većina ih je grupirana u dvije osnovne grupe koje se baziraju na tipu integracije. Prvu i veću grupu činile su platforme koji omogućavaju komunikaciju i integraciju transakcijskih sustava, koje se nazivaju EAI – Enterprise Application Integration platforme. EAI je segment informatičkog tržišta koji ima najveći rast od preko 30% godišnje, što je daleko iznad tržišnog prosjeka, budući da je i potreba za integracijom sve veća i veća. Drugu grupu čine platforme koje služe ekstrakciju, transformaciju i učitavanje podataka i za punjenje skladišta podataka, odnosno analitičku integraciju (engl. ETL – Extraction, Transformation and Load). U obje grupe, osim proizvođača specijaliziranih za takva rješenja poput TIBCO-a ili Informatice, nalaze se i uvijek prisutni Microsoft, Oracle, SAP i IBM [6]. U zadnje vrijeme ta dva tržišta pokazuju tendenciju konvergencije, pa je tako uveden pojam platformi za integraciju podataka (engl. Data integration). Gartner Grupa je godinama kroz svoj magični kvadrant pratila tržište platformi za ekstrakciju, transformaciju i učitavanje podataka. Međutim, zadnja tržišna analiza tih platformi bila je 2005. godine, a od zadnjeg kvartala 2006. tu analizu je zamijenila analiza platformi za podatkovnu integraciju. 14 / 95 Platforme za integraciju podataka su se kroz seriju akvizicija i spajanja već pomalo prorijedile (IBM je kupio Ascential, Business Objects je kupio Actu, Oracle je kupio Sunopsis) [4], a i sam koncept se razvio prema potpunoj integraciji podataka. Sa strane operativne integracije su došli i neki drugi dobavljači poput Tibca [6]. Gartner kategoriju platformi za podatkovnu integraciju definira kao platforme koje podržavaju jednu ili više navedenih funkcionalnosti opisanih u tablici 2.1 [6]. Gartner dobavljače na nekom tržištu ocjenjuje prema viziji razvoja koja se nalazi na horizontalnoj osi te prema trenutačnoj snazi i tržišnoj poziciji tvrtke koja je na vertikalnoj osi. Dobavljači koji su jaki u oba segmenta nalaze se u gornjem desnom kvadrantu te se smatraju tržišnim liderima. U tom kvadrantu nalaze se Informatica, IBM, SAP i Oracle. Sve te tvrtke su sa svojim integracijskim proizvodima prisutne u našoj regiji te su proizvodi implementirani kod nekoliko korisnika. Većina ostalih dobavljača nalazi se među igračima orjentiranim na pojedine niše, budući da nemaju cjelovitu integracijsku platformu, odnosno orjentirani su samo na neke elemente integracije. Sve te tvrtke imaju ideju nametnuti se kao dobavljači cjelovitih integracijskih platformi u budućnosti. Neke od tih tvrtki također su i vrlo prisutne na našem tržištu sa svojim integracijskim platformama, prvenstveno Microsoft, SAS i Talend. 15 / 95 Tip integracije Prikupljanje podataka za analitičke sustave Opis funkcionalnosti Ekstrakcija podataka iz operativnih sustava, transformiranje i uparivanje te zapisivanje u analitičke sustava. Kreiranje integriranih Omogućavanje konsolidacije, sinkronizacije i repozitorija matičnih racionalizacije podataka koji opisuju ključne poslovne podataka subjekte poput kupaca, proizvoda i zaposlenika. Migracije i konverzije podataka Sinkronizacija podataka među operativnim aplikacijama Mogućnosti transformacije i pripreme podataka kod migracija s legacy sustava na ERP sustave te konsolidacija višestrukih ERP sustava kod akvizicija. Omogućavanje konzistentnosti na nivou baza podataka, u jednom ili dva smjera, unutar tvrtke ili prema okruženju Ova funkcionalnost se često naziva Enterprise Kreiranje federiranih Information Integration (EII) te omogućava integrirani pogleda nad podacima pogled na informacije u realnom vremenu, bez potrebe iz različitih repozitorija da se podaci fizički “spreme” u jedan zajednički podataka repozitorij. Ova funkcionalnost je sve bitnija za Data Integration platforme. Integracija podataka u Ovdje je više riječ o arhtekturalnom svojstvu, nego o servisno orijentiranoj funkcionalnosti. Moderne platforme za integarciju arhitekturi (SOA) podataka moraju biti servisno orjentirane. Unifikacija strukturiranih i nestrukturianih podataka Ovdje je također riječ o mogućnosti relevantnoj za sve navedene scenarije, budući da organizacije teže sjedinjanju strukturiranih i nestrukturiranih podataka u kreiranju informacijske infrastrukture. Tablica 2.1: Funkcionalnosti platformi za integraciju podataka 16 / 95 2.2. Nejednakost podataka i upravljanje matičnim podacima Kod integracije podataka je uvijek prisutan problem nejednakosti podataka. Nejednakost proizlazi iz različitosti aplikacija samih po sebi. Nejednakost će biti u daljem tekstu pojašnjena na jednostavnom primjeru. Aplikacija za prodaju ima svoj šifarnik kupaca, dok aplikacija za financije ima svoj šifarnik kupaca, u kojima isti kupac ima različite šifre, različit opseg podataka i različite dokumente koji se vežu uz tog kupca. Razlog tome je različita poslovna potreba koju pojedini sustav zadovoljava i različito vrijeme nastajanja zapisa o pojedinom kupcu u svakom od ta dva sustava. Jedan od načina rješavanja tog problema je implementacija integriranog poslovnog sustava poput SAP-a ili Navisiona, ali to sa sobom nosi velike troškove i angažman cijele tvrtke [15]. S druge strane, što je s velikim holding tvrtkama koje u svom sastavu imaju desetak ili više manjih tvrtki u regiji ili cijelom svijetu? Takav pristup kod njih graniči s neizvedivošću. Drugi način, koji se najčešće koristi, je primjena referentnih tablica za preslikavanja podataka iz jednog u drugi sustav. U tim tablicama nalazi se informacija koja omogućava da se jednoznačno odredi kupac kojem pripadaju dokumenti i podaci u jednom i u drugom sustavu. U realnom svijetu, ne postoje samo matični podaci o kupcima koji se trebaju uskladiti i integrirati – tu su i podaci o proizvodima, poluproizvodima, materijalima, dobavljačima, zaposlenicima, organizacijskim jedinicama ili kontnom planu. Također, velike tvrtke nemaju samo dvije, nego puno više različitih aplikacija. Cijelu tu problematiku pokriva jedna grana integracije koja se naziva upravljanje matičnim podacima (engl. Master Data Management – MDM) [16], što je detaljnije razmotreno u poglavlju 3.9. 17 / 95 2.3. Integracijski centri kompetencije S vremenom zadaci koji se postavljaju i pred jednu i pred drugu skupinu platformi sve više konvergiraju prema jednoj jedinoj riječi, a to je integracija, neovisno o tipu aplikacije, količini podataka ili složenosti transformacija. Tako je nastao i koncept integracijskog centra kompetencije (engl. Integration Competency Center - ICC) koji je vrlo brzo zadobio vrlo snažnu podršku i informatičke struke i poslovnih korisnika. Osnovna ideja koja stoji iza ovog koncepta je da postoji središnje mjesto u organizaciji koje se brine za integraciju aplikacija i podataka, organizacijska jedinica sa skupinom ljudi i platformom ili platormama s kojima mogu rješavati integracijske izazove svih triju tipova, umjesto da se svaki zadatak integracije sustava gleda kao zaseban problem. Na taj način se razvija kompetencija te se za svaki sljedeći projekt integracije štede resursi iz dva razloga – prvi je da postoji interno poznavanje platforme koja se koristi i sustava koji se integriraju, a drugi je da se pojedine integracijske komponente i logika iz prethodnih projekata mogu ponovo koristiti. Naravno, konačni rezultat su brže implementacije integracijskih projekata te manji troškovi. Kičma takve organizacije je repozitorij metapodataka, podataka o podacima, koji sadrži informacije o svim preslikavanjima i tijeku podataka među različitim sustavima. Na taj način su i najsloženiji poslovni sustavi detaljno i precizno dokumentirani te je integracija novih podsustava u cjelinu brža i jednostavnija. U integracijskom centru kompetencije metapodaci nisu samo podaci o podacima, nego također podaci o sustavima, procesima, sučeljima, ljudima i uslugama. To je puno opsežnija definicija metapodataka nego uobičajena definicija. Organizacija mora imati centralizirane i organizirane informacije o svojoj vlastitoj informacijskoj infrastrukturi kao tehnološku osnovu za integracijski centar kompetencije. 18 / 95 Jedna vrlo jednostavna analogija koja se može primijeniti je analogija prema avio-prijevozu i takozvanom „hub and spoke“ konceptu po kojem u svakoj regiji postoji veliki, centralni tranzitni aerodrom (poput Frankfurta u Europi ili Hong Konga na Dalekom istoku) koji je spojen sa svim lokalnim i velikim globalnim aerodromima i koji omogućava da se s jednim presjedanjem može doći iz Zagreba do bilo kojeg dijela svijeta. Analogno tome, integracijski centar kompetencije ima ulogu takvog prometnog čvora koji usmjerava podatke u njihovom prometu između različitih sustava. Slika 2.1: Interakcija među sustavima u organizaciji bez integracijskog centra kompetencije 19 / 95 Slika 2.2: Interakcija među sustavima u organizaciji s integracijskim centrom kompetencije Mogući modeli funkcioniranja integracijskog centra kompetencije prikazani su na slici 2.3 te detaljnije opisani u nastavku teksta [7]. Slika 2.3: Modeli organizacije integracijskog centra kompetencije 20 / 95 Najjednostavniji model je model projektne optimizacije. U tom modelu nema dijeljenja resursa, već se svi projekti vode zasebno. Tehnologija, procesi i organizacija su nezavisni, ali satndardizirana organizacija i vođenje projekata omogućavaju kreiranje dodane vrijednosti u odnosu na organizacije bez centraliziranih projektnih standarda. Sljedeći model je model korištenja najboljih praksi. U tom modelu se ide korak dalje i centralizirano se definiraju integracijski procesi, dok je odabir tehnologije na razini preporuke. Organizacija rada na projektima je distribuirana, a boljitak se postiže višestrukim korištenjem akumuliranog znanja. Model tehnoloških standarda najčešće je prisutan kod velikih svjetskih korporacija, koje za svoje članice propisuju standarde kojih se trebaju držati. Tako će primjerice sve banke unutar neke bankove grupacije koristiti istu platformu za integraciju podataka ili sustav za upravljanje rizicima. Dodatna prednost ovog modela u odnosu na prethodne je tehnološka konzistentnost, koja omogućuje jednostavnu integraciju podataka i među više tvrtki u više država. Sljedeći model je model dijeljenih servisa kojem su glavne značajke dijeljeni resursi i hibridna organizacija. U tom modelu postoji centralizirana integracijska tehnološka platforma, ali svaki sustav ima svoje sučelje prema integracijskom centru. Boljitak koji ovaj model donosi je najveći, ali je i organizacijski i implementacijski najsloženiji, budući da zahtijeva poznavanje integracijskih procesa, ne samo centralno, nego i na strani svake pojedine aplikacije. I na kraju, zadnji model centralnih servisa, za razliku od prethodnog, ima centraliziranu organizaciju, donosi nešto manje poboljšanje od distribuiranog modela, ali je lakši i brži za implementaciju, budući da se jedan centralni tim brine o svim potrebnim sučeljima. 21 / 95 Odabir prikladnog modela za pojedinu organizaciju ovisi o više važnih čimbenika, od kojih svakako valja naglasiti postojeću organizaciju i korporativnu kulturu te informacijsku infrastrukturu. Današnja integracijska tehnologija je prilično zrela i većina tehnologija vodećih dobavljača je vrlo dobra te je u odabiru infrastrukture za integracijski centar kompetencije teško pogriješiti. Svakako je puno kritičniji faktor efikasna implementacija metodologije. Za to je potrebno imati puno iskustva u integraciji, a također je nužno i poznavanje procesa specifičnih za pojedinu industriju. Nikako se ne smije izgubiti iz vida da su informacijski sustavi u tvrtki potpora poslovnim procesima te da oni doslovno prenose poslovne događaje i dokumente u podatke i informacije – zato je poznavanje procesa toliko bitno. 22 / 95 3. Definicije i pojašnjenja bitnih pojmova Uz pojam i sustave za poboljšanje kvalitete podataka vezani su i drugi pojmovi koji se odnose na sustave za pohranu, obradu, integraciju, upravljanje i korištenje podataka i informacija. U ovom poglavlju biti će definirani i pojašnjeni najbitniji pojmov te njihov odnos i povezanost sa sustavima za kvalitetu podataka. 3.1. Skladišta podataka Pojam skladišta podataka nije uopće toliko dugo prisutan u informatičkim rječnicima, iako je sam koncept bio upotrebljavan i prije, ali bez teoretske formalizacije. Skladište podataka je prije svega skup podataka orijentiran analitičkom korištenju, što znači da je optimiziran za puno upita koji dohvaćaju veću količinu podataka. Za razliku od skladišta podataka, transakcijski sustav je orijentiran na veliki broj istovremenih korisnika te brzo zapisivanje, čitanje i izmjenu malih količina podataka, najčešće samo jednog zapisa. Druga bitna značajka transakcijskih sustava je normaliziranost (najčešće u trećoj normalnoj formi), odnosno eliminiranje redundancije u podacima. Zbog normaliziranosti strukture transakcijski sustavi ne odgovaraju potebno dobro na analitičke upite; vrlo je često kod složenijeg analitičkog upita dostupiti do podataka iz desetak i više tablica istovremeno. S jedne strane, performanse dostupa do podataka nisu dobre, a s druge strane veliki utrošak procesorskih i memorijskih resursa za takve upite onemogućava ostale korisnike u obavljanju operativnih zadataka. Prva definicija skladišta podataka potječe iz 1992. godine kad je “kum” skladištenja podataka Bill Inmon definirao skladište podataka kao “skup 23 / 95 subjektno orijentiranih, integriranih, vremenski ovisnih i nepromjenjivih podataka za podršku poslovnom odlučivanju” [3]. Svaka od ove četiri značajke zaslužuje malo detaljnije pojašnjenje, s osvrtom na utjecaj kvalitete podataka. Subjektna orijentiranost znači da podaci u skladištu podataka organizirani tako da daju informacije o pojedinom poslovnom subjektu (prodaji, naplati), za razliku od operativnih sustava koji su kreirani tako da čitaju ili zapisuju pojedinu transakciju koja reprezentira poslovni događaj ili dokument. Sustavi za osiguranje kvalitete podataka osiguravaju da je svaki subjekt jednoznačno definiran, odnosno da se pojedini kupac ili proizvod višestruko ne pojavljuje, bilo da podaci o pojedinom subjektu dolaze iz jednog ili više sustava. Integriranost podrazumijeva dosljednost u sadržaju, nazivima i formatima podataka koji dolaze iz različitih izvora. Primjerice, formati zapisa datuma u različitim transakcijskim sustavima na različitim platformama mogu biti različiti, ali u skadištu podataka takvih razlika ne smije biti. Ova značajka skladišta podataka ponajviše je ugrožena nekvalitetnim izvorišnim podacima. Vremenska ovisnost znači da podaci u skladištu imaju vremensku dimenziju, odnosno da se skladište podataka sastoji od snimaka (engl. snapshotova) transakcijskih podataka uzetih u redovnim vremenskim periodima. Ova značajka omogućava analitičku funkcionalnost i analizu trendova poslovanja kroz vrijeme, budući da transakcijski sustavi uvijek čuvaju samo trenutnu vrijednost transakcije, a do stanja u nekom trenutku se dolazi zbrajanjem svih transakcija u traženom periodu Nepromjenjivost određuje da se podaci jednom učitani u skladište podataka više ne mogu promijeniti, osim ponovnim učitavanjem s transakcijskog sustava. Od ove značajke se može odstupiti kod održavanja podataka u slučaju promjena poslovnih politika ili 24 / 95 organizacije. U praksi se zna dešavati da dođe do reorganizacije tvrtke te da je zahtjev korisnika informacija da se troškovi iz prijašnjih godina prikazuju korisnicima prema novoj organizaciji. U tom slučaju potrebno je poslovna pravila za alokaciju na podatke u skladištu podataka iz prijašnjih godina. Postoji i još jedna vrlo jednostavna definicija skladišta podataka kao kopije transakcijskih podataka optimiziranih za analitičke upite. Povijesno gledano, skladišta podataka nastala su početkom devedesetih godina prošlog stoljeća s razlogom da se operativni sustavi rasterete analitičkih upita. U to doba broj različitih informacijskih sustava koji su postojali u tvrtkama bio je bitno manji nego danas. S vremenom, razlog implementacije skladišta podataka je sve više bila integracija podataka iz razičitih izvora. Glavni građevni elementi skladišta podataka su činjenične tablice (engl. Fact tables) koje sadrže kvanitativne, numeričke podatke koji se analiziraju te dimenzijske tablice (engl. Dimension tables), koje sadrže kvalitativne, strukturne podatke koji služe za kreiranje hijerarhija za sumarizaciju i analizu. Činjenične tablice imaju velik broj zapisa, ponekad i desetke ili stotine milijuna. Primjer činjenične tablice je tablica ostvarene prodaje kupcima po proizvodima. U činjeničnim tablicama se ne nalaze samo podaci iz operativnih sustava, nego i dodatni kalkulirani podaci koji donose novu poslovnu vrijednost. Tako u spomenutoj tablici prodaje se za svaki proizvod može dodati i nabavna ili proizvodna cijena te se izračunati kontribucija po svakoj stavci i profitabilnost proizvoda i klijenta. U tom kontekstu, dimenzijske tablice koje su vezane za činjeničnu tablicu prodaje mogu biti tablice kupaca, proizvoda, vremena i prodajnog mjesta. Svaka od tih tablica sadrži atribute koji omogućavaju grupiranje i analizu od ukupnog prema detaljnom. Tako se primjerice proizvodi mogu grupirati prema grupama i podgrupama, a kupci prema geografskoj pripadnosti, veličini, značaju ili nekom drugom atributu. 25 / 95 Kod učitavanja podataka u skladište vrši se denormalizacija i optimizacija podataka za analitičke upite. Dva najzastupljenija načina modeliranja su zvjezdasta (engl. Star) i pahuljičasta (engl. Snowflake) shema. Zvjezdasta shema podrazumijeva da je svaka dimenzija za analizu u potpunosti denormalizirana, dok pahuljičasta shema nije u potpunosti denormalizirana. Denormalizacija se radi kako bi broj tablica koje se dohvaćaju u korisničkom upitu bio što manji te kako bi upiti radili brže. Dimenzijske tablice obavezno trebaju imati primarne ključeve, kojima se vežu na tablicu činjenica. Skladište podataka se uobičajeno sastoji od više subjektnih područja, od kojih svako ima najčešće jednu, a ponekad i više činjeničnih tablica te nekoliko dimenzijskih tablica. Dimenzijske tablice mogu imati kontekst u više subjektnih područja, a najjednostavniji primjer je vremenska dimenzija koja je potrebna u svakoj analizi. Takve dimenzije koje se definiraju jednoznačno, a koriste u više različitih subjektnih područja, nazivaju se konformne dimenzije. Zvjezdasta shema se najčešće koristi u implementaciji skladišta podataka te je i najjednostavnija za razumijevanje, budući da je svaka dimenzija reprezentirana jednom tablicom. Većina dizajnerskih problema kod implemantacije skladišta podataka može se riješiti korištenjem zvjezdaste sheme, ali ponekad je potrebno koristiti i pahuljičastu shemu. Ako se uzme kao primjer distribucijska tvrtka koja radi s kupcima koji imaju više dostavnih mjesta za isporuku. Isporuka se vrši po dostavom mjestu, dok se fakturiranje vrši na nivou kupca. Svako dostavno mjesto pripada jednom kupcu. Dakle, u analizi isporuka postoji veza tablice činjenica s podacima o isporukama prema dimenziji dostavnog mjesta, a od nje prema dimenziji kupca. S druge strane, u analizi naplate dimenzija dostavnog mjesta se gubi i činjenična tablica se veže direktno na dimenziju kupca. 26 / 95 Slika 3.1.: Primjer Zvjezdaste (engl. Star) sheme Vrlo je česta pojava tzv. sporo promjenjivih dimenzija u kojima subjekti mijenjaju neki od ključnih atributa (npr. klijent banke koji se preselio iz jednog grada u drugi), koje se mogu u skladištu podataka tretirati na nekoliko načina. Teorija poznaje tri osnovna tipa takvih dimenzija i nekoliko hibridnih varijanti, a detaljnije razmatranje njihovog tretiranja je van opsega ovog rada. 27 / 95 Slika 3.2.: Primjer Pahuljičaste (engl. Snowflake) sheme Još jedna vrlo bitna značajka skladišta podataka je veličina. Naime, zbog velikog povijesnog perioda koji podaci u skladištu podataka pokrivaju, zbog broja aplikacija iz kojih dolaze te zbog činjenice da u procesu punjenja podataka dolazi do denormalizacije i kreiranja dodatnih stupaca u tablicama, skladišta podataka su načešće vrlo velika. U tom kontekstu u našem okruženju skladište od 100 GB smatra se relativno malim skladištem, dok se u velika skladišta mogu ubrojati ona veličine od preko 1 TB. Najveća svjetska skladišta podataka od preko 100 TB i preko 1PB mogu se naći u telekomunikacijskim tvrtkama i državnim obavještajnim institucijama. Naravno, porast količine podataka ne rezultira samo povećanjem dimenzija diskovnog prostora, nego i procesorske memorijske snage i komunikacijske propusnosti sustava, kako bi svi podaci pravovremeno bili učitani. Također, veličina skladišta podataka utječe i na performanse prema krajnjim 28 / 95 korisnicima, koje u slučaju lošeg dizajna i indeksiranja mogu značajno degradirati s povećanjem količine podataka. Jedan od trendova u dizajnu velikih skladišta podataka je povratak trećoj normalnoj formi, kao načinu osiguravanja konzistentnosti podataka. U ovakvoj arhitekturi nema jasne podjele na činjenične i dimenzijske tablice. Sve tablice su povezane ograničenjima stranih ključeva (engl. primaryforeign key constraint). Kod takvog modeliranja se obavezno koriste Data Martovi kao još krajnji nivo pripreme podataka za krajnje korisnike. Data Mart u tom slučaju ima zvjezdastu strukturu, kako bi se analitički upiti izvršavali što brže. Izuzetno je bitno kod implementacije skladišta podataka postaviti i poštivati konvencije imenovanja tablica i atributa, kako bi se sustav mogao jednostavno koristiti, održavati i dokumentirati. 3.2. Izvori podataka Izvori podataka za skladište podataka mogu biti različiti, a u osnovi se dijele na interne i eksterne. U većini slučajeva prevladavaju interni podaci koji dolaze iz transakcijskih sustava. Velike tvrtke imaju više različitih transakcijskih sustava, pogotovo ako su nastajale kao posljedica integracija više tvrtki koje su imale različite sustave. Podaci iz svih tih sustava najčešće su potrebni za analizu i izvještavanje te ih je potrebno napuniti u skladište podataka. Također se ponekad koriste i podaci iz Excel tablica, kojima se podaci koji ne postoje na transakcijskoj razini nadopunjuju. Iz tih izvora često dolaze i eksterni podaci, poput podataka od Zavoda za statistiku ili marketinških istraživanja. U zadnje vrijeme sve češće se pojavljuju još dvije bitne grupe podataka koje je potrebno učitati u skladište podataka. Prvu grupu čine nestrukturirani 29 / 95 podaci poput PDF ili Word dokumenata ili e-mail poruka. Istraživanja kažu da tvrtka ima preko 80% podataka u nestrukuriarnim izvorima. Za razliku od sustava za upravljanje dokumentima, koji dokumente pohranjuju u repozitorij preko kojeg im korisnici mogu pristupati kao dokumentima, u skladišta podataka učitava se sadržaj pojedinih dokumenata te se prema poziciji i kontekstu sadržaj smješta u relacijsku strukturu. Primjerice, ako tvrtka ima standardne ugovore s kupcima pohranjene na centralnom mjestu, iz Word ili PDF dokumenta moguće je dobiti potrebne informacije u skladištu podataka. Drugu grupu čine podaci čije je porijeklo vezano za web servise i messaging platforme. Oni su najčešće u nekoj od formi XML-a te se prilično jednostavno učitavaju u skladište podataka. Iz različitih izvora podaci se moraju učitati u skladište podataka te nadupunjavati u redovnim vremenskim intervalima. Za to služe platforme za integraciju podataka, čija je funkcionalnost već opisana u prethodnim poglavljima. 3.3. Transformacija podataka i privremeni spremnik Prilikom transformacije podataka, najčešće se koristi i dodatni privremeni spremnik (engl. staging area). Najjednostavniji opis ove komponente je da je riječ o spremniku u koji se dopremaju podaci iz izvora podataka, međusobno kombiniraju i dorađuju, kako bi u skladište podataka došli pročišćeni, konsolidirani i obogaćeni dodatnim informacijama. Privremeni spremnik ima vitalnu funkciju kod implementacije velikih sustava skladišta podataka, jer omogućava da se sloj konačnog sadržaja skladišta podataka fizički i/ili logički odvoji od podataka koji se koriste u tijeku obrade i pripreme. Privremeni spremnik može se nalaziti na istoj bazi podataka u istoj ili drugoj shemi ili na drugoj instanci baze podataka. 30 / 95 3.4. Metapodaci Metapodaci su podaci o podacima – oni govore od kuda koji podatak dolazi, na koji način se transformira, gdje, kako i tko ga koristi na koji način. Metapodaci su doslovno vezivno tkivo skladišta podataka i sustava poslovne inteligencije. Object Management Group je razvio Common Warehouse Metamodel, zajednički standard metapodataka koji već podržavaju mnogi proizvodi na tržištu [9], što korisnicima život počinje činiti puno lakšim. Vrlo često velike tvrtke koriste više različitih softverskih proizvoda različitih tvrtki u procesu kreiranja i korištenja analitičkih sustava te mogućnost razmjene metapodataka između različitih platformi može uštedjeti i vrijeme i resurse pri implementaciji. 3.5. Data Mart Jedan od također često koristenih izraza u teoriji skladišta podataka je i Data Mart, što podrazumijeva podskup podataka iz skladišta podataka namjenjenih za korištenje od strane pojedine poslovne funkcije ili djelatnika na jednoj lokaciji. Data Mart najčešće pokriva jedan subjekt, odnosno sadrži jednu zvjezdastu shemu s potrebnom činjeničnom i dimenzijskim tablicama. Višedimenzionalne OLAP kocke o kojima će kasnije biti riječi u poglavlju 3.7, najčešći su pojavni oblik multidimenzionalnog Data Marta. Prije je u velikim tvrtkama čest slučaj bio da su pojedine organizacijske jedinice (prodaja, nabava, financije) kreirale vlastite Data Martove, koje je kasnije teško integrirati u jedinstveni sustav zbog već spomenutog problema integriranosti. Danas je najčešći pristup kreiranje centralnog korporativnog skladišta podataka, iz kojeg se rade podskupovi, tj. data martovi za pojedinu poslovnu funkciju, čime se osigurava integriranost i konzistentnost podataka. 31 / 95 3.6. Izvještajni i analitički sustavi Prvi i prilično standardan zahtjev za korištenje informacija iz skladišta podataka je kreiranje statičnih izvještaja i ad-hoc upita koji koriste podatke pohranjene u skladištu. To nije jako sofisticiran i zahtjevan posao ako kompleksnost skladišta podataka ne prelazi nekoliko stotina tablica, ako činjenične tablice ne sadrže stotine milijuna slogova, ako podatke iz skladišta ne koriste stotine ili tisuće korisnika i ako se dnevno ne trebaju isporučiti stotine izvještaja. Današnje izvještajne platforme uglavnom imaju isključivo web sučelja. Velike mogućnosti za kreiranje izvještaja i jednostavnost sučelja za krajnjeg korisnika se za sve ozbiljne platforme podrazumijevaju. S razvojne strane, bitno je da takvi sustavi omogućavaju s jedne strane kreiranje jednostavnih ad-hoc upita za korisnike koji nemaju veliko informatičko iskustvo pomoću jednostavnih funkcionalnosti i bez potrebe poznavanja SQL-a. S druge strane, bitno je da omogućavaju i kreranje složenih sofisticiranih izvještaja koji kombiniraju podatke iz više različitih upita te sadržavaju i dodatne objekte (logotipove, poveznice, tekstualne komentare), kako bi se zadovoljile potrebe naprednih korisnika. Također je bitno da takve platforme korisnicima omogućavaju dostup do relacijskih i OLAP izvora kroz jedno sučelje. Sa sigurnosne strane, bitno je da se platforma može integrirati u postojeću autentikacijsku infrastrukturu te da se mogu definirati razine sigurnosti na nivou pojedinog izvještaja, odnosno podskupa podataka dostupnih pojedinoj klasi korisnika unutar pojedinog izvještaja. Naravno, izvještajne i analitičke platforme moraju omogućavati i skalabilnost korištenja od nekoliko do nekoliko tisuća korisnika, a po mogućnosti i višejezičnost sučelja za mutinacionalne tvrtke. 32 / 95 3.7. OLAP Vjerojatno je najomiljeniji i najpoznatiji način iskorištavanja podataka iz skladišta podataka OLAP (engl. On-Line Analytical Processing). Iako je kao pojam nastao prilično davno, tek je u zadnjih desetak godina je postao vrlo omiljen, a napredak tehnologije omogućio je nastajanje zaista moćnih OLAP platformi. Ideja OLAP-a je da je poslovanje kompanije i funkcioniranje ljudskog uma u biti višedimenzionalno – ako je potrebno analizirati prodaju proizvoda svoje tvrtke, onda je je takva analiza potrebna u vremenu, po regijama, po prodajnim mjestima, po artiklima, po kupcima... Kada bi za svaku tu dimenziju bila kreirana zasebna sumarizacijska tablica za potrebe izvještavanja, to bi bio dugačak i mukotrpan posao. Ideja OLAP-a se zasniva na tehnologiji koji takve višedimenzionalne sumarizacije kreira automatski i daje ih korisniku na raspolaganje, čime se stvara mogućnost kombiniranja najrazličitijih uvjeta koji, neovisno o svojoj smislenosti, korisniku daju odgovor na postavljeni upit u realnom vremenu. OLAP tehnologije dijele se na tri osnovne vrste. Prva je MOLAP (Multidimensional OLAP), koji od izvorne relacije napravi višedimenzionalnu kocku – njegova prednost bila je brzina, a mana veliko zauzeće prostora u slučaju postojanja većeg broja dimenzija. Drugi je ROLAP (Relational OLAP) koji je na postojeću relaciju dodao samo sumarizacije – njegova prednost je malo zauzeće diskovnog prostora, što je plaćeno smanjenom brzinom, ali je ostala primjenjivost na veliku količinu podataka. Na kraju je prevladao hibridni HOLAP koncept (Hybrid OLAP), koji samo sumarizacije pohranjuje u višedimenzionalnoj kocki, dok elementarni nivo podataka ostaje u izvornoj relaciji i njima pristupa pomoću drill-trough procedura koje iz agregiranih podataka u OLAP kocki za potrebe detaljnih upita „prelaze“ na korištenje podataka iz relacija. Na taj način objedinjene su i velika brzina pristupa i relativno malo zauzeće prostora. 33 / 95 Prednost relacijskog izvještavanja pred OLAP-om je u činjenici da ne postoji faza izgradnje višedimenzionalne kocke, koja kod kreiranja kocaka od stotina milijuna zapisa može biti jako dugotrajna. S druge strane, mogućnosti analize koje pruža OLAP su daleko veće. Danas se OLAP poslužitelji mogu smatrati dijelom infrastukture, budući da tri glavna dobavljača baza podataka (Microsoft, Oracle i IBM) imaju svoje vlastite OLAP servere. Vodeće izvještajne i analitičke platforme mogu se spojiti i koristiti podatke iz OLAP struktura iz bilo kojeg od tih poslužitelja. 3.8. Dubinska analiza podataka Najzahtjevniji način korištenja informacija za analizu je dubinska analiza podataka (engl. Data Mining), a osnovni joj je smisao izrada prediktivnih modela koji će predvidjeti ponašanje nekog subjeka ili pojave u budućnosti. Dubinska analiza podataka se može opisati kao netrivijalan proces identifikacije neospornih, novih, potencijalno korisnih i razumljivih uzoraka (engl. patterns) i odnosa (engl. relationships) među podacima u skladištu podataka. Ima više modela i algoritama koji se koriste te se ovisno o primjeni odabire najpogodniji. Najpoznatije metode dubinske analize podataka su: klasifikacija i regresija (algoritmi neuralnih mreža i stabla odlučivanja), klasteriranje (identificiranje i grupiranje sličnih podataka), sažimanje i vizualizacija, modeliranje zavisnosti, asocijacije i sekvencijalna analiza (analiza potrošačke košarice) te analiza vremenskih serija. Dubinska analiza i prediktivni modeli koriste se u raznim industrijama, a najčešća područja primjene su sprečavanje prevare u osiguranju, kartičarstvu i telekomunikacijama, sprečavanje odljeva korisnika u telekomunikacijama i financijskoj industriji te analiza potrošačke košarice i stimuliranje povećanja prodaje u maloprodaji. 34 / 95 Za dubinsku analizu podataka izuzetno je bitno imati kvalitetne podatke, budući da predikitvni modeli bazirani na nekvalitetnim i nekonsolidiranim podacima neće davati kvalitetne rezultate. Upravljanje matičnim podacima 3.9. Pojam upravljanja matičnim podacima (engl. Master Data Management MDM) obuhvaća skup procesa i alata koji dosljedno definiraju i upravljaju netransakcijskim podacima organizacije, koje prvenstveno uključuje matične podatke. Sustavima za upravljanje matičnim podacima je cilj implementacija procesa za prikupljanje, agregiranje, uparivanje, konsolidaciju, osiguranje kvalitete, praćenje životnog vijeka i distribuiranje matičnih podataka u cijeloj organizaciji, kako bi se osigurala dosljednost i nadzor u tijeku održavanja i primjene matičnih podataka. Sustav za upravljanje matičnim podacima može biti jednodomenski ili višedomenski, što podrazumijeva upravljanje matičnim podacima vezanim za jednu ili više poslovnih domena – kupce, proizvode, materijale, organizacijske jedinice, konta. Inicijalno su sustavi za upravljanje matičnim podacima bili jednodomenski, a u zadnjih nekoliko godina sve više prevladava višedomenski pristup. Postoji nekoliko tipova sustava za upravljanje matičnim podacima, od kojih je nabitnije razdvojiti referencijske i transakcijske sustave. Referencijski sustavi za upravljanje matičnim podacima sadrže samo pokazivače prema referentnim podacima u transakcijskim i opertivnim sustavima. Transakcijski sustavi za upravljanje matičnim podacima u potpunosti preuzimaju funkcionalnost upravljanja matičnim podacima od transakcijskih sustav. U njima se matični podaci kreiraju i održavaju te distriburaju transkacijskim sustavima u stvarnom vremenu. 35 / 95 Implementacija sustava za upravljanje matičnim podacima je vrlo često potrebna u velikim međunarodnim korporacijama kako bi se omogućio uvid u odnos s klijentom na razini korporacije kroz sve sustave ili kako bi se mogla pratiti prodaja istog proizvoda na različitim tržištima. U Hrvatskoj sustav za upravljanje matičnim podacima koristi Agrokor, a u drugim velikim tvtkama poput Hrvatskog Telekoma, Hrvatske Pošte ili Zagrebačkog Holdinga planira se uvođenje sustava za upravljanje matičnim podacima. Sustavi za upravljanje matičnim podacima se snažno oslanjaju na funcionalnost platformi za poboljšanje kvalitete podataka, koje se uvijek nalaze implementirane kao dijelovi takvih sustava, prvenstveno u funkciji standardizacije, uparivanja i deduplikacije. Kod sustava za upravljanje matičnim podacima se komponente platformi za poboljšanje kvalitete podataka koriste i u 'batch' procesima i prilikom obrade u realnom vremenu, posebice kod transakcijskih sustava za upravljanje matičnim podacima. 36 / 95 4. Kvaliteta podataka i informacija Kvaliteta podataka ima tri osnovne komponente: definiciju podataka (metapodataka), sadržaj podataka i kvalitetu prikaza informacija Kvaliteta konačnih informacija zahtijeva odgovore na pitanja vezana uz kvalitetu svih navedenih komponenti, iako se vrlo često pod kvalitetom podataka smatra samo kvaliteta sadržaja, što se uglavnom smatra funkcionalnostima platforme za poboljšanje kvalitete podataka. Za potpuno razumijevanje problematike potrebno je okvirno opisati sve tri komponente važne za kvalitetu podataka i informacija 4.1. Kvaliteta metapodataka ili definicije podataka Kvaliteta metapodataka ili definicije podataka je kvaliteta specifikacije podataka, koja uključuje jasne, precizne i potpune definicije i poslovna pravila. Definicija podataka predstavlja kriterije integriteta sadržaja podataka. Bez kvalitetne definicije podataka nema jasne komunikacije za dobavljača (izvor) podataka, s ciljem da zna koje podatke bi trebao proizvesti i dostaviti. Također nema jasnog kriterija za mjerenje kvalitete sadržaja podataka. Pitanje kvalitete metapodataka nije unutar konteksta ovog rada, iako se može smatrati kritičnim pitanjem za implementaciju, ne samo analitičkih sustava, nego informacijskih sustava u velikim organizacijama općenito. Kvaliteti metapodataka najčešće nije posvećena potrebna pažnja. 37 / 95 4.2. Kvaliteta sadržaja podataka Kvaliteta sadržaja podataka je točnost vrijednosti podataka. Uključuje potpunost, standardiziranost, nepostojanje duplih vrijednosti, usklađenost s definiranim i priznatim pravilima, kao i točnost podataka. Podaci mogu biti u skladu s poslovnim pravilima, a da su još uvijek nekvalitetni. To su uglavnom podaci u poljima koja se odnose na kupce, kao što su ime i adresa. Kvaliteta sadržaja podataka obično se smatra kvalitetom podataka u užem smislu i softverski proizvodi poznati kao platforme za poboljšanje kvalitete podataka uglavnom se usredotočuju na probleme točnosti podataka. 4.3. Kvaliteta prikaza podataka Kvaliteta prikaza podataka je kvaliteta informacija dostavljenih radnicima znanja, gdje se podaci pretvaraju u korisne i upotrebljive informacije. To uključuje pravovremenost podataka i kanala za distribuciju informacija, kao i prezentacijski format koji lako ističe važnost podataka na način koji najbolje odgovara potrebama radnika znanja. Platforme za poslovnu inteligenciju, odnosnu za izvještavanje i analizu, obično su odgovorne za kvalitetu prikaza informacija. 38 / 95 5. Upravljanje kvalitetom podataka Pitanje odgovornosti za kvalitetu podataka i upravljanje kvalitetom podataka uvijek je bilo jedno od ključnih kod implementacije sustava za poboljšanje kvalitete podataka, ne samo za potrebe skladišta podataka, nego za podizanje i osiguranje traženog nivoa kvalitete podataka u svim sustavima u organizaciji. Shankaranarayanan i Cai u [11] definiraju pojam Total Data Quality Management (TDQM) za sustave za podršku odlučivanju kao analogiju Total Quality Management (TQM) pristupu koji se koristio u proizvodnji. Ideja njihovog pristupa je da postoji povezanost tražene kvalitete informacije i vrste odluke za koju se tražena informacija koristi. Za neke odluke nije potrebna apsolutna kvaliteta i preciznost podataka, dok za druge jest. U svom radu Shankaranarayanan i Cai definiraju i potrebu da donositelji odluka imaju i alat koji će im kroz vizualno sučelje i korištenje KPI-eva omogućavati uvid u kvalitetu podataka u vremenskoj perspektivi, s podacima o primjerice postotku nepopunjenih matičnih brojeva ili neverificiranih imena. Također uvode i zanimljivu tezu po kojoj podaci nisu dodatni izlazni proizvod informacijskog sustava koji je sam po sebi proizvod, nego su proizvod sam po sebi. U radu je predstavljen jednostavan softverski paket koji omogućava praćenje i nadzor kvalitete podataka. Nekoliko godina nakon objave rada većina vodećih dobavljača platformi za poboljšanje kvalitete podataka već je imala ugrađenu sličnu funkcionalnost koja je omogućavala poslovnim korisnicima monitoriranje kvalitete podataka putem jednostavnog web sučelja. U prošlosti je problematika kvalitete podataka vrlo često bila smatrana odgovornošću IT funkcije u organizaciji, ali je s uvođenjem koncepata upravljanja podacima (engl. Data Governance) došlo i do promjene shvaćanja odgovornosti za kvalitetu podataka. Wende u [12] uvodi model 39 / 95 upravljanja za kvalitetu podataka, koji se bazira na tri osnovne komponente – ulogama, područjima i odgovornostima koje su definirane za pojedinu dimenziju kvalitete. Upravljanje kvalitetom podataka mora imati izvršno sponzorstvo u organizaciji te tijelo koje Wende [12] naziva Data Quality Board, koje je zaduženo za upravljanje kvalitetom podataka u organizaciji, a sastoji se primarno od poslovnih korisnika, uz učešće informatičara. Područja kojima se navedeno tijelo bavi su razvoj strategije upravljanja kvalitetom podataka, uspostavljanje potrebne organizacije i implementacija informacijskih sustava za tu namjenu. Unutar tako definiranog okruženja, svaki član tima ima svoju ulogu i odgovornosti. U velikim tvrtkama u svijetu ovakva organizacijska struktura je već uobičajena, dok se u Hrvatskoj još ne može susresti u praksi. 5.1. Tri okruženja za osiguranje kvalitete podataka Postoje tri osnovna okruženja za osiguranje kvalitete podataka, gdje se može osigurati da će podaci u skladištu podataka imati najviši stupanj kvalitete. Prva je instanca, naravno, čišćenje podataka u operativnom okruženju. Druga prilika je čišćenje podataka u integracijskom i transformacijskom sloju (procesu). Treća je prilika održavanje učitanih povijesnih podataka u samom skladištu podataka. 5.2. Čišćenje podataka na aplikacijskoj razini Čišćenje podataka na aplikacijskoj razini čini se najprirodnije mjesto za osiguranje kvalitete podataka. Što su podaci čišći na točki ulaza, bolja je kvaliteta podataka u skladištu podataka. Teoretski, ako su na aplikacijskoj razini podaci savršeno čisti, više ih nigdje neće biti potrebno čistiti. 40 / 95 Nažalost, u stvarnom ERP-u i transakcijskim sustavima to nije moguće. Nekoliko faktora onemogućava da aplikacija bude jedino rješenje za probleme vezane za kvalitetu podataka. Prvi problem je pitanje optimizacije aplikacije. Najbolja praksa je omogućiti brzi unos, promjenu i brisanje podataka u aplikaciji. Implementacija dodatnih kontrola i ograničenja može usporiti aplikaciju; rad s aplikacijom može učiniti manje ugodnim te može značajno oslabiti produktivnost, što će dovesti do lošeg konačnog rezultata. S druge strane, ručni unos podataka daleko je od savršenog, stoga je niska kvaliteta podataka u ovom slučaju neizbježna. Druga poteškoća je stanje same aplikacije. U mnogim slučajevima, aplikacija je stara i nije dobro dokumentirana. Vrlo često nije poznato gdje se nalazi zadnja verzija izvornog koda aplikacije. Čest je slučaj i da su aplikacije kreirane korištenjem zastarjelih alata i programskih jezika. Programeri koji su prvotno kreirali neke aplikacijske module možda su davno otišli iz kompanije. Programeri aplikacija često se boje ući u aplikacijski kod i značajnije ga mijenjati. Popravljanje jednog problema moglo bi uzrokovati pokretanje čitavog niza drugih problema. Krajnji rezultat je da je aplikacija lošija nego što je bila prije popravljanja. Razlog zašto osobe koje rade na razvoju aplikacije dvaput razmisle prije no što se vrate u stari kod je da oni ne vide koristi od toga jer su fokusirani na postojeće zahtjeve i ne vide hitnost, ili bilo kakvu motivaciju da se vraćaju u stari kod i da ga mijenjaju kako bi riješili tuđe probleme. Nažalost, čak i kada bi bilo moguće očistiti podatke na aplikacijskoj razini, još uvijek je potrebno podatke čistiti i kasnije, prilikom prebacivanja u skladište podataka. Razlog zašto je integracijsko i transformacijsko čišćenje još uvijek potrebno, čak i kada su aplikacijski podaci savršeni, leži u tome što aplikacijski podaci nisu integrirani s podacima iz drugih aplikacija i sustava. 41 / 95 Kompanije koje implementiraju skladište podataka obično imaju nekoliko aplikacijskih sustava koji imaju sučelja na aplikacijskoj razini samo za podatke koji se razmjenjuju, no glavni podaci nisu sinkronizirani. 5.3. Čišćenje podataka u integracijskom sloju Čišćenje podataka u integracijskom i transformacijskom sloju moguće je samo kada su podaci izvučeni iz aplikacija u privremeni spremnik. Svaka aplikacija ima vlastitu interpretaciju podataka, kako je to originalno odredio dizajner aplikacije. Definicije polja podataka, ključevi, atributi, strukture, kodne stranice i pravila dekodiranja razlikuju se između aplikacija. Isto tako, veze među podacima unutar i između sustava možda će ostati neotkrivene. Kako bi skladište podataka sadržavalo integrirane podatke, mnoge aplikacijske strukture i konvencije moraju se integrirati u jedinstveni skup struktura i konvencija. Anomalije podataka o imenima, adresama, opisima i šiframa računa drugo su područje za popravljanje. Nekonzistentnosti između definicija metapodataka i sadržaja podataka s vremenom dolaze do izražaja, npr. imena pravnih osoba pomiješana su s imenima fizičkih osoba, u adresama nedostaju neki podaci ili su postojeći podaci zastarjeli, neke informacije su nepotpune zato što su definicije polja za unos podataka nezadovoljavajuće, specijalni znakovi se koriste kao separatori, nedostaju neke vrijednosti u poljima s podacima, koriste se različite kratice, i sl. Ovi se problemi kvalitete podataka mogu naći u svakom skupu aplikacijskih podataka te mogu dovesti u pitanje ostvarivanje korporativne inteligencije. Integracijski i transformacijski sloj je ključna prilika za implementaciju procedura za poboljšanje kvalitete podataka, gdje će promjena na bolje imati 42 / 95 najznačajniji pozitivan poslovni rezultat, stoga će u ovom radu biti dan naglasak upravo na ovu priliku. Procesi koji će biti detaljnije opisani su čišćenje, ispravljanje, profiliranje, uparivanje, obogaćivanje, analiza i standardizacija podataka. 5.4. Održavanje povijesnih podataka u skladištu podataka Održavanje povijesnih podataka u skladištu podataka od vitalne je važnosti zbog toga što skladište podataka sadrži podatke prikupljene kroz neki vremenski period. Problem je u tome što se podaci s vremenom mijenjaju. U nekim slučajevima, promjene su spore i zanemarive. No, u nekim slučajevima promjene su brze i radikalne. S opisanim promjenama javlja se i potreba za održavanjem kvalitete podataka u skladištu podataka nakon što su podaci već učitani u skladište podataka. Najčešći način za praćenje promjena u podacima je korištenje dimenzija koje se sporo mijenjaju. Postoje tri osnovne vrste takvih dimenzija, koje su vrlo detaljno obrađene u teoriji skladištenja podataka te nekoliko hibridnih pristupa koji koriste neke od značajki pojedinih osnovnih tipova. Nekad su potrebna i radikalnija rješenja, koja se mogu prikazati kroz nekoliko jednostavnih primjera. Prvi je primjer uvođenje Eura kao nove valute u Europskoj uniji 2000. godine, što je sve prošle transakcije obavljene u bivšim valutama učinilo neupotrebljivim i neusporedivim s novim transakcijama. Prema tome, svi stari računi i fakture morali su se u skladištu podataka pretvoriti u iznose izražene u Eurima. Drugi je primjer zamjena postojećeg zastarjelog (eng. legacy) sustava s modernim transakcijskim sustavom, što se obično čini tako da se u novi transakcijski sustav učitaju samo otvorene stavke iz zastarjelog sustava. Svi 43 / 95 povijesni podaci koji su već učitani u skladište podataka moraju se pretvoriti i transformirati tako da budu usporedivi s novim podacima u skladištu podataka. 44 / 95 6. Pojmovi i algoritmi vezani za platforme za kvalitetu podataka U ovom poglavlju će biti opisani pojmovi i najčešće korišteni algiritmi za procjenu sličnosti, standardizaciju i uparivanje koji se pojavljuju unutar platformi za poboljšanje kvalitete podataka, kako bi se mogle detaljno opisati i ocijeniti pojedine platforme koje će biti uspoređene u sljedećim poglavljima. Riječ je uglavnom o matematičkim algortimima koji daju ocjenu sličnosti te o fonetskim algoritmima koji kodiraju imena temeljem načina na koji se izgovaraju. Kod implementacije algoritma unutar platformi za poboljšanje kvalitete podataka uvijek se postavlja prag sličnosti (engl. treshold) te svi parovi koji postignu rezultat iznad praga će biti proglašeni istovjetnim. Neke platforme imaju mogućnost definiranja i praga moguće sličnosti (engl. clerical), koji je niži od praga sličnosti te se parovi koji postignu rezultat (engl. score) između ta dva praga proglašavaju potencijalno istovjetnim. Parovi koji postignu rezultat ispod pragova proglašavaju se različitim. Kod nekih platformi moguće je za usporedbu dva niza paralelno koristiti nekoliko algoritama te konačan rezultat dobiti izračunom težinskog prosjeka na taj način dobivenog rezultata, što osigurava najpouzdanije rezultate. Pojmovi i algoritmi na koje će biti stavljen naglasak su sljedeći: Označavanje (engl. tokenization) Soundex i Nysiis Edit Distance algoritam Hamming Distance algoritam Jaro-Winkler algoritam Bigram algoritam Neizrazita (engl. fuzzy) logika 45 / 95 6.1. Označavanje Označavanje (engl. tokenization) je pojam koji se u računarstvu koristi za označavanje i po mogućnosti klasifikaciju dijelova niza znakova koji je potrebno obraditi. Oznake koji se dobiju kao rezultat procesa se zatim prosljeđuju sljedećim koracima u procesu obrade. Označavanje se često smatra dijelom procesa analize sintakse (engl. parsing). U platformama za poboljšanje kvalitete podataka, označavanje je naziv za proces koji se koristi za označavanje pojedinih elemenata niza, kako bi se u daljoj obradi niz mogao razdvojiti na sastavne dijelove i standardizirati. Postoji pet osnovnih tipova oznaka: Slovčana oznaka koja se sastoji od alfabetskih znakova (Word) Numerička oznaka koja se sastoji od brojčanih znakova (Number) Kod se sastoji od miješanih alfanumeričkih znakova (Code) Inicijal je jedan alfabetski znak (Initial) Simbol je punktuacija ili neki drugi simbol (Symbol) U samom procesu označavanja, bitne su i dvije komponente koje se moraju definirati. Prva komponenta je lista graničnika koji razdvajaju pojedine oznake – to su najčešće razmak, kosa crta ili točka u hrvatskom jeziku. Druga komponenta je lista znakova koje se kod označavanja treba ignorirati, koja se ponekad ne treba koristiti. Kod implementacije u pojedinim platformama za poboljšanje kvalitete podataka postoje i drugi tipovi oznaka osim pet osnovnih, koji ovise o platformi. Na njih u ovom radu neće biti stavljen dodatni naglasak, budući da se radi o izvedenicama osnovnih oznaka. U samom procesu označavanja, neke platforme omogućavaju da se niz od nekoliko riječi usporedi sa sadržajem postojećih riječnika te se za oznake koji su nađene u riječniku koristi oznaka koja se definira prema sadržaju rječnika. Tako bi niz „Marko Marković Smith“ označen imao oblik „word word word“, a 46 / 95 označen s korištenjem rječnika hrvatskih imena i prezimena imao oblik „ime prezime word“, budući da se Smith ne nalazi u rječniku hrvatskih imena i prezimena. Poseban slučaj označavanja je označavanje na nivou pojedinog znaka u nizu, gdje se radi analiza strukture pojedinog niza te se svakom znaku daje oznaka radi li se o slovu, numeričkom znaku ili simbolu. Ovakvo označavanje je korisno kod analize oblika zapisa i standardizacije telefonskih ili matičnih brojeva. 6.2. Soundex i NIISYS algoritmi Soundex je fonetski algoritam za indeksiranje imena po tome kako se izgovaraju na engleskom. Svrha algoritma je prepoznati imena koja se isto izgovaraju, na način da se kodiraju na isti način, kako bi se eliminirale manje pogreške u zapisivanju poput dvostrukih slova. Soundex je najpoznatiji fonetski algoritam [9], a razvili su ga Robert Russell i Margaret Odell te patentirali još 1918. godine. Soundex algoritam uvijek sačuva prvo slovo alfanumeričkog niza, a ostala slova zamijeni s brojkama. Važno je napomenuti da se sva pojavljivanja suglasnika i znakova h,w i y eliminiraju, osim ako nisu na prvom mjestu. Ostali suglasnici se kodiraju na sljedeći način: 1 – b, f, p, v 2 – c, g, j, k, q, s, x, z 3 – d, t 4–l 5 – m, n 6-r 47 / 95 Ukoliko se znak s istom kodom pojavi dvaput za redom, koristi se samo jedan kod. Također, maksimalna dužina kodiranog niza je 4. Ukoliko je niz kraći od 4, do kraja se nadopunjava s nulama. NIISYS algoritam je poboljšana varijanta Soundex algoritma, koju je uveo New York State Identification and Intelligence System 1970. godine, po čemu je algoritam i dobio naziv [9]. NIISYS algoritam daje poboljšanje u raspoznavanju 2,7% u odnosu na Soundex. Pravila kodiranja su znatno složenija. Oba ova algoritma su implementirana u većini platformi za poboljšanje kvalitete podataka. Najveći problem oba algortima za naše prilike je to što su napravljeni za engleski jezik te su za naša imena, koja su slavenskog porijekla, praktično neupotrebljivi. Postoji i algoritam koji se može koristiti za indeksiranje slavenskih imena. Taj algoritam poznat je kao Double Metaphone algoritam, a postavio ga je Lawrence Phillips 2000. godine [9], koji osim engleskih može indeksirati slavenska, germanska, francuska i druga imena. Ovaj algoritam je vrlo složen – primjerice samo slovo C se može „smjestiti“ u više od sto različitih konteksta. Ovaj algoritam ima javno objavljen kod za implementiraciju u programskim jezicima Java, Perl i PHP, ali ga se ne može naći u vodećim platformama za poboljšanje kvalitete podataka. Razlog tome je vjerojatno relativna novost algoritma, a također i pretežita usmjerenost platformi na englesko govorno područje. 48 / 95 6.3. Edit Distance algoritam Edit Distance algoritam [9] kreira rezultat sličnosti za dva niza podataka izračunom minimalnog broja transformacija odnosno „troška“ za transformaciju jednog niza u drugi ubacivanjem, brisanjem ili zamjenom pojedinih znakova. Što je rezultat veći, veća je i sličnost između dva niza. Algoritam je postavio Vladimir Levensthein 1965. godine te se po njemu često naziva i Levensthein Distance. Ovaj algoritam daje najbolje rezultate kada se uspoređuju nizovi koji sadrže jednu riječ ili kratki tekstualni nizovi, poput imena ili kratkih adresa. Za primjer se mogu uzeti dva niza: Kraljavićeva Ul Kraljevićeva Ul. Algoritam će izračunati trošak zamjene „a“ iz prvog niza s „e“ u drugom nizu te trošak dodavanja točke na kraju prvog niza. U implementaciji algoritma u pojedinoj platformi za poboljšanje kvalitete podataka, ostvareni rezultat sličnosti bi trebao biti preko 0,9, što bi značilo da su ova dva niza slična preko 90%. Implementacija ovog algoritma u pseudo kodnoj funkciji, koja uzima dva niza duljine m i n te izračunava rezultat sličnosti, izgleda ovako [9]: LevenshteinDistance(char s[1..m], char t[1..n]) // d is a table with m+1 rows and n+1 columns declare int d[0..m, 0..n] for i from 0 to m d[i, 0] := i for j from 1 to n d[0, j] := j 49 / 95 for i from 1 to m for j from 1 to n if s[i] = t[j] then cost := 0 else cost := 1 d[i, j] := minimum( d[i-1, j] + 1, // d[i, j-1] + 1, // deletion insertion d[i-1, j-1] + cost // substitution ) return d[m, n] 6.4. Hamming Distance algoritam Hamming Distance algoritam [9] postavio je Richard W. Hamming 1950. godine u radu koji se bavio pronalaženjem pogrešaka u prijenosu podataka. Algoritam služi za usporedbu nizova iste duljine te daje rezultat koji kaže koliko zamjena treba napraviti da bi dva niza koja se uspoređuju bila istovjetna. Dakle, ako su dva niza duljine sedam znakova potpuno jednaka, rezultat će biti nula, ako se razlikuju u jednom znaku, rezultat će biti jedan, a ako se razlikuju u svim znakovima, rezultat će biti sedam. Algoritam je vrlo jednostavan za implementaciju, a najčešće se koristi za usporedbu nizova kod kojih je bitna duljina i pozicija pojedinih znakova u nizu, poput telefonskih brojeva, poštanskih brojeva, matičnih brojeva ili bilo kojih drugih kodova. 50 / 95 6.5. Jaro-Winkler Distance algoritam Jaro-Winkler distance algoritam [9] postavio je W.E.Winkler 1999. godine, kao varijantu Jaro distance algoritma koji je postavio M.A. Jaro deset godina ranije. Jaro distance algoritam daje izračun različitosti, tj. distance dj dva niza s1 i s2, kao: dj = (m/a + m/b + (m-t)/ m) / 3 gdje je: m broj znakova koji su "uparivi”; a i b su duljine nizova s1 and s2; t je broj "premještanja". Dva znaka iz s1 i s2 se smatraju "uparivim" ako razmak njihovih pozicija nije veći od polovice duljine duljeg niza, umanjene za jedan. Svaki znak iz niza s1 se uspoređuje sa svim “uparivim” znakovima iz niza s2. Broj uparivih, a različitih znakova podjeljen s dva daje broj "premještanja". Jaro-Winkler distance algoritam razrađuje Jaro distance algoritam na način da favorizira nizove koji su istovjetni u prvih nekoliko znakova. Ako ponovo uzmemo nizove s1 i s2, njihova Jaro-Winkler distanca dw će biti: dw = dj + (l * p * (1 − dj)) gdje je: dj is Jaro distanca za nizove s1 i s2 l je broj znakova koji su istovjetni na početku oba niza p je konstanta, odnosno faktor kojim se rezultat sličnosti uvećava nizovima koji imaju takve zajedničke prefikse 51 / 95 Jaro-Winkler Distance algoritam jedan je od algoritama koji daje najbolje rezultate. Kod implementacija na pojedinim platformama za poboljšanje kvalitete podataka vrlo se često koristi reverzna logika, tako da se umjesto konstante za uvećavanje rezultata koristi konstanta za penalizaciju odnosno umanjenje rezultata ukoliko prvih l znakova na početku niza nisu istovjetni. Sustav za normalizaciju i uparivanje podataka baziran na implementaciji Jaro-Winkler algoritma u Java programskom jeziku izveden je 2007. godine za Croatia osiguranje te opisan u [13]. 6.6. Bigram Distance algoritam Bigram Distance algoritam [9] baziran je na analizi pojavljivanja parova uzastopnih znakova u dva niza znakova. U prvom koraku se svaki niz podijeli na podnizove od dva znaka, tako da se svaki znak u nizu osim zadnjeg koristi kao početni znak u podnizu. Što je veći broj parova koji se pojavljuju u oba niza, veći je rezultat koji algoritam daje. Ovaj algoritam daje najbolje rezultate kod uspoređivanja dugih nizova znakova, poput dugih adresnih linija ili komentara i napomena. Ako se uzmu kao primjer dva uobičajena imena – Dražen i Dragan – može se vidjeti kako Bigram Distance algoritam funkcionira. Kada se oba ova imena razlože na parove znakova dobija se sljedeće: Dražen – dr, ra, až, že, en Dragan – dr, ra, ag, ga, an Dobiveno je ukupno 10 parova znakova, od kojih se po dva iz svakog niza mogu upariti (označeni su italic fontom), tako da je ukupan rezultat 0,4, odnosno 40%. Važno je napomenuti da je Bigram Distance algoritam samo jedan od algoritama koji pripada grupi n-gram algoritama, gdje n može biti jedan, dva, tri ili više. N-gram algoritmi su vrlo dobro poznati u teoriji informacije. 52 / 95 Ti algoritmi se vrlo često koriste u obradi i analizi teksta, ne samo u platformama za poboljšanje kvalitete podataka, nego i kod prepoznavanja govora i u prediktivnim modelima. Ovisno o aplikaciji, n-gram algoritam može raditi sa znakovima ili riječima kao jediničnim elementima. Google neke od svojih algoritama za raspoznavanje i pretraživanje temelji na n-gram algoritmima. Bigram Distance je algoritam koji je vrlo jednostavan za shvaćanje, korištenje i implementaciju te ga se može naći implementiranog u većini vodećih platformi za poboljšanje kvalitete podataka. 6.7. Neizrazita logika Koncept neizrazite (engl. fuzzy) logike bazira se na pretpostavci da kod procesiranja podataka postoji mogućnost djelomične pripadnosti nasuprot uobičajene egzaktne logike pripadnosti odnosno nepripadnosti, odnosno na ocjeni relativnih pretpostavki u donošenju zaključaka. Pojednostavljeno, neizrazita logika koristi IF [A] AND [B] THEN [C] pristup da bi došla do rješenja, umjesto uobičajenog matematičkog modeliranja te je u tome vrlo slična ljudskom načinu zaključivanja. Važno je primijetiti da nema ELSE opcije te da su u neizrazitnoj logici sve alternative definirane. Kao primjer se može koristiti čovjek koji se tušira i situacija da je voda koju koristi prehladna i postaje sve hladnija, gdje bi neizrazitna logika dala sljedeće rezultate: 1) IF [voda je prehladna] AND [voda postaje hladnija] THEN [pojačaj toplu vodu] 2) IF [voda je jako hladna] AND [voda postaje hladnija] THEN [brzo pojačaj toplu vodu] 53 / 95 U ovom logičkom procesu nigdje egzaktno nije definirana temperatura vode i brzina hlađenja vode, ali zaključci koji su izvedeni su potpuno logični. Ovakva logika koristi se kod neegzaktnih premisa, ali ipak u implementaciji zahtijeva numeričke varijable koje ocjenjuju iznos nepreciznosti. Prema toj logici, iznos nepreciznosti (pogreške) od traženog ishoda u drugoj izjavi je veći nego u prvoj. Ovakva nedirektna logika omogućava raspoznavanje sličnih uzoraka te se koristi za eliminiranje pogrešaka i šumova u nizovima. U platformama za poboljšanje kvalitete podataka neizrazitna logika koristi se kod usporedbe i grupiranja atributa po sličnosti, kako bi se omogućila standardizacija i uparivanje podataka. 54 / 95 7. Proces poboljšanja kvalitete podataka Kao što je ranije navedeno, kvaliteta podataka u užem smislu se odnosi na kvalitetu sadržaja podataka u skladištu podataka te se uglavnom odnosi na čišćenje i korekciju podataka koji iz operativnih sustava dolaze u skladište podataka. Procesi poboljšanja kvalitete podataka za vrijeme integracije i transformacije podataka ponajviše su usmjereni na čišćenje podataka o klijentima, kao što su imena i adrese, budući da se u tim podacima nalazi najviše pogrešaka i nekonzistentnosti. Postoji nekoliko osnovnih tipova koraka u procesu poboljšanja kvalitete podataka koje bi trebalo uzeti u obzir ili implementirati unutar procesa, kako bi se u skladištu podataka osigurala visoka kvaliteta podataka, a to su: Analiza i profiliranje, Standardiziranje i ispravljanje, Obogaćivanje, Uparivanje i Preživljavanje. Svi navedeni koraci se ne moraju koristiti u procesu, a problem i potreba određuju koji od njih će biti upotrijebljen. U nastavku ovog poglavlja svaki od tih koraka biti će detaljnije opisan, kako bi kasnije u radu bio napravljen prikaz kako su konkretno implementirani. 7.1. Analiza i profiliranje Analiza i profiliranje je prva faza procesa poboljšanja kvalitete podataka. U ovoj fazi se analiziraju sadržaj i uzorci podataka kako bi se opisali uzorci izvora podataka koji se najčešće pojavljuju. Informacije koje se skupljaju na 55 / 95 ovaj način pomažu pri utvrđivanju razine trenutne kvalitete podataka i pri odlučivanju koje bi aktivnosti za poboljšanje kvalitete podataka trebalo uzeti u obzir kod sljedećih koraka. Profiliranje je vrlo moćno sredstvo za razumijevanje sadržaja podataka. Osim vrijednosti i frekvencija pojavljivanja pojedinih vrijednosti, alati za profiliranje omogućavaju mnoge druge funkcionalnosti, poput profiliranja upita koji povezuju više tablica, grafičkog prikaza vrijednosti te kreiranje pravila za standardizaciju i validaciju koja poboljšavaju vrijednost i razumljivost izrađenog profila. Kao primjer takve analize, uzorak broja pojavljivanja nekih uobičajenih riječi u slučajnom uzorku od 8.000 adresa prikazan je u Tablici 7.1. Riječ Broj pojavljivanja 00000085 B 00000050 BANA 00000157 BRAĆE 00000116 BRDO 00000112 BREG 00000088 BRIJEG 00000306 CESTA 00000089 D 00000059 DOL 00000085 DON 00000114 DONJA 00000076 DONJE 00000243 DONJI Tablica 7.1: Uzorak pojavljivanja nekih riječi u uzorku od 8.000 hrvatskih adresa 56 / 95 7.2. Standardizacija i korekcija Standardizacija i korekcija je sljedeća faza procesa poboljšanja kvalitete pdoataka. U ovoj se fazi imena i adrese standardiziraju kako bi se uskladili s listom važećih imena, adresa, poštanskih brojeva i gradova. Softverske platforme za poboljšanje kvalitete podataka moraju imati prethodno definirana pravila da bi se omogućila standardizacija podataka. Ova pravila uključuju tablice s važećim podacima, kao i procedure koje objašnjavaju kako se odnositi prema svakom uzorku koji se može pronaći unutar podataka te kako ga standardizirati. Na primjer, ako u izvornim podacima postoji vrijednost „Kraljavićeva Ul. 2B/3“, ta bi pravila trebala prepoznati dijelove adrese prikazane u Tablici 7.2. Dio adrese Kontekst Kraljavićeva Ime ulice Ul. Kratica vrste ulice 2 Kućni broj B Dodatak kućnom broju / Separator 3 Kat Tablica 7.2: Dijelovi adrese Kada se ispravno prepoznaju dijelovi adrese, tada se oni mogu ispraviti. U našem bi slučaju trebalo prepoznati i ispraviti dvije stvari: 57 / 95 1) „Kraljavićeva“ nije važeće ime ulice pa će se zamijeniti s „Kraljevićeva“, temeljeno na sličnosti uzorka netočno napisane i ispravne vrijednosti. 2) „Ul.“ je kratica za „Ulica“. Standardizacija se temelji na pragu tolerancije. Prag tolerancije određuje stupanj nesigurnosti koja se može tolerirati u zapisivanju neke oznake. Algortimi opisani u 6 koriste se kako bi se uzele u obzir fonetske greške, slučajna umetanja, brisanja te zamjena i transpozicija znakova. Posljednji korak ovog dijela procesa je preoblikovanje podataka u važeću formu koja će se koristiti u kasnijim koracima procesa. 7.3. Dopunjavanje Dopunjavanje je faza procesa u kojem se nedovršeni i nepotpuni podaci upotpunjavaju nedvojbeno ispravnim podatkovnim elementima. Primjerice, ako adresa kupca ima važeće ime grada, može se dopuniti s važećim poštanskim brojem, županijom ili regijom. Također, imena se mogu nadopuniti odgovarajućim prefiksima za oslovljavanje. Ovaj se korak ne koristi često zbog toga što se većina dopuna može obaviti u fazi standardizacije i korekcije. 7.4. Uparivanje Uparivanje je faza procesa poboljšanja kvalitete podataka u kojoj se zapisi uparuju s podacima iz različitih izvora, ovisno o relativnoj sličnosti. Obično se proces uparivanja obavlja kroz nekoliko faza. U svakoj fazi koristi se jedan ili više atributa za „blokiranje“ dijelova skupova zapisa koji će se 58 / 95 upariti te se analizira jedan ili više atributa kako bi se otkrilo da li su oni dovoljno slični da bi se radilo o podacima vezanim za istu osobu ili kućanstvo. Ako sličnost nadmašuje definirani prag sličnosti, upareni zapis će dobiti jedinstveni dodatni identifikator koji će ih definirati kao podatke o istom kupcu te će ih isključiti iz sljedećih faza. Primjerice, u jednom prolazu jedinstveni identifikator osobe može biti blokiran te će se usporediti atributi imena i prezimena. U drugom prolazu skupovi zapisa mogu blokirati ime i prezime, a usporedit će se atributi ulice i grada. Ove se grupe dodaju postojećima, nastalim u prvom prolazu. U sljedećim prolazima mogu se definirati dodatna pravila koja će označiti neke od preostalih podataka. Važno je napomenuti da se tu radi u grupama koje imaju dva ili više zapisa, a ne isključivo o parovima od dva zapisa. Osim zapisa koji sigurno predstavljaju iste subjekte, postoje i parovi koji možda predstavljaju iste subjekte, odnosno relativna sličnosti ima vrijednost manju od praga sličnosti, a veću od praga sigurne različitosti. Za takvo uparivanje koristi se engleski izraz clerical. Kod takvih uparivanja potrebna je ljudska intervencija kako bi se potvrdilo ili opovrgnulo da je riječ o pravom uparivanju te se za to najčešće koriste web sučelja koja su standardni dio funkcionalnosti vodećih platformi za poboljšanje kvalitete podataka. Slika 7.1. Informatica Data Quality Assistant – primjer web aplikacije u kojoj poslovni korisnik potvrđuje predloženo uparivanje 59 / 95 7.5. Preživljavanje Preživljavanje je zadnja faza procesa poboljšanja kvalitete podataka gdje se između svih uparenih zapisa biraju oni najbolji, koji se često naziva zlatni ili referentni zapis (engl. golden record). Svi preživjeli podaci ne moraju nužno potjecati iz samo jednog zapisa te najčešće sadrže dijelove nekoliko zapisa iz različitih izvornih sustava koji mogu potpuno opisati kupca. Primjerice, identifikator, ime, prezime i vrsta oslovljavanja mogu se preuzeti iz zapisa iz transakcijskog sustava, a adresa i broj telefona mogu biti iz zapisa iz kontakt centra. Za zapise koji su upareni sa sigurnošću većom od definiranog praga sličnosti, odabir atributa koji će preživjeti je najčešće automatiziran prema pravilima definiranim u standardizaciji, odnosno prema nivou pouzdanosti izvornog sustava iz kojeg dolaze. Za zapise koji su clerical, osoba (data steward) koja potvrđuje uparivanje, kroz korisničko sučelje odabire atribute koji će ići u zlatni zapis, a postoji i mogućnost direktnog unosa ako atribut ni iz jednog izvornog zapisa nije ispravan. Uparivanje i preživljavanje vrlo često su procesi koji se dešavaju istovremeno kroz jedno korisničko sučelje koje je opisano u 7.4 60 / 95 8. Dobavljači i platforme za poboljšanje kvalitete podataka Softverske platforme koji služe za profiliranje, čišćenje, standardiziranje, uparivanje i preživljavanje podataka poznati su kao platforme za poboljšanje kvalitete podataka. Analitičari tržišta kao što su Gartner Group [8] i Forrester [4] u svojim tržišnim analizama koje redovno publiciraju obuhvaćaju većinu značajnijih dobavljača. Ti su dobavljači povijesno bili manji od dobavljača platformi za poslovnu inteligenciju i integraciju podataka, pa je tržišni trend prije nekoliko godina bila jaka konsolidacija, gdje su velike kompanije na podatkovnom tržištu kupile manje dobavljače platformi za poboljšanje kvalitete podataka te integrirale njihovu tehnologiju u svoje platforme za integraciju podataka [4]. U posljednjih nekoliko godina su IBM, Informatica, SAP i SAS, zahvaljujući svojim cjelovitim rješenjima, preuzele značajan tržišni udio na tržištu platformi za poboljšanje kvalitete podataka, nadograđujući se s ovim dijelom ponude na integracijska rješenja. Također, ove tvrtke na tržištu platformi za poboljšanje kvalitete podataka imaju i vodeće položaje prema analitičarima [8]. Jedini značajan samostalan dobavljač na tom tržištu ostao je Trillium Software. Ostali važniji dobavljači poput Oraclea i Microsofta donose određene funkcionalnosti za upravljanje i poboljšanje kvalitete podataka u trenutnim verzijama svojih proizvoda, no zasad bez značajnijeg tržišnog utjecaja. Iako su platforme za poboljšanje kvalitete podataka dobro prihvaćene u SADu, postoje dva glavna problema zašto je njihova prihvaćenost na globalnoj razini još uvijek ograničena. Prvi razlog je što ovi alati još uvijek nisu u potpunosti integrirani s platformama za integraciju podataka i, iznenađujuće, vrlo često je potrebno uložiti mnogo truda kako bi se integrirala dva proizvoda, čak i od istog dobavljača, čime bi se trebala osigurati integracija korporativnih podataka. 61 / 95 Drugi razlog je problem s pravilima potrebnima za to da platforme pravilno rade s imenima i adresama. Pravila su specifična za pojedine jezike i države, a većina je dobavljača kreirala i prilagodila ova pravila za SAD i nekoliko najvažnijih svjetskih jezika – engleski, njemački, francuski i španjolski te u zadnje vrijeme sve češće i za jezike Dalekog Istoka. U Hrvatskoj se, u donekle značajnijoj mjeri, može osjetiti prisustvo nekoliko dobavljača, čije proizvode je autor koristio na stvarnim projektima te će u nastavku rada biti detaljnije opisani i uspoređeni. U ovom slučaju riječ je o dvije prave platforme za poboljšanje kvalitete podataka – IBM QualityStage i Informatica Data Quality te o dvije, u nas vrlo česte, platforme za integraciju podataka odnosno primarno za punjenje skladišta podataka, s limitiranom funkcionalnosti za čišćenje podataka – Oracle Warehouse Builder / Data Integrator i Microsoft SQL Server Integration Services. U Hrvatskoj su formalno prisutni SAS i SAP, ali nisu bitnije usmjereni prema implementaciji rješenja za poboljšanje kvalitete podataka. Autoru nije poznato da li netko u regiji koristi Trillium. 8.1. IBM QualityStage IBM QualityStage je nastao evolucijom platforme Vality koje je tadašnji Ascential kupio 2002. godine. Arhitektura tog proizvoda je bila prilično zastarjela. Primjerice, mogao ja kao izvor i izlaz koristiti samo datoteke s fiksnom duljinom kolona, nazivi datoteka i kolona mogli su imati do osam slova, a nije postojao nikakav relacijski repozitorij metapodataka. Vizualno korisničko sučelje bilo je vrlo rudimentarno, dok se za razvoj pravila koristio vrlo složen i specifičan programski jezik. Unatoč svim tim manama, platforma je imala odlične ugrađene algoritme te je funkcionirala vrlo stabilno i s kvalitetnim rezultatima. 62 / 95 U novijim verzijama, unazad nekoliko godina, QualityStage je integriran s DataStage platformom za integraciju podataka te većina ovih problema osim specifičnog programskog jezika u aktualnim verzijama više nije prisutna Možda jedina ozbiljnija zamjerka aktualnoj inačici QualityStage platforme je nepostojanje web sučelja za poslovne korisnike i analitičare, pomoću kojeg bi oni direktno mogli raditi na poboljšanju kvalitete podataka. Također, platforma za profiliranje Information Analyzer je potpuno odvojen proizvod te funkcionalnosti nisu integrirane, iako je profiliranje prvi korak u procesu poboljšanja kvalitete podataka. U našoj regiji IBM QualityStage koristi T-Mobile Hrvatska. 8.2. Informatica Data Quality Osnova Informatica Data Quality platforme su dva proizvoda koje je Informatica dobila kupovinom tvrtke Similarity Systems. Jedan proizvod je bio namijenjen za profiliranje, a drugi za poboljšanje kvalitete podataka. U današnjoj verziji, platforma za kvaltietu podataka Informatica Data Quality ima i sve potrebne funkcionalnosti za profiliranje. Uz profiliranje, postoje i dodatne komponenete za utvrđivanje identiteta osoba te za validaciju i standardizaciju adresa za većinu država u svijetu. Informatica Data Quality je u potpunosti integrirana s Informatica PowerCentrom, platformom za integraciju podataka. Bitna strateška odrednica općenitog razvoja Informatica platformi je integracija aktivnosti poslovnih i IT funkcija. To je razlog zbog kojeg Informatica Data Quality ima i web aplikaciju koja se naziva Analyst, u kojoj poslovni korisnici mogu profilirati i pregledavati podatke, kreirati jednostavna pravila, kreirati ključne indikatore za praćenje kvalitete podataka, pratiti povijest izvršavanja procesa i rezultata, verificirati uparene zapisa, odnosno pregledavati, popravljati i verificirati odbačene zapise. 63 / 95 Slika 8.1. Informatica Data Quality Analyst – sučelje u web pretraživaču namjenjeno primarno poslovnim korisnicima Uspoređujući s funkcionalnostima drugih vodećih platformi, autor je mišljenja da je Informatica Data Quality trenutačno najpotpunije i najfleksibilnije rješenje na tržištu. U našoj regiji Informatica Data Quality koriste Hrvatski, Slovenski i Crnogorski telekom. 8.3. Oracle Warehouse Builder i Oracle Data Integrator Oracle nikada nije imao ozbiljniji fokus na razvoj ili akviziciju specifične platforme za poboljšanje kvalitete podataka. Oba njihova proizvoda za integraciju podataka imaju neke osnovne funkcionalnosti za poboljšanje kvalitete podataka, ali u obimu i kvaliteti koja nije usporediva s platformama Informatice i IBM-a. 64 / 95 Pristup Oraclea se najčešće temeljio na rješenjima u kojima se kao ugrađena funkcionalnost (engl. OEM – original equipment manufacturer) koristi neka od postojećih platformi na tržištu. Ovisno o tome da li je neko rješenje plod internog razvoja ili je došlo kroz akviziciju kojih je Oracle napravio vrlo mnogo u proteklih desetak godina u različitim područjima, najčešće su u Oracleovim rješenjima ugrađene platforme Informatice i Trilliuma. Autoru nije poznato da netko od većih korporativnih korisnika u našoj regiji koristi Oracle proizvode za poboljšanje kvalitete podataka sustavno i u ozbiljnijem obimu. 8.4. Microsoft Microsoft SQL Server Integration Services unutar svoje integracijske platforme nudi vrlo bazičnu funkcionalnost za poboljšanje kvalitete podataka, koja od prethodno opisanih funkcionalnosti pokriva samo uparivanje i grupiranje temeljem usporedbe nejednakih vrijednosti po sličnosti korištenjem Fuzzy logike. Za to se koriste dvije ugrađene transformacije – Fuzzy Lookup i Fuzzy Grouping. Fuzzy Lookup set ulaznih podataka uparuje s već postojećim setom referentnih podataka prema odabranom ključu ili ključevima te na temelju procjene da li se radi o podatku koji se nalazi ili ne nalazi unutar referentnog seta usmjerava ulazni podatak u jedan od dva izlazna seta – novi podatak ili već postojeći podatak. Fuzzy Grouping uzima set ulaznih podataka, unutar njih pronalazi grupe zapisa koje smatra jednakima te ih sukladno tome u izlaznom setu grupira. Kod obje transformacije može se podesiti koji će se znakovi smatrati graničnicima te podesiti prag minimalne sličnosti. 65 / 95 Iako je riječ o elementarnoj funkcionalnosti uparivanja i deduplikacije, u određenim slučajevima na projektima ove transformacije su se već pokazale izuzetno korisnima, pogotovo kod konsolidacije matičnih podataka o klijentima koji dolaze iz više različitih operativnih aplikacija. Dakle, od pet osnovnih funkcionalnosti za poboljšanje kvalitete podataka Microsoft SQL Server Integration Services ima implementiranu samo jednu. Microsoft je za sljedeću verziju platforme (kodno ime Denali, SQL Server 2012) najavio implementaciju i dodatnih transformacija koje će se baviti problemima vezanim za profiliranje, standardizaciju i dopunjavanje. 66 / 95 9. Proces lokalizacije i izrade pravila za Hrvatsku Prije no što se počne koristiti platforma za poboljšanje kvalitete podataka s ciljem čišćenja podataka koji se koriste u hrvatskim kompanijama, potrebno je kreirati potrebna pravila obrade podataka za Hrvatsku. Prvi korak je osiguranje odgovarajuće potpore hrvatskim kodnim stranicama koje trebaju izraditi osobe zadužene za razvijanje platformi i koje trebaju biti kodirane unutar samog proizvoda. Na sreću, u Hrvatskoj se koriste Latin II kodne stranice koje se koriste i u mnogim drugim srednjoeuropskim zemljama, pa je većina dobavljača već izradila potporu za Windows-1250 i ASCII8859-2 kodne stranice. Nažalost, to je samo jedan olakšavajući faktor koji će omogućiti kreiranje lokalnih pravila. Drugi i mnogo zahtjevniji korak je kreiranje nekoliko pravila koja će osigurati funkcionalnosti platforme za čišćenje i standardiziranje hrvatskih podataka. Ova su pravila načinjena od nekoliko komponenti koje su za svaku platformu različita te se trebaju dodatno razviti i pripremiti za korištenje. U nastavku će biti prikazano kako se za standardizaciju hrvatskih imena i adresa prilagođavaju dvije najprisutnije platforme na tržištu – IBM Quality Stage i Informatica Data Quality. 9.1. IBM QualityStage Najmanje jedan skup pravila potreban je za čišćenje podataka koji se odnose na imena, jedan za adrese i jedan za gradove. Osnovne komponente skupa pravila su Dictionary File, Klasifikacijska tablica, Pattern-Action File, Lookup tablica i Override tablica. 67 / 95 1) Dictionary File definira polja za izlaznu datoteku ili tablicu skupa pravila. Ova datoteka sadrži listu domena i polja za uparivanje i izvještavanje. Svako polje je identificirano pomoću kratice, na primjer IG za Ime Grada. Ovdje se također mogu pronaći informacije o tipu podataka (npr. character) i njihovoj duljini. 2) Klasifikacijska tablica omogućuje procesu standardizacije da identificira i klasificira ključne riječi, kao štu su ime ulice, tip ulice, smjerovi i sl., tako da osigura standardne kratice za svaku riječ i listu klasifikacijskih oznaka koje se tijekom obrade pridružuju pojedinim elementima podataka. Stadij standardizacije koristi Klasifikacijsku tabelu za identifikaciju i klasifikaciju ključnih riječi, kao što su tip ulice i vrsta oslovljavanja. Klasifikacijska tablica omogućuje standardizaciju i ovakvih riječi. 3) Pattern-Action File sadrži pravila standardizacije; to su akcije izvršenja na temelju danih uzoraka oznaka. Standardizacija započinje s rastavljanjem svih elemenata adresa na oznake. Svaka oznaka je riječ, broj ili kombinacija odvojena pomoću jednog ili više razmaka. Kako se formiraju oznake, u isto vrijeme svaka se oznaka klasificira tako da se provjeri da li se već nalazi u Klasifikacijskoj tabeli. Ako već postoji, pridružen je određenoj klasi. Ako se ne nalazi u tabeli, oznaka se dodjeljuje jednoj od standardnih klasa: brojevima, slovima, nepoznatim ili nekim posebnim znakovima. 4) Lookup tablice sadrže informacije specifične za određeni skup pravila; na primjer, Lookup tablica sadrži imena uključena u skup pravila vezana za imena. Sadržaj ovih tablica može se po potrebi i ručno uređivati. Uključene tablice ovisne su o skupu pravila koja se odnose na njih. 5) Override tablice nadopunjavaju Klasifikacijsku tabelu i Pattern-Action File tako da tijekom obrade pružaju dodatne upute. Informacije u Override tablicama imaju prednost pred sadržajem datoteka iz prve četiri točke. Ove tablice omogućuju prilagodbu ponašanja tijekom označavanja i standardizacije ako su rezultati koji su dobiveni netočni ili nepotpuni. 68 / 95 Da bi se dovršila lokalizacija pravila za hrvatski jezik, potrebno je kreirati tri od pet opisanih komponenti: Klasifikacijsku tabelu, Lookup tablice i PatternAction file. Dictionary File koji definira strukturu je uglavnom isti kao i za skupove pravila za druge jezike. Override tablice se kreiraju u izvršnom okruženju, s ciljem finog podešavanja pravila. Nažalost, javni izvori koji mogu pomoći pri kreiranju Lookup i Klasifikacijskih tablica nisu dostupni, osim liste hrvatskih poštanskih ureda. Klasifikacijska tablica za svako pravilo kreirana je na temelju analize podataka pronađenih u nekoliko različitih velikih izvora podataka. Sve moguće različite verzije iste ključne riječi moraju se nalaziti u Klasifikacijskoj tablici. Oznaka Standardna vrijednost AV AVENIJA AVENIJA AVENIJA OD ODVOJAK ODV ODVOJAK ODVOJAK ODVOJAK OGRAN OGRANAK OGRANAK OGRANAK UL ULICA ULICA ULICA ŠET ŠETALIŠTE ŠETAL ŠETALIŠTE ŠETALIŠTE ŠETALIŠTE Tablica 9.1. Dio klasifikacijske tablice za HRADDR pravilo 69 / 95 Lookup tablica za svako se pravilo kreira na sličan način kao i Klasifikacijska tablica. Primjerice, za kreiranje Lookup tablice za osobna imena biti će korištena različita imena iz nekoliko velikih izvora. Ovu bi listu trebalo detaljno provjeriti i utvrditi ima li nepravilno napisanih imena, mogućih prezimena ili pak nehrvatskih imena. Ovo iziskuje mnogo više vremena nego kreiranje Lookup tablica. Isto tako, Klasifikacijske tablice zahtijevaju s vremenom mnogo više održavanja. Kreiranje Pattern-Action datoteke je najzahtjevniji dio procesa lokalizacije. Prvo treba analizirati sve uzorke podataka. Nakon toga, za sve moguće uzorke, akcije će se definirati tako da se svaka oznaka stavi u odgovarajuću kategoriju. Kada se oznake kategoriziraju, mogu se upariti s Lookup tablicama, pa se standardizirani podaci mogu preoblikovati. Hrvatske adrese sadrže mnoge specifičnosti koje se ne mogu pronaći u drugim zemljama. Rimski brojevi koriste se za određivanje dijelova ulica, kao na primjer „X. Kašinski odvojak 12 B“, a platforme za poboljšanje kvalitete podataka ih prepoznaju kao kratice, a ne kao brojeve. Drugi veliki problem bile su nejednoznačne veze između poštanskih ureda i poštanskih brojeva. Na primjer, i „Samoborska 15, Odranski Obrež, 10010 Novi Zagreb“ i „Samoborska 15, 10010 Odranski Obrež“ važeće su adrese. Kako bi se to riješilo, uveden je još jedan atribut adrese, tzv. naselje, pa je uzorak prepoznavanja postao još složeniji. Dodatna otežavajuća okolnost je što programski jezik koji se koristi za kreiranje pravila nije neki od uobičajenih programskih jezika, nego vlastito interno razvijeno rješenje koje najviše podjeća na assembler te je razvoj pravila spor i mukotrpan. Na slici 9.1. prikazan je izvadak koda koji obrađuje samo jednu proceduru kod obrade hrvatskih adresa. Cijela Pattern-Action datoteka ima više od dvije tisuće redova programskog koda. 70 / 95 ;-----------------------------------------------------------; Floors_and_Units SUBROUTINE Starts Here ;-----------------------------------------------------------\SUB Floors_and_Units ; Floor and Unit Patterns ; *F | ^ | $ | [ {FT} = "" & {FV} = "" ] COPY_A [1] {FT} COPY [2] {FV} RETYPE [2] 0 RETURN *U | ^ | $ | [ {UT} = "" & {UV} = "" ] COPY_A [1] {UT} COPY [2] {UV} RETYPE [1] 0 RETYPE [2] 0 RETURN \END_SUB Slika 9.1.: Primjer procedure za obradu katova kao dijela adrese u PatternAction Fileu u IBM QualityStage Kad se kreiraju sve potrebne tablice i pravila, može započeti faza testiranja i podešavanja pravila. Ova faza oduzima mnogo vremena. Izlazne vrijednosti procesa standardizacije uspoređuju se s ulazima kako bi se pronašli oni koji nisu definirani ili nisu na odgovarajući način obrađeni u Pattern-Action Fileu. IBM QualityStage ima kao dio korisničkog sučelja ugrađenu i funkcionalnost za testiranje pravila, koja unešeni slijed znakova obrađuje s odabranim pravilom i prikazuje povratne rezultate. 71 / 95 Slika 9.2.: Funkcionalnost testiranja pravila u IBM QualityStage platformi 72 / 95 9.2. Informatica Data Quality Informatica Data Quality je, za razliku od IBM QualityStagea, puno funkcionalnija platforma i za razvojnog stručnjaka i za krajnjeg korisnika. Prvi korak u procesu je kreiranje referentnih tablica. Referentne tablice se kasnije koriste za proces standardizacije te se u njima nalaze podaci o validnim imenima, prezimenima, prefiksima, sufiksima, adresama, naseljima, poštanskim brojevima i svemu ostalom što je potrebno. Ako se usporedi Informatica Data Quality s IBM QualityStageom, sadržaj referentne tablice u Informatici pokriva sadržaj Dictionary File i Klasifikacijske tablice. Referentne tablice korisnik sam kreira, sadržaj unosi direktno kroz web sučelje ili uvozi iz datoteka korištenjem jednostavnog čarobnjaka. U referentne tablice se osim navedenog sadržaja koji je vezan za korisnike i adrese može unositi i drugi sadržaj koji omogućava poboljšanje kvalitete podatak iz drugih domena, poput kodova i naziva proizvoda i slično. Jednom kada su referentne tablice kreirane i popunjene, ostatak posla se radi kroz Designer konzolu u kojoj se kreiraju preslikavanja koja ustvari obrađuju podatke. Svako preslikavanje se sastoji od jednog ili više izvora podataka, jedne ili više izlaznih tablica i datoteka te od transformacija koje obrađuju podatke. Različite transformacije rade različite obrade podataka, od označavanja, preko standardizacije i pretraživanja do uparivanja, uz korištenje algoritama detaljno opisanih u poglavlju 6. Unutar jednog preslikavanja može se napraviti kompletna obrada jednog ili više setova podataka. Unutar preslikavanja na svakoj transformaciji je moguće pregledati kako izgledaju izlazni podaci nakon te transformacije. Kreirana preslikavanja mogu se koristiti u batch modu ili se mogu publicirati kao web servis koji se poziva i koristi u realnom vremenu. 73 / 95 Slika 9.4.: Funkcionalnost izrade preslikavanja za kvalitetu podataka u Informatica Data Quality Developer konzoli Uz ovakav manualni pristup upravljanju kvalitetom podataka, Informatica ima i dvije dodatne komponente – Address Doctor i Identity Resolution, od kojih se ova prva može koristiti i za Hrvatsku. Address Doctor je u stvari dodatna komponenta u kojoj se nalazi adresni model većine svjetskih država, pa tako i Hrvatske. Za izradu tog modela koriste se podaci o gradovima, naseljima i ulicama koje u Hrvatskoj održava i ustupa za komercijalno korištenje Državna Geodetska Uprava. U Designeru postoji zasebna AddressDoctor transformacija koja ulaznu adresu, bilo prikazanu u standardnim redovima, bilo u slobodnoj formi, validira i standardizira prema ugrađenom predlošcima adresnog modela. Na izlazu se osim standardizirane adrese dobiva i kôd koliko Address Doctor neku adresu smatra verificiranom i pouzdanom. 74 / 95 Slika 9.4.: Funkcionalnost predložaka adresnog modela u Informatica Data Quality platformi Identity Resolution komponenta je ustvari set referentnih tablica za imena, prezimena, prefikse, formate identifikatora i brojeve putnih isprava za preko šezdeset svjetskih država, koja omogućava brzo pretraživanje, standardizaciju i uparivanje podataka u stvarnom vremenu. Na žalost, za ovu komponentu Hrvatska još nije podržana. 75 / 95 10. Studija slučaja T-Mobile Hrvatska 10.1. Okruženje projekta T-Mobile Hrvatska jedan je od vodećih pružatelja usluga mobilne komunikacije u Hrvatskoj. Orjentiranost na potrebe korisnika i kreiranje usluga u skladu s njihovim željama rezultiralo je izvrsnim rezultatima te je više od 2 milijuna korisnika prepoznalo kvalitetu i pouzdanost T-Mobilea. Društvena odgovornost jedna je od najvažnijih stavki poslovanja T-Mobilea, a kvalitetan odnos sa zajednicom u kojoj posluje tvrtka smatra osnovnim preduvjetom za uspješno poslovanje. T-Mobile pažljivo njeguje i svoj imidž ekološki osvještene kompanije, što potvrđuje i sustav upravljanja okolišem prema međunarodnoj normi ISO 14002. T-Mobile svaki dio svog poslovanja prilagođava najsuvremenijim europskim i svjetskim ekološkim normama. Glavno mjerilo prema kojem T-Mobile vrednuje svoje rezultate jest zadovoljstvo korisnika te najveći naglasak stavlja na kvalitetu svojih usluga te daljnju izgradnju i modernizaciju mreže. 2010. godine je T-Mobile pripojen Hrvatskom Telekomu i u tijeku je integracija informacijskih sustava dviju tvrtki. 10.2. Poslovne potrebe T-Mobile Hrvatska je imao potrebu značajno povećati svoju sposobnost prikupljanja i analize poslovnih podataka kako bi podržao ostvarenje dva poslovna cilja: Povećanje i zaštita prihoda Povećanje operativne efikasnosti 76 / 95 Slijedom navedenog, započet je projekt implementacije skladišta podataka čiji je sadržaj bio namjenjen prvenstveno rukovoditeljima i poslovnim korisnicima za donošenje pravovremenih i kvalitetnih poslovnih odluka, putem korištenja pravovremenih i pouzdanih informacija. Na podacima iz skladišta podataka nadograđuje se snažna podrška za sustav poslovne inteligencije. Rezultat projekta bilo bi potpuno funkcionalno skladište podataka sa svim potrebnim podacima definiranim na razini tvrtke, implementirano u fazama. Projekt implementacije skladišta podataka nije uključivao uvođenje platforme za analizu i izvještavanje. Uvođenje sučelja za analizu i izvještavanje izvršeno je kroz drugi, paralelni projekt. 10.3. Arhitektura rješenja Arhitektura rješenja.prikazana je na slici 10.1: Slika 10.1: Arhitektura T-Mobile DWH sustava 77 / 95 Pojedine komponente sustava su sljedeće: Data Sources (Izvori podataka) ― izvori podataka su operacijski sustavi T-Mobile-a Hrvatska iz kojih se podaci ekstrahiraju za potrebe punjenja skladišta podataka. Staging Area (privremeni spremnik) ― ovaj privemeni spremnik koristi se tijekom transformacije i učitavanja podataka kako bi se poboljšale performanse učitavanja te omogućilo kombiniranje podataka koji potječu iz različitih sustava. Spremnik je instanca Oracle 10g baze podataka. Data Warehouse Data Store (skladište podataka) ― ovo je ključna komponenta sustava koja služi kao spremnik u kojem su pohranjene sve ključne poslovne informacije, obrađene i pripremljene za potrebe izvještavanja i analize. Spremnik je instanca Oracle 10g Enterprise Edition baze podataka s opcijom particioniranja. Application Architecture ― ovaj dio arhitekture uključuje sustav za razvoj procedura za ekstrakciju, transformaciju i učitavanje podataka u skladište podataka i upravljanje tijekom procesa ažuriranja podataka u skladištu podataka, arhiviranja podataka te migracije između razvojnog, testnog i produkcijskog okruženja. Metadata Management Architecture – arhitektura za upravljanje metapodacima (podacima o podacima) omogućuje upravljanje poslovnim i tehničkim metapodacima, metapodacima vezanim za dizajn procedura za ekstrakciju, transformaciju i učitavanje podataka u skladište korisničkih podataka izvještaja te metapodacima i analiza. Ova potrebnim za komponenta kreiranje osigurava konzistentnost nazivlja i korištenosti pojedinih elemenata informacija poput struktura, definicija ili kalkulacija kroz cijeli analitički sustav. Data Quality Architecture – Moduli za osiguravanje kvalitete podataka koriste se za profiliranje, standardizciju, uparivanje i čišćenje 78 / 95 postojećih podataka o klijentima i adresama iz postojećih operativnih sustava. 10.4. Ključni indikatori poslovanja i dimenzije Dvije su osnovne komponente na kojima se temelji definicija funkcionalnosti sustava – dimenzije i ključni indikatori poslovanja (engl. KPI – Key Performance Indicators). Indikatori su definirani kao pokazatelji vrijednosti mjera u kontekstu pojedinih dimenzija, imaju numeričku vrijednost, usporedivi su s planskim vrijednostima u vremenu te u kontekstu pojedinih dimenzija. Indikatori su bili grupirani u grupe (obitelji) indikatora koji predstavljaju ključne grupe subjekata (logičkih entiteta) u mobilnoj komunikaciji. Dimenzije opisuju zahtjeve za grupiranje i filtriranje numeričkih podataka u mjerema i vezanim ključnim pokazateljma poslovanja. Dimenzije su bile grupirane u grupe (obitelji) dimenzija koje su pandan obiteljima indikatora. Za potrebe projekta napravljena je matrica konteksta pojedinog ključnog pokazatelja uspješnosti prema dimenzijama u kojem njegova analiza ima smisla. Primjerice, analiza ostvarenog prometa ima kontekst u dimenziji korisnika, dimenziji vremena i dimenziji korištenog proizvoda / usluge, ali nema kontekst u obitelji dimenzija investicija jer nije direktno vezana ni uz jednu investiciju. 10.5. Hardverska infrastruktura Hardverska infrastruktura bazira se na Hewlet-Packard PA RISC rp7420 serverima s HP-UX operacijskim sustavom. U dva servera na raspolaganju sustavu je 16 procesora, od kojih 6 koristi produkcijska instanca skladišta 79 / 95 podataka, a 6 je na raspolaganju za procese integracije podataka i produkcijski privremeni spremnik. Ova dva čvora nalaze se u klasteru te u slučaju da jedan čvora nije dostupan drugi će preuzeti funkciju oba čvora. Od preostala četiri procesora, po dva procesora alocirana su za razvojnu i testnu instancu skladišta podataka. Ukupna raspoloživost prostora za pohranu podataka je 5 TB, od kojih je većina na raspolaganju za produkcijsku instancu skladišta podataka. Druge tri instance Oracle baze podataka koje zauzimaju značajno manje diskovnog prostora su razvojna i testna instanca skladišta podataka te zajednička instanca privremenog spremnika. Dimenzioniranje sustava napravljeno je na način da može sadržavati povijest svih potrebnih poslovnih podataka što u detaljnom, što u agregiranom obliku. Drugi bitan zahtjev kod dimenzioniranja sustava bio je da u previđenom noćnom prozoru za učitavanje podataka bude moguće učitati sve potrebne podatke iz operacijskih sustava. 10.6. Softverska infrastruktura Kao baza podataka za sve instance skladišta podataka i privremeni spremnik korištena je Oracle 10g Enterprise Edition baza podataka. Kako je implementacija projekta počela u rujnu 2004., ovo je bila prva implementacija skladišta podataka na Oracle 10g bazi podataka u našoj regiji koja je premašila 1 TB podataka. Za aplikacijsku, metapodatkovnu i arhitekturu za kvalitetu podataka korišteni su su proizvodi tvrtke Ascential – DataStage, MetaStage i QualityStage. Tvrtku Ascential je u međuvremenu preuzeo IBM, koji je ove proizvode nastavio podržavati unutar InfoSphere obitelji proizvoda. 80 / 95 Kao osnova za modeliranje skladišta podataka korišten je standardni industrijski model skladišta podataka za mobilne operatere tvrtke ADRM. Kako je navedeni model bio razvijen temeljem poslovne prakse sjevernoameričkih operatera, zahtijevao je znatnu doradu za potrebe projekta u T-Mobile-u Hrvatska. Kao front-end platforma za izvještavanje korišten je Business Objects. 10.7. Implementacijski tim Tijekom implementacije na projektu je radilo više od dvadeset eksternih stručnjaka, uz veliki interni angažman djelatnika T-Mobile-a Hrvatska, kako informatičara, tako i poslovnih korisnika. Uloge unutar projekta su uključivale voditelja projekta i menadžera osiguranja kvalitete, koji su se brinuli za organizaciju projekta i kvalitetu isporuke tijekom cijelog trajanja projekta. Poslovni, podatkovni i sistemski analitičari su u suradnji s ključnim korisnicima definirali funkcionalni dizajn sustava i kreirali funkcionalne specifikacije. Glavni arhitekt je na temelju funkcionalne specifikacije prilagođavao postojeći industrijski model i kreirao detaljnu tehničku specifikaciju, koja je uključivala i definiranje strategije za ažuriranje podataka u skladištu podataka. Eksperti za razvoj procedura za ekstrakciju, transformaciju, učitavanje i kvalitetu podataka su kreirali i testirali procedure za punjenje podataka u skladište. UNIX i Oracle administratori brinuli su se za konfiguraciju, dostupnost, performanse i sigurnost sustava. 81 / 95 Treneri su osigurali pravovremeni transfer znanja na djelatnike T-Mobilea, kroz tečajeve, kroz praktične radionice i zajednički rad na razvoju procedura. Testiranje je vršeno prvo unutar tehničkog projektnog tima kako bi se osiguralo da sve procedure za učitavanje rade prema specifikaciji te da su podaci u skladištu podataka točni i konzistentni. Na kraju svakog modula je rađeno korisničko testiranje i prihvaćanje modula, nakon čega je počelo produkcijsko korištenje. Nositelj projekta je bio Siemens Hrvatska, čija je nadležnost bila vođenje projekta, osiguranje kvalitete, integracija s izvornim sustavima i razvoj dijela procedura za integraciju podataka. Implementirano je rješenje tvrtke Poslovna inteligencija, koja je u projektu bila zadužena za analizu, dizajn modela, razvoj procedura za poboljšanje kvalitete podataka i većeg dijela procedura za integraciju podataka. Za infrastrukturu su se na projektu brinuli S&T i Hewlet-Packard. 10.8. Proces implementacije Projekt je bio podjeljen u pet faza, sukladno predviđenoj funkcionalnosti i izvornim sustavima iz kojih je vršena ekstrakcija podataka. Na Slici 10.2 prikazan je model T-Mobile DWH sustava koji je u svakoj sljedećoj fazi projekta proširivan i nadograđivan novim funkcionalnostima. Različitim bojama označena su različita subjektna područja koja su međusobno više ili manje ovisna. 82 / 95 Slika 10.2.: Model T-Mobile DWH sustava 10.9. Implementacija rješenja za poboljšanje kvalitete podataka Procedure za poboljšanje kvalitete podataka su u projektu implementacije skladišta podataka korištene prvenstveno za poboljšanje kvalitete podataka o korisnicima usluga T-Mobilea. Kao prva i najzahtjevnija aktivnost odrađeno je kreiranje potrebnih pravila detaljno opisanih u poglavlju 9.1, budući da je bila riječ o prvoj implementaciji navedene platforme u Hrvatskoj [17]. U prvom koraku obrade su standardizirani adresni podaci za fizičke i korporativne postpaid korisnike. Inicijalno je korišten adresni model nabavljen od Državnog zavoda za statistiku (to je model koji se sada nabavlja od Državne Geodetske Uprave). Prilikom integracije Hrvatskog Telekoma i TMobilea standardizacija je modificirana da koristi interni adresni model Hrvatskog Telekoma. U drugom koraku je napravljeno uparivanje novih korisnika s postojećim korsnicima, kako bi se otkrili potencijalni duplikati. U tom koraku se kreira 83 / 95 tablica u kojoj se nalaze ID-evi potencijalnih duplikata te pripadajući koeficijent sličnosti. Nakon drugog koraka podatke preuzima platforma za integraciju podataka pomoću koje se odvija dalje procesiranje. 10.10. Sljedeći koraci DWH sustav je u produkcijskom korištenju. U T-Mobileu se tim od pet informatičara brine za održavanje i dalji razvoj sustava, a uz skladište podataka isti tim održava i Business Objects reporting sustav. S dobavljačem je potpisan Service Level Agreement (SLA) koji T-Mobileu osigurava podršku za održavanje i razvoj sustava. Sljedeći koraci odnose se uglavnom na poboljšanja i dorade postojećeg modela te kreiranje procedura za učitavanje podataka iz novoimplementiranih operativnih sustava. Više aktivnosti u sljedećem periodu može se očekivati u dijelu korištenja podataka sukladno potrebama krajnjih korisnika. Početkom 2011. godine sustav je migriran na aktualnu verziju 8.5, u kojoj su funkcionalnosti DataStage i QualityStage platforme integrirane u jedno funkcionalno okruženje. 10.11. Rezultati uvođenja sustava DWH sustav u T-Mobileu je integrirano, skalabilno, kompleksno i centralizirano skladište podataka organizirano prema specifičnim zahtjevima krajnjih korisnika. Sustav je namijenjen izvještavanju (samostalno, od strane krajnjih korisnika), analizi podataka i podršci u donošenju odluka. 84 / 95 DWH sustav sadrži kompanijske podatke prikupljene iz cijelog niza produkcijskih sustava. Podaci se, sukladno potrebama, čuvaju u detaljnom i/ili u agregiranom obliku kroz duži vremenski period, kako bi se osiguralo povijesno praćenje i izvještavanje. DWH sustav je optimiziran za operacije nad velikom količinom podataka i zadovoljavajući odziv prema krajnjim korisnicima, a bitno je naglasiti kako je kvaliteta podataka u DWH sustavu unaprijeđena u odnosu na izvorišne sustave te da se kontinurano poboljašava i unapređuje. Krajnji rezultat je sustav korišten u cijeloj kompaniji, koji sadrži kvalitetne podatke te koji služi kao podloga za donošenje poslovnih odluka. 85 / 95 11. Zaključak Kvaliteta podataka se u organizaciji mora razmatrati u najširem mogućem kontekstu svih poslovnih sustava u okviru inicijativa za upravljanje podacima. Skladište podataka je samo jedan od sustava u kojem se platforme za kvalitetu podataka mogu koristiti. Ako se gleda u širem kontekstu, kvaliteta podataka u skladištima podataka se ne odnosi samo na kvalitetu samih podataka, nego i na kvalitetu definicije podataka i kvalitetu prikaza podataka. Niti jedna od vodećih platformi za poboljšanje kvalitete podataka nije u procesu standardizacije i čišćenja spremna za rad s imenima, prezimenima i adresama specifičnim za hrvatski jezik, odnosno nemaju ugrađenu odgovarajuću aplikacijsku logiku i referentne podatke za Hrvatsku. Prije korištenja tih platformi potrebno je kreirati pravila za hrvatska imena i adrese. Za neke platforme, kreiranje pravila za platformu za poboljšanje kvalitete podataka za hrvatski jezik nije lagan i tečan proces, zbog arhitekture platformi koje nisu jednostavne za kreiranje ekstenzija. Jedna od glavnih smetnji je nedostatak javno dostupnih izvora važećih hrvatskih imena i adresa koji bi se mogli iskoristiti za kreiranje Klasifikacijskih tablica. Drugi veliki problem je nejednoznačna veza između poštanskih ureda i poštanskih brojeva, odnosno postojanje pojma naselja koji nije prisutan u drugim europskim adresnim modelima, koja dodatno posložava kreiranje pravila. Faza podešavanja pravila nakon početnog kreiranja zahtjeva najviše vremena. Kada se jednom kreiraju, pravila zahtijevaju neprestano održavanje i nadograđivanje. U zadnjih nekoliko godina pojavile su se tehnologije i nove verzije platformi s kojima se radi potpuno u vizualnom okruženju. Proces razvoja i implementacije rješenja je znatno brži, a moguće je koristiti funkcionalnosti 86 / 95 za poboljšanje kvalitete podataka u realnom vremenu za potrebe implementacije rješenja za upravljanje matičnim podacima. Stupanj prihvaćenosti rješenja za poboljšanje kvalitete podataka na tržištu je još uvijek prilično nizak, prvenstveno zbog tri glavna razloga. Prvi razlog je organizacijska nespremnost velikih tvrtki na organizaciju funkcije upravljanja kvalitetom podataka. Drugi razlog je nesvjesnost da takve platforme uopće postoje. Treći razlog je visoka cijena postojećih platformi. U budućnosti se može očekivati da će i druge velike tvrtke u Hrvatskoj, prvenstveno financijske institucije i telekomunikacijski operateri, implementirati sustave za upravljanje kvalitetom podataka. 87 / 95 Reference [1] Larry P. English: „Data Quality: Meeting Customer Needs, Data Quality Management“, 1998, Pitney Bowes Inc. [2] William H. Inmon: „Enterprise Intelligence – Enabling High Quality in the Data Warehouse / DSS Enviroment“, 2002, Ascential Software Corporation [3] William H. Inmon, „Building the Data Warehouse, Third Edition“, 2002, John Wiley & Sons [4] Rob Karell: „The Forrester Wave™: Enterprise Data Quality Platforms, Q4 2010“ , 2010, Forrester Research [5] „QualityStage Designer User Guide“, 2003, Ascential Software Corporation [6] Ted Friedman, Mark A. Beyer, Eric Thoo: „Magic Quadrant for Data Integration Tools“, 2010, Gartner Group [7] John Schmidt, David Lyle: „Integration Competency Center: An Implementation Methodology“, Informatica Corporation, 2005 [8] Ted Friedman, Andreas Bitterer: „Magic Quadrant for Data Quality Tools“, 2011, Gartner Group [9] www.wikipedia.org [10] Dražen Oreščanin: „Implementacija skladišta podataka u T-Mobile Hrvatska“, 2006, Zbornik radova HrOUG konferencije [11] G. Shankaranarayanan, Yu Cai: „Supporting data quality management in decision-making“, 2005, Boston University School of Management [12] Kristin Wende: „A Model for Data Governance – Organising Accountabilities for Data Quality Management, Institute of Information Management“, 2007, University of St. Gallen 88 / 95 [13] Dražen Oreščanin, Krešimir Šikić, Fran Pregernik: „Sustav za normalizaciju i uparivanje podataka u Croatia Osiguranju“, 2008, Zbornik radova MIPRO konferencije [14] Larry P. English: „mproving Data Warehouse and Business Information Quality: Methods for Reducing Costs and Increasing Profits“, 1999, Wiley & Sons [15] Richard West, Stephen L.Daige: „Total Cost of Ownership: Strategic tool for ERP Planning and Implementation“, 2006, California State University [16] Philip Howard: „Master Data Management and Data Integration: Complementary but distinct*, 2006, Bloor Research [17] Dražen Oreščanin, Lidija Ivaštinović: „Localization of Data Quality Rules for Croatian language“, 2006, Zbornik radova MIPRO konferencije 89 / 95 Osiguranje kvalitete podataka u skladištima podataka Sažetak: Put od podataka do informacija i znanja nije jednostavan. Na tom putu se uvijek pojavljuje problem kvalitete podataka. Podaci u transakcijskim sustavima uvijek su jednim dijelom nepotpuni, nekonzistentni i netočni. U projektima implementacije skladišta podataka i sustava poslovne inteligencije vrlo velika pažnja posvećuje se kvaliteti podataka te su razvijene politike osiguranja kvalitete podataka, platforme i algoritmi za čišćenje, konsolidaciju i ispravljanje netočnih podataka. Platforme za poboljšanje kvalitete podataka vjerojatno čine najmanje istraženu i korištenu grupu analitičkog softvera u Hrvatskoj. Hrvatsko tržište nije dovoljno veliko da bude zanimljivo globalnim dobavljačima da ulažu u razvoj lokaliziranih pravila za svoje platforme. Niti jedna od vodećih platformi za poboljšanje kvalitete podataka nije u procesu standardizacije i čišćenja spremna za rad s imenima, prezimenima i adresama specifičnim za hrvatski jezik, odnosno nema ugrađenu odgovarajuću aplikacijsku logiku i referentne podatke za Hrvatsku. Prije korištenja tih platformi potrebno je kreirati pravila za hrvatska imena i adrese. Za neke platforme, kreiranje pravila za hrvatski jezik nije lagan proces, zbog arhitekture platformi koje nisu jednostavne za kreiranje ekstenzija. Ovaj rad prikazuje lokalizacijski proces i kreiranje skupa pravila za poboljšanje kvalitete podataka za dvije vodeće platforme te praktični primjer implementacije na projektu u velikoj hrvatskoj tvrtki. Ključne riječi: Kvaliteta podataka, skladišta podataka, integracija podataka 90 / 95 Data Quality Assurance in Data Warehouse Summary: The path from data to information and knowledge is not easy. On this path there is always the problem of data quality. Data in operational systems are always partly incomplete, inconsistent and inaccurate. During implementation of data warehouse and business intelligence systems great attention must be paid to the quality of data. Policies for data quality assurance, platforms and algorithms for the cleaning, consolidation and correction of inaccurate data were developed. Platforms for improving data quality are probably the least explored and used group of analytical software in Croatia. Croatian market is not big enough to be interesting to global suppliers to invest in the development of localized rules for their platforms. None of the leading platforms for improving data quality is ready to work with the names and addresses specific to the Croatian language in the process of standardization and cleansing. Before using these platforms need to create rules for Croatian names and addresses. For some platforms, creating rules for the Croatian language is not an easy process, because the architecture of the platforms is not easy for creating extensions. This work shows the localization process and creation of a set of rules for improving the quality of data for the two leading platforms, and a practical example of implementation of the project in a large Croatian company. Keywords: Data Quality, Data Warehouse, Data Integration 91 / 95 Dražen Oreščanin - Životopis Dražen Oreščanin je rođen u Zagrebu 1968. godine. Nakon osnovne škole, završava Matematičko-Informatički Obrazovni centar V. Popović (MIOC, današnja XV gimnazija) 1986. godine s odličnim uspjehom. Diplomirao je na Sveučilištu u Zagrebu na Fakultetu elektrotehnike i računarstva na smjeru Radiokomunikacije i profesionalna elektronika u veljači 1992. godine s odličnim uspjehom, s temom „Zvučnik kao opterećenje pojačala“. Nakon diplomiranja se 1992. zapošljava u Zagrebačkoj banci. Svoja prva iskustva u području sustava za skladišta podataka i poslovne inteligencije stječe u Zagrebačkoj banci gdje je sudjelovao na brojnim projektima razvoja aplikacija za ocjenu kreditnog rizika i upravljanja rizikom te na projektu razvoja sustava za izvještavanje od 1994. do 1998. godine na poziciji stručnog suradnika i voditelja službe. Nakon toga odlazi u Grupaciju Kaptol banke gdje je podpredsjednik za informacijsku tehnologiju. Od 2000., kao Zamjenik direktora Sektora informatike odgovoran je za operativno upravljanje segmentima informacijskog sustava Agrokora. Jedan je od osnivača tvrtke Poslovna Inteligencija gdje radi od 2001. na pozicijama Direktora strategije i razvoja i Predsjednika Uprave. Odgovoran je za razvoj novih tržišta te uvođenje novih tehnologija i metodologija. Ekspert je za područje telekomunikacija te sudjeluje na najsloženijim projektima podatkovne integracije u ulozi voditelja projekta i dizajnera rješenja, poput projekata u T-Mobile Hrvatska, Dukatu, Tisku, a u regiji u Crnogorskom Telekomu i Telenoru Srbija. 1993. godine upisuje jednosemestralni stručni studij Poslovnog upravljana za inženjere (Diploma Study in Management) na Fakultetu elektrotehnike i računarstva, koji završava 1994. godine. Napisao je i objavio više znanstvenih radova. Objavljuje i tekstove u stručnim časopisima, ponajviše u računalnom magazinu Mreža, gdje je i stalni vanjski suradnik. Tekstove objavljuje i u drugim stručnim časopisima poput 92 / 95 InfoTrenda, Lidera i Banke. Kourednik je prvog hrvatskog nezavisnog web centra za skladištenje podataka i poslovnu inteligenciju www.skladistenje.com. Redovni je sudionik i predavač na stručnim konferencijama u Hrvatskoj i regiji, od kojih je najbitnije spomenuti IBC BI Roadshow, Microsoft Windays, konferenciju Hrvatske udruge Oracle korisnika (HrOUG), IBM Cognos Performance Day, IBM Software Days i mnoge druge. Posjeduje stručne certifikate Cognos BI Solutions Consultant, Informatica PowerCenter Consultant, IBM InfoSphere Information Server Technical Professional i IBM Smart Analytics Technical Professional. U posljednjih nekoliko godina je održao više predavanja unutar kolegija „Izgradnja informacijskih sustava“ za polaznike EUCIP programa u organizaciji Algebre te kao predavač na stručnom seminaru „Sustavi za podršku poslovnom odlučivanju“ u organizaciji Algebre. U školskoj godine 2011/2012 izabran je u zvanje predavača te nositelj kolegija „Skladišta podataka i poslovna inteligencija“ na Visokoj školi za primjenjeno računarstvo u Zagrebu. 93 / 95 Dražen Oreščanin - Curriculum Vitae Oreščanin Drazen was born in Zagreb 1968. year. After primary school, he graduated from Mathematics-Informatics High School V. Popovic (MIOC, the present XV gimnasium) in 1986.. He graduated from the University of Zagreb Faculty of Electrical Engineering and Computer Science in Radiocommunications and Professional Electronics in February 1992. After graduation he was employeed from 1992. in Zagrebačka banka. His first experience in the field of systems for data warehousing and business intelligence was in Zagrebačka banka where he participated in numerous projects and developed applications for credit risk assessment and risk management from 1994 until 1998 at the position of expert developer and team leader. Afer that, he was employed in Kaptol Bank Group as Vice president for information technology. Since 2000 he was working as Deputy Director of IT department in Agrokor. He is one of the founders of Poslovna inteligencija, where he worked since 2001 at positions of Director of Strategy and Development and Chairman of the Board. His responsibilities include development of new markets and introduction of new technologies and methodologies. He is expert in the fields of telecommunications. He participated in the most complex data integration projects in the role of project manager and solution designer, such as projects in the T-Mobile Croatia, Dukat, Tisak, and in the region in the Montenegrin Telekom and Telenor Serbia. In 1993 he enrolled in Diploma Study in Management at the Faculty of Electrical Engineering and Computer Science and graduated in 994.. He has written and published several scientific papers. He publishes articles in professional journals, primarily in Mreža computer magazine, where he was a permanent associate. His articles are published in other professional journals such as InfoTrend, Lider and Banka. He is co-editor of the first 94 / 95 independent Croatian web center for data warehousing and business intelligence www.skladistenje.com. He is a regular participant and speaker at professional conferences in Croatia and the region, of which the most important thing to mention IBC BI Roadshow, Microsoft Windays, the conference of the Croatian Association of Oracle users (HrOUG), IBM Cognos Performance Day, IBM Software Days, and many others. He has professional certifications Cognos BI Solutions Consultant, Informatica PowerCenter Consultant, IBM InfoSphere Information Server and IBM Professional Technical Smart Analytics Technical Professional. In recent years Dražen has lectured several lectures within the course "information system" for students EUCIP program organized by Algebra, and as a lecturer at seminars "Decision Support Academy", organized by Algebra. In the academic year 2011/2012 he was elected Lecturer and he lectures "Data Warehouse and Business Intelligence" course at the High School of Applied Computing in Zagreb. 95 / 95
© Copyright 2024 Paperzz