01.12.2020

Tietoallas vai tietovarasto?

Hei,

Tietoalustojen ja tietovarastojen kohdalla kehitys kulkee aaltoina, tiettyjen kehitysvaiheiden kautta, kuten niin monella muullakin teknologian alueella.

 

Tietovarastojen rinnalle tietoaltaat

Liiketoiminta tarvitsee tietoa päätöksenteon tueksi, nopeasti ja laadukasta tietoa. Koska tiedot ovat hajallaan eri järjestelmistä alettiin rakentaa tietovarastoja (Data Warehouse)  90-luvun alusta saakka, toteutusalustana relaatiokannat. 

Laitteet ja tuotteet ovat kehittyneet, mutta melko pitkään teknologia-ajatus on pysynyt melko samankaltaisena. Parhaimmissa toteutuksissa analyytikoille koulutettiin laajasti SQL-kieltä. Tietokeskeinen ajattelu alkoi vähitellen kehittyä.

Tietovarastojen suunnittelussa on käytetty ns Inmonilaista normalisointia, Kimballilaista tähtimallia ja nyttemmin yhä suurempaa suosiota saanutta Data Vault-menetelmää. 

Big Data -ajattelun myötä alkoivat tietoaltaat (Data Lake) yleistyä. Pystyttiin tallettamaan isompia massoja halvemmalla, samoin kuin ei-strukturoitua tietoa. 

Kun tiedot tallennettiin suoraan lähtöjärjestelmien mukaisessa muodossa, nähtiin että ei tarvinnut suunnitella ja mallintaa tietovarastoa. Tässä pyrittiin myös kustannussäästöihin.  

Tietoaltaat eivät siis ole varsinaisia tietokantoja, vaan tiedostojärjestelmiä, kuten tietokoneesi C-levy. Kaikkea voi tallettaa, mutta käsittely voi olla monimutkaista. 

 

Hadoop ja pilviratkaisut

Tietoaltaat toteutettiin aluksi Hadoopilla, joka on avoimena lähdekoodina toteutettu hajautettu tiedostojärjestelmä. 

Siihen liittyy myös monenlaisia apuohjelmia, puhutaan Hadoop-ekosysteemistä. Hadoop oli vaativa ympäristö, joka edellytti uudenlaista osaamista.  

Nyttemmin Hadoop on sellaisenaan jäänyt pitkälti taka-alalle, kun Microsoft, Amazon, Google ja muut toimijat tarjoavat vastaavia palveluja helpommin käsiteltävinä ohjelmistokokonaisuuksina ja etenkin pilvipalveluina. 

 

Tietoallas ratkaisee kaikki ongelmat?

Suomessakin on ollut aikamoinen tietoallasbuumi, ja välillä on ollut vallalla puheita, että tietoallas ratkaisee kaikki ongelmat. Eli saadaan nopeasti koottua laadukasta tietoa liiketoiminnan tarpeisiin.

Tietoallasteknologia on kuitenkin vain teknologiaa, ja sen etuna pidetty asia – että ei tarvitse mallintaa – on toisaalta myös sen heikkous. 

Kun tiedot talletetaan lähtöjärjestestelmien mukaisisissa rakenteissa, ne tulevat todellakin raakana ja vaatii paljon työtä analyytikoilta yhdistellä keskenään erilaisissa rakenteissa olevia datoja, jotta ne muodostavat mielekkäitä kokonaisuuksia analyysejä varten.  

Tämä työ on eräänlaista ”pienmallintamista”. Pahimmillaan eri analyytikot joutuvat yhä uudelleen selvittämään miten löytää juuri tarvittavat asiat ja miten yhdistää ne toisiinsa. 

Juuri tämä yhdistäminen on relaatiokannoissa mietitty valmiiksi. 

Tietovarastojen rakentamista on syytetty hitaudesta, joka joidenkin mielestä johtuu juuri mallintamisesta. 

Nykyisin tämä väite ei enää pidä lainkaan paikkaansa, koska teknologiat ja menetelmät ovat kehittyneet.

Asia on juuri toisin päin: käsite- ja tietomallien ollessa olemassa analyytikot pääsevät helpommalla, tavallaan katettuun pöytään.  Ilman mallinnusta manuaalisen työn määrä kasvaa valtavasti.

Mallinnus tehdään IT- ja liiketoimintahenkilöiden yhteistyönä, mikä on erittäin tärkeää, koska näin tietoalustasta tulee sellainen, joka oikeasti palvelee liiketoimintaa ja tietojohtamista.

Tiedot myös laatutarkistetaan, asia mikä usein jää puuttumaan tietoallasratkaisuista. Huonolaatuinen tieto ei ole arvokasta. 

 

Tietovarastot palaavat

Tietovarastojen suosio on taas kasvussa. Tästä on esimerkkinä valtavan suosion saanut Snowflake, joka on pilvipohjainen SQL-relaatiokantatuote ja tarkoitettu  tietovarastojen rakentamiseen. 

Yritys perustettiin 2012, ja nyt se on pörssissä, arvo on suurempi kuin esim. General Motorsin. Tietovarastoilla menee lujaa!

Miksi tietovarastot ovat taas niin suosittuja? Snowflaken idea on ns. Software-as-a-service, eli se on suhteellisen helppokäyttöinen, skaalautuva pilvipalvelu. 

Tämä esitetään usein suosion syyksi, mutta yksi tärkeä tekijä on myös se, että tuote edustaa niin monille tuttua relaatiotietokantatekniikkaa. Tietovarasto koostuu tauluista ja sitä voi kysellä SQL-kielellä. 

