Iskustva u izgradnji skladišta podataka

Skladištenje podataka

Iskustva u izgradnji skladišta podataka

Uvod

U zadnjih godinu dana osjeća se sve veća potreba za izgradnjom informacijskih sustava temeljenih na konceptu skladišta podataka, što zbog povećanja i zaoštravanja konkurentskih odnosa na tržištu, što zbog ulaska stranih kompanija u vlasničku strukturu vodećih domaćih poduzeća te time transferom tehnologije, procesa, znanja i iskustva na naše kompanije, što radi potrebe ‘uvođenja reda’ u informacijski sustav poduzeća. Razloga se, sigurno, može naći još.

Tekst se temelji na iskustvima stečenim pri izgradnji skladišta podataka i sustava izvještavanja, upotrebom Oracle tehnologije, za nekoliko domaćih poduzeća iz raznih područja djelatnosti.

Pretpostavka je da čitatelj barata osnovnim konceptima skladištenja podataka budući da se tekst neće izričito baviti tom problematikom. Kao mali podsjetnik dana je slijedeća tablica koja ukazuje na glavne različitosti između skladišta podataka i ‘klasičnog’ transakcijskog informacijskog sustava.

Klasični transakcijski informacijski sustav
Skladište podataka
Osnovna namjena Unos podataka od strane operative poduzeća. Čitanje podataka (izvještavanje) od strane upravne strukture poduzeća i analitičara.
Vrsta korisnika Prije svega operativa poduzeća. Upravna struktura poduzeća.
Način rada / operacije koje se vrše nad sustavom U radno vrijeme veliki broj manjih transakcija koje uglavnom vrše unos manjih količina podataka. U neradno vrijeme (da ne smeta svakodnevnom radu): mali broj transakcija koje vrše čitanje i unos vrlo velikih količina podataka (ekstrakcija podataka).
Način unosa podataka Ručni unos pojedinih zapisa od strane operative poduzeća. Automatizirani unos velikih količina podataka prikupljenih iz izvorišnih, produkcijskih sustava.
Učestalost unosa podataka Kontinuirani unos za vrijeme radnog vremena. Periodički unos (jednom dnevno, tjedno, mjesečno…) u vrijeme kada izvorišni sustav nije opterećen.

Tablica 1: Bitne razlike skladišta podataka i produkcijskog sustava

Opis projekata

Projekti na kojima smo radili razlikovali su se po industrijskim granama (financijski sektor, telekomunikacije, sajamske aktivnosti, proizvodnja), po broju i složenosti izvorišnih sustava, po veličini odnosno količini podataka, po obimu posla, po poslovnim područjima, po načinu vođenja, uglavnom po svim bitnim dijelovima projekta. Zahvaljujući takvoj raznovrsnosti uspjeli smo prepoznati njihove zajedničke karakteristike, odrediti poslove koje je potrebno obaviti i koje pretpostavke ispuniti kako bi se izgradio sustav skladišta podataka i što je još važnije uveo u svakodnevnu upotrebu. Nažalost, jasno je da recept koji bi funkcionirao u svakom slučaju ne postoji, no postoje poslovi koji ako se ne obave ili obave djelomično vode u siguran neuspjeh.

Vođenje projekta

Statistike kažu da između 50 i 60% projekata izgradnje skladišta podataka ne uspijeva u ostvarenju zadanih ciljeva što je dovoljan dokaz da problematici vođenja projekta treba posvetiti značajnu pozornost. S obzirom na proces izgradnje skladišta podataka koji je izrazito iterativnog karaktera i može dovesti do mijenjanja ili prilagođavanja poslovnih procesa te u pravilu utječe na izmjenu u produkcijskim (izvorišnim) sustavima, odabir metodologije za vođenje projekta kojom će biti predviđene ovakve mogućnosti i reakcije na njih, od ključne je važnosti za cjelovit uspjeh projekta.

