Tietovarastototeutuksemme ovat viimeiset 15 vuotta perustuneet käsitemalleihin. Niillä tarkoitan tässä yksityiskohtaista normalisoitua tietomallia eli käytännössä kokoelmaa toisiinsa liittyviä UML-luokkakaavioita, joissa luokkien nimet on muodostettu toiminnan ehdoin (luokka = toiminnan ilmiö = käsite), eikä mallissa missään näy kirjainyhdistelmää ”Id”. Sisällöllisesti ei sinänsä ole olemassa oikeaa tai väärää mallia. On vain käyttötarkoitukseensa sopivia tai ei-sopivia malleja. Ja aina on mahdollista tuottaa käyttötarkoitukseensa sopiva malli, kunhan käyttötarkoitus vain on tiedossa!
Käsitemallipohjainen ratkaisu tuo mukanaan tietyn ojennuksen tähän touhuun, kun tietovarastoon ei yhtäkkiä ilmesty uutta taulua ilman, että se on ensin ankkuroitu käsitemallin muodostamaan kokonaisuuteen. Käsitemallin laatiminen voidaan tietovarastoprojektin alussa perustella siten, että malli soveltuu keskusteluvälineeksi asiakkaan ei-teknisten substanssihenkilöiden kanssa huomattavasti paremmin kuin teknisluontoisempi ER-malli tai puhdas tietokantakuvaus (Data vault, anyone?).
Käsitemalli toimiikin luontevasti tietovaraston sisällön määrittelyn välineenä. Määrittelystä pitää kuitenkin päästä toteutukseen, jolloin jonkun täytyy joka tapauksessa tuottaa jonkinlainen tietokantamalli, latausrutiineja unohtamatta. Ensimmäisen toteutusiteraation jälkeen tietovarastoon tulee muutoksia ja laajennuksia. Kun pohjalla on paljon valmista, ja erityisesti jos muutos on pieni, se on helppo tehdä suoraan tietokantaan. Tällöin käsitemallinnusvaihetta ei ehkä enää koeta välttämättömäksi. Mallin päivittäminen lipsuu helposti ”after-the-fact” -dokumentoinniksi ja viimeistään, kun muutama muutos on jätetty siihen viemättä, se ei ole enää luotettava ja sen käytöstä luovutaan. Tällaista olen nähnyt tapahtuvan.
Mutta ei meillä. Meillä käsitemalli on tietovarastoinnin tärkein ylläpidettävä komponentti. Mikäli mallintaja noudattaa kurinalaista mallinnustapaa ja käyttää oikeanlaista työkalua, syntyy seuraava ehkä hieman yllättävä mahdollisuus: tietovaraston toteutus on automatisoitavissa, latauksia myöten.
Toisin sanoen, ei käsitemallia – ei tietovarastoa.
Käsitemalli on pakostakin aina ajan tasalla, koska sen ohi ei tehdä mitään käsityötä tietovarastoon. Lisäksi ajantasaisen mallin yhteyteen voidaan liittää paljon selittävää tietoa, kuten käsitteiden ja käsitekokonaisuuksien peruskuvaukset ja attribuuttitason tietolähteet ja käsittelysäännöt. Lisäksi voidaan mallintaa liiketoiminnan seuraamat indikaattorit ja kuvata laskenta- ja päättelysäännöt käsitemallin termein. Nämä ja muut metatiedot tallennetaan tietokantaan, josta ne voidaan yhdistää raporttien kanssa saumattomaksi dokumentaatiokokonaisuudeksi. Tämä tekee niin tiedosta kuin prosessistakin täysin läpinäkyvät. Merkittäviä hyötyjä, jotka voidaan mitata niin toteutusajassa, rahassa kuin asiakastyytyväisyytenä!