Esimerkiksi suuri eurooppallainen kauppaketju Picnic on rakentanut suuren keskitetyn tietovaraston Snowflakella, ilman tietoallasta – he jopa kuvaavat sitä termillä ”lakeless”. Tietovarasto on suunniteltu Data Vault -menetelmällä ja esityskerroksessa käytetään tähtimallinnettua kerrosta ja BI-ohjelmistoja visualisointiin. 

He korostavat ”yhden totuuden lähdettä”, tietojen laatutarkastusta ja ymmärrettävää, hyvin mallinnettua rakennetta. 

Iso joukko analyytikoita ja tutkijoita liiketoiminnan puolella on koulutettu käyttämään SQL-kieltä. Yksittäinen analyytikko tekee jopa satoja SQL-kyselyjä päivässä keskitetyyn tietovarastoon. 

Heidän business-ongelmansa ratkeavat ja tuottavuus on tutkitusti lisääntynyt huomattavasti.  

 

Perusongelmat pysyvät

Tietoaltaita on puolusteltu usein juuri sillä, että niihin voi tallettaa ei-strukturoitua tietoa, kuvia, tekstejä, ääntä yms. 

Näille alueille löytyykin käyttökohteita. Jos mietimme tyypillistä joko yksityistä tai julkisen puolen organisaatioita, nämä käyttötapaukset ovat kuitenkin vähemmistössä. 

Silti konsulttina törmään jatkuvasti siihen, että ihan rakenteellisten perustietojen hallinnassa on ongelmia. 

On vaikeaa löytää ja yhdistellä käyttötapauksiin tarvittavia tietoja. Tietojen laatu on puutteellista. Suuri osa ongelmista ratkeaa, jos tiedot mallinnetaan kunnolla, huolehditaan tiedon laadusta ja viedään hyvin suunniteluun tietovarastoon. 

Jos tiedot on ensin viety tietoaltaaseen, täytyy ne laajempaa käyttäjäkuntaa varten kuitenkin saada relaatiomuotoon, eli siis taulurakenteisiin. 

Tietoallasteknologia on vähemmän osattua, työläämpää ja vaativampaa kuin perinteisempi relaatiotietokantateknologia. 

Toki osa tietoaltaasta voidaan saada näyttämään relaatiokannalta, mutta laajaan SQL-kyselykäyttöön ne eivät tahdo taipua – relaatiokannat ovat tässä parempia.  

 

Relaatiokantoja tarvitaan

Relaatiokannat ovat vuosien saatossa pitäneet pintansa. Olen urani aikana nähnyt monia haastajia ja relaatiokantojen syrjäyttäjiksi julistautujia.

Yhteen aikaan puhuttiin oliotietokannoista. Välillä syntyi oikein NoSQL-liike ja useita NoSQL-kantoja, esimerkkinä vaikkapa MongoDB. 

Niillä on omat käyttöalueensa. Yleisimmät ja käytetyimmät tietokannat ovat kuitenkin edelleen relaatiokantoja, kuten esimerkiksi. SQL Server, Oracle, PostgreSQL ja Snowflake. 

Tietoaltaat ovat nykyisin usein osa tietoalustan (Data Platform) arkkitehtuuria. Mutta syrjäyttävätkö ne relaatiopohjaiset tietovarastot?

Monet vanhat ideat ja menettelyt tulee uudistaa. Mutta jenkeillä on sanonta ”if it ain’t broke, don’t fix it” – jos jokin toimii älä korjaa (muuta) sitä. 

Loppuun on hyvä todeta, että kaikki riippuu käyttötapauksesta.

Mikäli sinulla on tarve varastoida ja analysoida esim kuvaa, tekstiä tai klikkivirtoja, soveltuu siihen paremmin paremmin tietoallas. Jos taas haluat analysoida dataa asiakkaista, tuotteista, potilaista tai myynneistä, on relaatiokanta parempi ratkaisu.

Nykyisin puhutaan paljon myös Data Platform-ajattelusta, eli tietoalustan hyödyntämisestä monen tyyppisiin käyttötapauksiin, kuten data-analytiikkaa, BI, ohjelmistokehitys ja tekoäly.

Niidenkin toteutus usein lähtee relaatiopohjaisen datan mallinnuksesta, mutta ajatus monikäyttöiset alustasta on erittäin kannatettava. Olen ollut suunnittelemassa näitä jo vuosia ja on hienoa, että jatkuvasti tälle alueelle tulee uutta teknologiaa. 

Ystävällisin terveisin,

Ari Hovi

Ps. Nyt kaikkien tietojohtamisesta sekä datan hallinnasta kiinnostuneiden kanattaa hankkia kansainvälinen DAMA-serti:

Data Management Fundamentals and DAMA Certification Preparation 27.01-29.01.2021

Tämän etäkoulutuksen vetää maailmalla arvostettu alan vaikuttaja Chris Bradley. Se antaa kattavan ohjeistuksen datan hallintamallien laadintaan sekä tiedonhallinnan koko käsitteistön omaksumiseen.

Lisätiedot ja ilmoittautuminen tästä.

Saattaisit olla kiinnostunut myös näistä

Malli- vai lähdejärjestelmäpohjainen tietoalusta?

Lue lisää

Toimiiko Data Mesh?

Lue lisää

Datavetoisuus, datanlukutaito ja mallinnus

Lue lisää