Oracle PJM je metodologija koja se uz određene prilagodbe koristi za vođenje projekta, a osigurava mehanizme upravljanja resursima, konfiguracijom, kvalitetom, radom te nadzor i izvještavanje tijekom cijelog vremena trajanja projekta. Sponzor ili sponzorski odbor projekta ključna je institucija u ovom dijelu te je potrebno osigurati da ga čine ljudi sa što višeg položaja u poduzeću, idealno bi bilo kada bi to bila prva razina managementa, koji će moći potvrditi i odobriti poslove vezane uz projekt, a koji se tiču poduzeća u cjelini i u konačnici utječu na njegovu vrijednost. U slučaju ne postojanja sponzorskog tima projekt vrlo vjerojatno nikada neće doći do faze implementacije. Druga ključna institucija je voditelj projekta koji je po pravilu sa strane izvođača i odgovoran je za rezultate odnosno uspjeh projekta, što sudeći po statistici je vrlo nezahvalan posao, a pomaže mu voditelj projekta sa strane naručitelja koji ima zadatak koordiniranja resursa naručitelja na projektu.

Izgradnja sustava

Iz prethodno navedenog jasna je potreba aktivnog sudjelovanja djelatnika naručitelja u projektnom timu i na razini operativnih poslova, čak je i nemoguće zamisliti izgradnju kvalitetnog sustava skladišta podataka bez zajedničkog rada. Neke od ključnih uloga u projektnom timu za koje je potreban ovakav angažman su: stručnjak za dohvat izvorišnih podataka, administrator podataka, analitičar i naravno krajnji korisnici. Stručnjak za dohvat izvorišnih podataka osigurava dostupnost izvorišnih podataka potrebnih u bazi skladišta podataka, poznaje vrlo dobro produkcijske sustave te je stoga i optimalan izbor (potrebno je kraće vrijeme) za pripremu podataka u formatu predviđenom pri projektiranju konverzije podataka. Administrator podataka u fazi izgradnje ključna je osoba za provjeru ispravnosti podataka u bazi skladišta podataka koje uspoređuje s podacima iz produkcijskih baza postavljajući iste kriterije upita na obje strane. Temeljem takvih testiranja potvrđuje se ispravnost algoritma dohvata podataka. U fazi rada skladišta podataka vodi računa o radu procesa prijenosa podataka (da li je prijenos prošao u predviđenom vremenskom periodu, da li su sve potrebne radnje pripreme podataka za krajnje korisnike izvršene) te o tome obavještava korisnike. Krajnji korisnici kojima su namijenjene aplikacije razlikuju se od korisničke populacije produkcijskih sustava. Prvenstveno to su analitičari i određene razine upravljačke strukture, tu se još javljaju i ‘Data Mining’ specijalisti, istraživači tržišta, stručnjaci za promociju, po funkcijama u poduzeću to su marketing, kontroling, prodaja i financije u većini slučajeva. Spremnost korisnika na upotrebu sustava jedan je od ključnih faktora uspjeha projekta u cjelini, naravno da spremnost korisnika ovisi o upotrebljivosti sustava odnosno osjećaju krajnjih korisnika o rješavanju konkretnih problema upotrebom sustava. Kako bi se pridobilo korisnike na upotrebu sustava potreban je njihov angažman za cijelo vrijeme trajanja projekta, oni su stalni korektor aktivnosti, u slučaju velikog broja krajnjih korisnika, može se oformiti grupa ključnih korisnika koju čine predstavnici pojedinih grupa korisnika kako bi se olakšala komunikacija. Uvođenje sustava skladišta podataka predstavlja uvođenje nove tehnologije s kojima se većina krajnjih korisnika nije susrela niti je imala priliku raditi, u većini slučajeva to je profili korisnika koji je naučen raditi s tabličnim kalkulatorima, alatima za obradu teksta i slično koji dozvoljavaju vrlo veliku slobodu u kreiranju ‘outputa’ te ih treba sustavno obučavati za prelazak na nove korisničke alate i aplikacije i njihovo prihvaćanje u svakodnevnom obavljanju posla.

Sustav prijenosa podataka

