Blogi

Data Vault 2.0 – Tiedä ainakin tämä

Kirjoittanut Pasi Luoma-Aho | Konsultti | 18.1.2018 22:00

Data Vaultista tulee ensimmäiseksi mieleen tapa mallintaa tietovarasto. Sitä se onkin, mutta Data Vault 2.0 on myös paljon enemmän. Lue lisää Pasi Luoma-Ahon kirjoituksesta.

Data Vault 2.0 – System of Business Intelligence

Data Vaultista tulee ensimmäiseksi mieleen tapa mallintaa tietovarasto. Sitä se onkin, mutta
Data Vault 2.0 on myös paljon enemmän.  Se on menetelmä, arkkitehtuuri ja malli, joka mahdollistaa yrityksen tietojen varastoinnin ja historioinnin sekä tietoihin perustuvan informaation tuottamisen ja jakelun sitä tarvitseville. Data Vaultin on kehittänyt Dan Linstedt.

Data Vault 2.0 -menetelmä pohjautuu yleisesti tunnustettuihin prosessien kehittämisen, projektinhallinnan ja sovelluskehityksen menetelmiin: CMMI taso 5 (optimointi), PMP, Six Sigma, TQM, Agile. Menetelmä on alustariippumaton ja tukee sekä relaatiopohjaisia (RDBMS) että NoSQL (”non relational”) ympäristöjä, kuten esim. Hadoop.  Menetelmä mahdollistaa myös hybridiratkaisut, joissa tietovaraston osia on sekä relaatiopohjaisessa että NoSQL ympäristössä.

Data Vault 2.0 -menetelmän peruspilareita ovat johdonmukaisuus, toistettavuus ja toimintamallien hyödyntäminen. Monitasoinen arkkitehtuuri ja menetelmän mukainen tietojen mallinnus tarjoavat eväät joustavien, skaalautuvien ja vikasietoisten tietovarastointiratkaisujen toteuttamiseen ketterän kehittämisen ja toimittamisen periaatteita hyödyntämällä. Tietojen jäljitettävyydestä (auditoitavuus) huolehditaan kaikissa vaiheissa. Uusia tietolähteitä voidaan lisätä mukaan ilman, että olemassa oleva toteutus häiriintyy.

Data Vault 2.0 -menetelmässä tietojen varastointi ja informaation tuottaminen erotetaan toisistaan.  Tämä antaa mahdollisuudet myös tietojen varastointiin liittyvien vaiheiden automatisointiin.  Tiedot ladataan ja varastoidaan raakadatana, eli sellaisina kuin ne lähdejärjestelmistä saadaan. Tietoihin liitetään tietojen jäljitettävyyttä ja myöhempiä päivitysvaiheita tukevia tietoja, mutta niin, että kaikki alkuperäiset tiedot säilyvät ja tietojen jäljitettävyys säilyy. Tietojen yhtenäistäminen, koostaminen, summaaminen ym. tarvittavat toimenpiteet tehdään vasta siinä vaiheessa, kun tietovarastosta haetaan tietoja raportointia varten. Master Dataa hyödynnetään tietovaraston tietorakenteiden muodostamisessa (esim. ”same as” -tyyppiset viittaukset). Master Datalla myös rikastetaan ja yhtenäistetään raportoitavia tietoja.

Lue asiakastarinastamme, miten Valtionkonttorille toteutettiin tietovarastojärjestelmä Microsoftin SQL Server -teknologialla ja Data Vault -ratkaisulla.

Data Vault 2.0 ja sen utilisointi

Data Vault -ratkaisu perustuu liiketoiminnan käsitteisiin. Käytännössä paras tapa selvittää keskeiset liiketoiminnan käsitteet ovat ohjatut työpajat (workshop), joissa asiakkaan liiketoiminnan edustajat yhdessä määrittelevät liiketoiminnan keskeiset käsitteet/asiakokonaisuudet (esim. asiakas, tuote), ja miten ne liittyvät liiketoiminnassa toisiinsa. Jokaiselle käsitteelle määritellään tunniste (liiketoiminta-avain, business key), jonka avulla tiedot voidaan yksilöidä lähdejärjestelmässä. Tunniste voi olla myös useamman tiedon yhdistelmä. Oleellista on, että määritelty tunniste säilyy lähdejärjestelmässä koko ajan samana.

Yleensä tunnisteet ovat sellaisia, joilla on selkeä merkitys lähdejärjestelmän käyttäjille (esim. asiakasnumero, tuotenumero). Tekniset surrogaattiavaimet eivät yleensä ole hyviä tunnisteita, koska ne ovat järjestelmän antamia numeroita, jotka eivät kuvaa mitään, ja jotka voivat pahimmassa tapauksessa muuttua jonkin lähdejärjestelmässä tapahtuvan muutoksen, tietojen palautuksen (backup) tms. seurauksena.  Lähdejärjestelmän toteutuksesta riippuen surrogaatti voi joskus kuitenkin olla paras (tai  ainoa) saatavilla oleva yksilöivä tunniste.

Data Vaultin rakenne 

Data Vault -tietomalli muodostuu kolmen tyyppisistä tietorakenteista:

Hub – Käsitteeseen (esim. asiakas) liittyvät yksilöivät tunnisteet (esim. asiakasnumerot)
Satellite – Käsitteeseen liittyvät tiedot (attribuutit), lähdejärjestelmästä saatavat historioitavat tiedot
Link – Käsitteiden väliset suhteet (linkit). Esim. viittaukset asiakkaan tilauksiin.

