En halua tehdä turhaa työtä!
Tietovaraston rakentaminen ei ole vaikeaa. Se on kuitenkin työlästä, koska toteutusyksityiskohtia on valtava määrä, mikä korreloi suoraan käytettäviin tunteihin. Kun työ lisäksi on manuaalista, syntyy väistämättä virheitä, joiden löytäminen ja korjaaminen vie oman aikansa. Perinteisiä softaprojektin ongelmia siis. Näistä lähtökohdista ei ole ihme, että uusia tietovarastoja on välillä hieman vaikea myydä, vaikka niille olisi kiistaton tarve. Ja sitten vielä ne tuotannossa olevan tietovaraston muutokset, joilla on kiire ja jotka eivät saa rikkoa mitään…
Niin, se turha työ. Se ei tarkoita, että työn lopputulos on turha, vaan että kyseistä työtä ei tarvitse tehdä, mutta saadaan silti sama lopputulos. Haiskahtaa vahvasti automaatiolta.
Hallittua, ohjeistettua, automatisoitua sen olla pitää
(Työ-)elämäni ohjenuora on: ”Jos se on ohjeistettavissa, se on automatisoitavissa”. Tietovarastoprojektissa ETL-toteuttajan työtehtävät voidaan ohjeistaa täydellisesti ja määrämuotoisesti, jonka jälkeen varsinainen toteutus on mekaanista työtä. Toteutusohje ottaa kantaa asioihin kuten lähdetiedon kohdistaminen kohderakenteisiin, tietotyyppikonversiot, avaimen laskentalogiikka, olemassa olevan tiedon tunnistaminen, historiarivien käsittely, lookupit ja niin edelleen. Nämä tilanteet käsitellään teknisesti aina samalla tavalla riippumatta siitä ladataanko Projektia, Henkilöä vai Tilitapahtumaa, tai tehdäänkö 3NF:ää, Data Vault:ia vai tähteä. Samassa tietovarastossa voi toki esiintyä myös tapauskohtaista variaatiota, mutta tämä on aina hallittua, ei satunnaista.
Ja jos se on hallittua, sen voi ohjeistaa. Katso ohjenuora.
Ohjenuoran implementoinnin lopputulos on Cerionin oma käsitemallipohjainen DW-työkalu, SmartDW, joka automaattisesti generoi useita tietovarastokerroksia suoraan liiketoimintalähtöisen käsitemallin pohjalta. Lisäksi se huomioi näiden eri tasojen välille vielä tietojen siirtomekanismit, sekä liiketoiminnan seurattavia ilmiöitä kuvaavaa metadataa raportointia varten. Toisen lähestymistavan ottaa Cerionin edustama kovan luokan ja ison tiimin tarpeet täyttävä DW-työkalu Wherescape. Se ohittaa mallinnusvaiheen ja nappaa suoraviivaisesti tiedot kyytiin lähdejärjestelmästä vieden ne askel askeleelta aina kuutioon asti, niin ikään automaattisesti generoiden matkan varrella tarvittavat rakenteet ja niiden väliset siirtomekanismit. Lopputuloksena on molemmissa tapauksissa täysiverinen tietovarasto, mutta merkittävästi vähemmällä vaivalla. Olen sydämeltäni koodari ja sisäistänyt jo 10010-vuotiaana, että hyvä ohjelmakoodi on uudelleenkäytettävää. Tämä ei perinteisesti ole toteutunut tietovarastoprojekteissa: jossakin aikaisemmassa DW-projektissa toteutetusta latauksesta ei käytännössä ole mitään iloa uudessa projektissa, jolloin työ tehdään aina alusta asti. Automaatiotyökalut tuovat tietyllä tavalla uudelleenkäytön tietovarastoprojekteihinkin. Uudelleen käytettävä komponentti on tässä tapauksessa ETL-toteuttajan ammattitaito, joka on koodattu osaksi työkalua.
Firman junioreinkin tuottaa saman kuin seniorein
Cerion on viimeisen kuuden vuoden aikana toimittanut muutamaa poikkeusta lukuun ottamatta pelkästään automaatiolla toteutettuja tietovarastoja. Koko Cerionin BI-tiimin tapa tehdä työtä on muuttunut. Osaamisprofiili on kallistunut teknisestä ETL-välineosaajasta kohti liiketoimintaa lähempänä olevaa mallinnus- ja raportointiosaajaa. Itse DW:n tekninen toteutus on sama kuin napin painaminen. Itse olen tehnyt tietovarastoja yli 15 vuotta, eikä niiden tekeminen ole koskaan ollut helpompaa tai nopeampaa kuin automaation avulla, jossa yksittäisen latausrutiinin toteutukseen menevä kesto lasketaan millisekunneissa. Asiakkaan maksama konsulttiaika voidaan nyt käyttää muuhun kuin mekaaniseen rutiinityöhön, jota latauksien toteutukset luonteeltaan ovat. Lisäksi ohjelmallisesti generoitu lopputulos on aina johdonmukainen, ennustettavissa oleva ja henkilöriippumaton, jolloin myös firman juniorein kaveri tuottaa täysin saman näköisen tietovaraston kuin firman seniorein. Ja sitten vielä ne tuotannossa olevan tietovaraston muutokset, joilla on kiire ja jotka eivät saa rikkoa mitään: automaatiotyökalu näyttää, mihin alkupäässä tehtävä muutos vaikuttaa loppupäässä, mikä helpottaa ylläpitotyötä. Eräällekin asiakkaalle tehtiin vanha käsin tehty tietovarasto alusta asti kokonaan uudestaan automaatiolla.
Asiakkaan kommentti: ”Ei tuntunut missään”.
Automaatio mahdollistaa lisäksi sellaisten lopputuloksien tuottamisen, jonka manuaaliseen tuottamiseen kuluva aika ylittää kustannustehokkuuden ja mielekkyyden rajat, jolloin työ jää usein tilaamatta tai muista syistä helposti tekemättä. Ajantasainen ja monipuolisesti käyttökelpoinen dokumentaatio tulee ensimmäisenä mieleen. Jos koko DW latauksineen on generoitu, työkalu pystyy aina tuottamaan ajantasaisen dokumentaation. Jos lisäksi työkalun metadata on käytettävissä, siitä pystyy olemassa olevilla raportointivälineillä tuottamaan myös muuta täsmädokumentaatiota omiin tarpeisiin.
En oikein keksi, miksi tietovaraston enää tänä päivänä rakentaisi perinteisellä tavalla. Se on turhaa työtä.
Katso myös Automaattinen tietovarastointi -videomme