Sustav prijenosa podataka predstavlja najteži zadatak u cijelom procesu izgradnje sustava skladišta podataka i na njega otpada približno 60% ukupnog vremena. Proces prijenosa podataka definira se kao proces koji obavlja prijenos podataka iz izvorišnih sustava u skladište podataka u predviđenim vremenskim razmacima. Sam proces može se podijeliti u nekoliko faza i to:

  • Dohvat – dohvaćanje izvorišnih podataka po utvrđenom algoritmu iz umirenih izvora kako bi se osigurala konzistentnost dohvaćenih podataka (ekstrakcija u užem smislu)
  • Transport – transportiranje dohvaćenog seta podataka komunikacijskim kanalima do prihvatnog područja
  • Prihvat – prihvaćanje podataka i njihovo smještanje u prihvatne tablice privremenog područja skladišta podataka
  • Prilagodba – prilagođavanje strukture podataka, unutar pripremnog područja, skladišnom modelu podataka kako bi se moglo obaviti punjenje
  • Punjenje – krajnja faza koja rezultira punjenjem tablica skladišta podataka i pripremu za korisničku upotrebu

Prije samog projektiranja procesa prijenosa potrebno je osigurati početnu definiciju korisničkih zahtjeva odnosno modela skladišta podataka, dostupnost i spremnost na suradnju stručnjaka za dohvat izvorišnih podataka te stabilnost logičke strukture izvorišnih sustava. Ako bilo koji od navedenih uvjeta nije zadovoljen potrebno je odgoditi fazu izgradnje prijenosa podataka jer se u protivnom može računati s mjescima uzaludno obavljenog posla.

Kvaliteta podataka

Loša kvaliteta podataka, prema istraživanjima SAS Instituta, uzrok je neuspjeha u 70% projekata izgradnje skladišta podataka što je dovoljan razlog da se tom pitanju posveti dužna pažnja prilikom svih faza izgradnje sustava. U većini slučajeva pitanja kvalitete podataka su izvan utjecaja tima zaduženog za skladište podataka već ona ovisi o ispravnosti izvorišnih sustava – izvora podataka. Ne zaboravimo da se procesom prijenosa, ukoliko je ispravno projektiran i izveden, ne utječe na ispravnost podataka već se takvi podaci bilježe i prezentiraju kao mogući kandidati upitne kvalitete i ispravnosti nad kojima se tek tada može provesti čišćenje. Kako bi se moglo provesti testiranje kvalitete podataka potrebno je prvo utvrditi karakteristike kvalitetnih podataka:

  • Ispravnost – podatak u bazi skladišta podataka odgovara podatku iz izvora, a ako ne odgovara postoji dokumentiran razlog različitosti
  • Potpunost – podaci u bazi skladišta podataka predstavljaju cijeli skup relevantnih podataka, npr. element pod nazivom ukupan prihod treba sadržavati i podatke iz podružnice u Austriji, ako nema podataka za tu podružnicu potrebno je preimenovati naziv elementa
  • Konzistentnost – podaci ne smiju biti kontradiktorni, npr. agregacije podataka moraju odgovarati sumi detaljnih podataka
  • Jedinstvenost – npr. partner pod nazivom IN2 i IN-2 predstavljaju ime jedne firme te stoga u skladištu podataka može postojati samo jedan oblik
  • Pravovremenost – podaci u skladištu podataka odgovaraju određenom vremenskom trenutku, npr. stanje broja korisnika u ožujku 2000. godine treba usporediti s jednakim takvim izvještajem iz izvora podataka. Druga komponenta pravovremenosti je sam proces prijenosa koji u pravilnim vremenskim periodima dopunjuje bazu skladišta podataka. U slučaju prekida procesa potrebno je znati vrijeme zadnjeg uspješnog prijenosa odnosno datum valjanosti baze skladišta podataka

Nakon što smo utvrdili karakteristike možemo provesti testiranje kvalitete podataka i odlučiti o poduzimanju akcija kako bi implementirali pravila koja će rezultirati povećanjem kvalitete. Ovakva pravila treba po mogućnosti implementirati u izvorišnim sustavima, ovdje se svakako treba oduprijeti iskušenjima ugrađivanja pravila u proces prijenosa kad god je to moguće (iako zahtjeva manje vremena) jer se time ne postiže dugoročno rješenje, otežava se održavanje i ne rješava se problem na mjestu njegovog nastanka.