Tietovaraston toteutus perustuu tiedot yksilöiviin tunnisteisiin (liiketoiminta-avaimiin) ja tietojen hajautukseen.  Talletettaville tiedoille lasketaan yksilöivien tunnisteiden pohjalta hajautusavaimet.  Kun tiedot viedään Hub, Satellite ja Link -rakenteisiin, toisiinsa liittyvät tiedot yhdistyvät toisiinsa samalla hajautusavaimen arvolla.  Kun esim. asiakkaan tiedot ovat lähdejärjestelmässä muuttuneet, samoilla tunnistetiedoilla (esim. asiakasnumero) laskettu hajautusavain liittää uudet versiot tiedoista aina aiempien tietojen rinnalle. Tietojen eriaikaiset versiot erotetaan toisistaan tietojen latauskellonajan perusteella.

Data Vault 2.0 -menetelmä on INSERT ONLY -menetelmä. Tällä päästään nopeampiin tietovaraston päivitysrutiineihin ja ohjelmalogiikassa virhemahdollisuudet vähenevät. Tietojen päivitysvaiheessa verrataan lähdejärjestelmästä saatuja tietoja aina viimeksi tietovarastoon ladattuihin tietoihin. Kun tietoja haetaan tietovarastosta raportointiin, poimitaan aina viimeksi ladatut versiot tiedoista. Mikäli on tarve tarkastella tietoja eri ajanhetkillä, voidaan latauskellonaikojen perusteella muodostaa raportointia varten snapshot -tyyppisiä tietorakenteita (PIT – Point In Time -tietorakenne), joihin kootaan suorat viiteavaimet halutuilla ajanhetkillä voimassa olleisiin tietojen versioihin.

Hajautusavainten käyttö:

  • mahdollistaa suorat viittaukset
  • yksinkertaistaa ja tehostaa tietojen latausta ja hakuja
  • mahdollistaa rinnakkaisajot (myös MPP – Massive Parallel processing), koska
    1. hajautusavaimet voidaan aina laskea lähdetietojen perusteella ilman riippuvuuksia muihin tietoihin
    2. tiedot voidaan rinnakkaisajojen jälkeen (esim. MPP) yhdistää toisiinsa hajautusavaimen perusteella
  • mahdollistaa relaatiotietokannassa ja NoSQL -ympäristössä olevien tietojen yhdistämisen (samat hajautusavaimet)

Data Mart -> Information Mart

Data Vault 2.0 -menetelmässä puhutaan Data Martien sijaan Information Marteista.  Muutoksen taustalla on ajatus siitä, että raportointiin tuotetaan yleensä tavalla tai toisella jalostettua tietoa, eli informaatiota datasta. Information Mart voi olla perinteisen tietokantarakenteen lisäksi myös esim. kuutio, analytiikkatyökalulle toimitettu tietojoukko, jne. Data Mart olisi siten lähinnä ”raw mart”, joka sisältää muokkaamatonta dataa.

Managed Self-Service BI (SSBI)

Tällä tarkoitetaan tietovarastoratkaisua, jossa

  • loppukäyttäjät (superkäyttäjät, analyytikot) pääsevät suoraan käsiksi tuotettuun informaatioon
  • loppukäyttäjien käytettävissä oleva informaatio on ajantasaista
  • loppukäyttäjät tuottavat informaatiota myös takaisin tietovarastoon/raportointiin muiden loppukäyttäjien hyödynnettäväksi (write-back), esimerkkinä vaikkapa Master Data -tietojen ylläpito
  • loppukäyttäjien tuottamien tietojen muokkaus- ja käsittelytavat (käsittelyhistoria) ovat tiedossa
  • tietoja voidaan käsitellä myös mobiilisti ja webin kautta
  • tietojen siirrot ja käsittely tapahtuvat tietoturvallisesti
  • IT osallistuu aina loppukäyttäjien tuotosten liittämiseen osaksi tietovarastoa (loppukäyttäjä ei voi ohittaa IT:n määrittelemiä toimintamalleja ja käytäntöjä)

Data Vault 2.0 tukee myös reaaliaikaista tietovarastointia. Periaatteet ja toimintamallit ovat samat kuin perinteisessä tietovarastoinnissa, mutta reaaliaikaisessa tietovarastoinnissa ei käytetä lainkaan staging-aluetta. Reaaliaikainen tietovarastointi on käytännössä aina insert only -tyyppinen ratkaisu. Varsinkin silloin, kun varastoitavat tietomassat kasvavat merkittävästi (esim. IoT-ympäristöt).  Reaaliaikaisessa ratkaisussa tiedot tulevat tietovarastoon suoraan sanomanvälitysmekanismien kautta (Message Queue, ESB). Tietojen lataus hajautuu rinnakkaisiin omaan tahtiin eteneviin sanomajonoihin, eikä tietojen latausaika enää kerro, missä järjestyksessä tiedot on lähdejärjestelmässä talletettu / päivitetty.  Reaaliaikaisissa ratkaisuissa tarvitaankin tietojen luontikellonajat lähdejärjestelmästä päivitysjärjestyksen määrittämiseen. Reaaliaikaisessa tietovarastoinnissa myös tietojen laadun merkitys korostuu entisestään.

Data Vault 2.0 tarjoaa välineitä myös virheellisen datan käsittelyyn ja sitä kautta datan laadun parantamiseen. Virheellisiä tietoja voidaan koota esim. ns. Error Marteihin, joihin kertyviä tietoja voidaan tarkastella ja analysoida tarkemmin erikseen.

Lue myös Modernin ja perinteisen tietovarastoinnin eroista >>