Vjerojatno nikada neće kvaliteta podataka biti potpuna u smislu da svi podaci u potpunosti zadovoljavaju sve navedene karakteristike, ali treba težiti što većem postotku takvih podataka kako bi se u konačnici osiguralo postojanje “jedne istine”.

Sigurnost podataka

Sigurnosti podataka se u pravilu ne poklanja dovoljna pažnja, a skladište podataka je vrlo osjetljivo na pitanja sigurnosti s obzirom da se cjelovita informacija može dobiti s jednog mjesta u pravilu jednostavnim upitom, što i je zadaća ovakvog sustava. Kada se prisjetimo da se u skladište podataka pohranjuju i podaci o konkurenciji, predviđanja, planovi, scenariji dakle ne samo povijesni podaci onda je jasno koliko je pitanje sigurnosti osjetljivo i kakva mogućnost zloupotrebe takvih podataka postoji. Što je po tom pitanju moguće i potrebno napraviti? Slijedi nekoliko uputa koje mogu olakšati rješavanje pitanja sigurnosti:

  • utvrdite trenutnu politiku spram sigurnosti unutar organizacije
  • utvrdite da li i koji tajni podaci će biti pohranjeni u skladište podataka
  • definirajte tko sve može pristupiti sustavu, a tko iz tog skupa ima pravo pristupa i do kojih podataka
  • gdje će pravila sigurnosti biti implementirana (na razini aplikacije, podataka, mreže, hardwera)
  • koliko će implementacija sigurnosti koštati
  • što će se poduzeti u slučaju evidentiranog kršenja pravila

Prezentacija podataka – korisničke aplikacije

Korisničke aplikacije u sustavu skladišta podataka mogu biti od skupine izvještaja do specijalističkih aplikacija za prognoziranje, data mining i slično. Za prvu iteraciju dobro je koristiti alate za izradu izvještaja i manje zahtjevne alate za ad-hoc upite kako bi se korisnike priviknulo na upotrebu skladišta podataka i novih alata. Omogućavanje web-pristupa skladištu podataka putem Intraneta/Interneta također olakšava upotrebu i dostupnost skladištu podataka. Loše je za uspješnost projekta predati korisnicima skladište podataka i alate za izradu izvještaja i ad-hoc upita bez unaprijed pripremljenih izvještaja i očekivati da će ih većina koristiti. U kasnijim iteracijama ili na specijalni zahtjev korisnika grade se složenije aplikacije poput aplikacija za planiranje, kontroling, upravljanje novčanim tokvima, analizu ključnih pokazatelja poslovanja, upravljanje odnosa s korisnicima i tome slično.

Umjesto zaključka

Projekt izgradnje sustava skladišta podataka kompleksan je posao. Nije ga moguće obaviti samo korištenjem resursa unutar poduzeća niti ga je moguće obaviti samo korištenjem vanjskih suradnika. Potrebna je metodologija za vođenje i izvedbu, potrebno je osobito paziti na kvalitetu i sigurnost podataka. Postoji kompleksan proces prijenosa koji se može djelomično automatizirati, upotrebom ETL alata, što onda predstavlja dodatni inicijalni trošak. Korisniku na kraju treba ponuditi predloške izvještaja i specijalizirane aplikacije. Teško je kvantificirati koristi uvođenja, a dosta lako predvidjeti troškove. Velika je vjerojatnost, sudeći po statistici, da projekt neće završiti na način kako je zamišljen, da neće dati željene rezultate. Međutim, u slučaju uspjeha sustav skladišta podataka osigurava kvalitetnu informacijsku podlogu upravljačkim strukturama za provođenje strategije poduzeća odnosno izgradnju i održavanje konkurentske prednosti što je u uvjetima tržišne utakmice nužan uvjet za opstanak na tržištu čega u sve većem broju postaju svjesna hrvatska poduzeća.

Autor: Davor Sokolović, IN2, Konferencija HROUG 2001 (D.S.)