Pilvipohjaiset data-arkkitehtuurit ovat kompleksisia kokonaisuuksia. Kuten yleisesti erheellisesti luullaan, konseptuaalisesti data-arkkitehtuuri ei käsitä vain tietokantoja ja niiden alustoja, vaan organisaation koko tietoalustan palvelimineen, palveluineen, integraatioineen ja tietomalleineen mukaan lukien prosessit, tietovirrat, metadata, analytiikka sekä data governance ja ei-toiminnalliset ominaisuudet.

Olemassa olevan data-arkkitehtuurin refaktorointityö on vaativaa ja aikaa vievää puuhaa. Tämän takia onkin usein parempi, että data-arkkitehtuuri tehdään alusta saakka uudelleen silloin, kun vanha arkkitehtuuri ei enää palvele tarkoitustaan. ”Tekemällä oikein teet vain kerran” pätee siis pitkälle tässäkin kontekstissa. Eritoten ei-toiminnalliset ominaisuudet ovat keskeisessä roolissa hyvän data-arkkitehtuurin suunnittelussa, riippumatta teknologia-alustasta. Tässä blogissani käsittelen tätä osa-aluetta seuraavista tietoalustalle kriittisistä ei-toiminnallisista katsantokannoista sekä tutustutan lukijani alan yleisiin käsitteisiin.

  • Saatavuus
  • Skaalautuvuus
  • Suorituskyky
  • Tietoturva

Tietoalustan saatavuus

Mikäli data-arkkitehtuurisi ei ole robusti, sen saatavuus kärsii ja tällä taas voi olla vakavat, jopa kohtalokkaat seuraukset liiketoiminnallesi. Realistisina kauhuskenaarioina ovat mm. mainehaitta, toiminnalliset ongelmat, asiakaspoistumat ja taloudelliset menetykset, pahimmillaan myös henkeen ja terveyteen liittyvät riskit tiettyjen toimialojen piirissä.

Hyvässä data-arkkitehtuurissa on bisnesvaatimusten pohjalta varmistettu parhaiden käytäntöjen mukainen, kattava vikasietoisuus ja poikkeustilanteiden hallinta sekä tehokkaat palautukset. Termit, kuten HA, DR, SLA, georedundanssi, replikointi, load balancing, uptime, RPO, RTO ovatkin sanastoa, jota data-arkkitehdin tulee sujuvasti puhua ja ymmärtää.

HA eli High Availability

Korkea saatavuus viittaa sellaisten tietojärjestelmien suunnitteluun ja toteutukseen, joiden tarkoituksena on varmistaa korkea operatiivinen suorituskyky ja käyttöaika, minimoida seisokit ja varmistaa jatkuva palvelu myös laitteistovikojen, ohjelmistovirheiden tai muiden häiriöiden edessä.

DR eli Disaster Recovery

Disaster recovery viittaa strategioihin, prosesseihin ja tekniikoihin, jotka on otettu käyttöön IT-infrastruktuurin, järjestelmien ja tietojen palauttamiseksi katastrofin tai merkittävän häiriön jälkeen. DR-ohjelman tavoitteena on minimoida seisokit ja tietojen menetys sekä varmistaa liiketoiminnan jatkuvuus ja toiminnan kestävyys. Katastrofeja voivat olla luonnontapahtumat (esim. maanjäristykset, tulvat), ihmisen aiheuttamat tapahtumat (esim. kyberhyökkäykset, laitteistoviat) ja muut odottamattomat tapahtumat, jotka häiritsevät normaalia käyttöä.

SLA eli Service Level Agreement

Palvelutasosopimus (SLA) on palveluntarjoajan ja asiakkaan välinen muodollinen sopimus, joka määrittelee palveluntarjoajalta odotetun palvelutason. Palvelutasosopimukset ovat ratkaisevan tärkeitä varmistettaessa selkeät odotukset ja vastuuvelvollisuus molemmille osapuolille, jotka osallistuvat IT-palvelujen tarjoamiseen ja vastaanottamiseen. Ne kattavat tyypillisesti palvelun eri näkökohdat, mukaan lukien suorituskykymittarit, vastuut ja palveluvirheiden korjaamisen.

Georedundanssi

Georedundanssilla tarkoitetaan käytäntöä, jossa tietoja, sovelluksia ja infrastruktuuria jaetaan useisiin maantieteellisiin paikkoihin korkean saatavuuden, vikasietoisuuden ja katastrofista palautumisen varmistamiseksi. Georedundanssin ensisijainen tavoite on suojautua alueellisilta häiriöiltä, kuten luonnonkatastrofeilta, sähkökatkoksilta tai muilta katastrofeilta, jotka voivat vaikuttaa yhteen paikkaan. Kun eri maantieteellisillä alueilla on redundantteja järjestelmiä, organisaatiot voivat varmistaa jatkuvan toiminnan ja tietojen eheyden, vaikka yhdessä toimipaikassa tapahtuisi häiriöitä.

Replikointi

Replikointi viittaa tietojen tai järjestelmäkomponenttien kopiointiin ja ylläpitoon useissa laitteissa tai paikoissa johdonmukaisuuden, saatavuuden ja luotettavuuden varmistamiseksi. Tätä tekniikkaa käytetään laajalti parantamaan tietojen redundanssia, vikasietoisuutta ja kuormituksen tasapainotusta.

Esimerksi; voidaan vaikkapa replikoida tietoa operatiivisesta OLTP-tietokannasta read only-tyyppiseen raportointikantaan reaaliakaista raportointia ja analytiikkaa varten siten, ettei aiheuteta kuormaa itse operatiiviseen kantaan laisinkaan.

Load balancing eli kuormantasaus

Tietojärjestelmien kuormituksen tasapainottaminen on prosessi, jossa saapuva verkkoliikenne tai laskentakuormitukset jaetaan useille palvelimille tai resursseille sen varmistamiseksi, että mikään yksittäinen palvelin tai resurssi ei ylikuormitu. Ensisijainen tavoite on optimoida resurssien käyttö, maksimoida läpimeno, minimoida vasteaika ja varmistaa sovellusten ja palveluiden korkea saatavuus sekä luotettavuus.

Esimerkkinä prediktiivisestä kuormantasauksesta mainittakoon SQL Governor -ohjelmisto, joka auttaa järjestämään tiotoalustasi tietokannat, instanssit ja SQL-palvelimet siten, että niiden kokonaiskapasiteettitarve on minimoitu ottaen huomioon riittävä tietoalustan saatavuus ja suorituskyky ratkaisuna ns. ”bin packing” -ongelmaan.

Uptime

Käyttöaika tietokonejärjestelmissä viittaa siihen aikaan, jonka järjestelmä, palvelin tai verkko on toiminnassa ja käyttäjien käytettävissä. Se on ratkaiseva mittari arvioitaessa IT-infrastruktuurin ja -palvelujen luotettavuutta ja saatavuutta. Käyttöaika ilmaistaan yleensä prosentteina tietyn ajanjakson, kuten kuukauden tai vuoden, käytettävissä olevasta kokonaisajasta, kuten esimerkiksi: 99.999, 99.99, ja 99.9.

RPO

Tietojärjestelmien palautuspistetavoite (RPO) on keskeinen mittari katastrofien palautus- ja tietosuojastrategioissa. Se edustaa suurinta hyväksyttävää tietojen menetyksen määrää mitattuna ajassa. Toisin sanoen RPO määrittelee, kuinka kauas ajassa taaksepäin tietojen palautusprosessin tulisi mennä varmistaakseen, että tietojen menetys pysyy hyväksyttävissä rajoissa häiriön sattuessa. RPO on kriittinen määritettäessä tietojen varmuuskopioinnin ja replikoinnin tiheyttä.

RTO

Tietojärjestelmien palautumisaikatavoite (RTO) on keskeinen mittari, jota käytetään katastrofien palautumisessa ja liiketoiminnan jatkuvuuden suunnittelussa. Se edustaa suurinta hyväksyttävää aikaa, jonka järjestelmä, sovellus tai palvelu voi olla poissa käytöstä vian tai katastrofin jälkeen, ennen kuin sen toiminta on palautettava.

Skaalautuvuudella turvataan huomisen tietoalusta

Loppujen lopuksi on aivan sama, kuinka timanttisesti tietoalustasi on koodattu, mikäli se ei skaalaudu. Koodilla voidaan skaalata vain rajallisesti, jonka jälkeen kuvaan astuvat erilaiset teknologiaratkaisut, kuten esimerkiksi storagen puolella tietoaltaat (data lake), hajautetut tietokannat (distributed databases), data sharding, cloud storage jne.

Edelleen voidaan siirtyä koodioptimoinnissa esimerkiksi muistinvaraiseen laskentaan (In-memory computing), tehostaa integraatioita ulkoisiin järjestelmiin (ETL, piippulinjat, API-integraatiot), skaalata infrastruktuuria (HCI kuten Nutanix, horisontaalinen vs. vertikaalinen skaalaus, kontit) sekä edelleen hyödyntää pilvipalveluita soveltuvilta osin. Tärkeintä on ymmärtää kokonaisuuden nykytila ja realistiset tulevaisuuden skenaariot, jotta voidaan suunnitella oikean ”kaliiberin” data-arkkitehtuuri myös skaalautuvuuden osalta.

Data lake

Data Lake on keskitetty tietovarasto, jonka avulla voit tallentaa kaikki strukturoidut ja strukturoimattomat tiedot missä tahansa mittakaavassa. Se voi tallentaa tietoja alkuperäisessä muodossaan, kunnes niitä tarvitaan, jolloin organisaatiot voivat suorittaa erityyppisiä analyyseja – koontinäytöistä ja visualisoinneista massadatan käsittelyyn, reaaliaikaiseen analytiikkaan ja koneoppimiseen – parempien päätösten ohjaamiseksi.

Hajautetut tietokannat

Hajautetut tietokannat ovat tietokantoja, jotka ovat hajallaan useissa fyysisissä sijainneissa, jotka voivat sisältää eri palvelimia, datakeskuksia tai jopa eri maantieteellisiä alueita. Näitä tietokantoja hallinnoidaan hajautetulla tietokannan hallintajärjestelmällä (DDBMS), jolla varmistetaan, että tietokannan hajautettu luonne on läpinäkyvä tietokantaa käyttäville käyttäjille ja sovelluksille.

Data sharding

Data sharding on tietokanta-arkkitehtuuritekniikka, jota käytetään suurten tietojoukkojen jakamiseen ja hallintaan useille palvelimille tai tietokantaesiintymille, joita kutsutaan sirpaleiksi (shard). Jokainen sirpale sisältää osajoukon koko tietojoukosta, ja yhdessä ne muodostavat koko tietojoukon. Sharding parantaa parallelisoinnin ansiosta tietokannan ei vain skaalautuvuutta, vaan myös suorituskykyä sekä käytettävyyttä jakamalla kuormituksen useille palvelimille.

Cloud storage

Pilvitallennus on palvelumalli, jossa tiedot tallennetaan etäpalvelimille, joita käytetään Internetistä tai “pilvestä”. Näitä palvelimia ylläpitää ja hallinnoi pilvitallennustilan tarjoaja. Pilvitallennuksen avulla käyttäjät voivat tallentaa tietoja verkkoon, jotta he voivat käyttää niitä mistä tahansa paikasta Internetin kautta.

ETL

ETL on lyhenne sanoista Extract, Transform, Load, ja se viittaa tietojen integrointiprosessiin, jota käytetään tietojen siirtämiseen ja muuntamiseen eri lähteistä keskitettyyn tietovarastoon tai muihin tallennusjärjestelmiin. Tämä prosessi on ratkaisevan tärkeä tietojen valmistelemiseksi analysointia, raportointia ja edistynyttä analytiikkaa kuten koneoppimista varten.

API

API tai sovellusohjelmointirajapinta on joukko sääntöjä ja protokollia, joiden avulla eri ohjelmistosovellukset voivat kommunikoida keskenään. Ohjelmointirajapinnat määrittävät menetelmät ja tietorakenteet, joita kehittäjät voivat käyttää vuorovaikutuksessa ulkoisen järjestelmän, kuten verkkopalvelun, tietokannan tai käyttöjärjestelmän, kanssa, mikä mahdollistaa saumattoman integroinnin ja toimintojen jakamisen eri sovellusten välillä.

Suorituskykyvyllä kustannustehokkuutta ja hyvin nukuttuja öitä

Mikäli data-alusta on hidas, se voi rampauttaa yrityksesi tuottavuutta isosti. Tämän takia on tärkeää, että koodi tehdään laadukkaasti ja sitä katselmoidaan säännöllisin väliajoin. Näin vältyt ikäviltä yllätyksiltä esimerkiksi operatiivisten järjestelmien kuormapiikkien aikana tai tietovaraastojärjestelmäsi latausajojen kestossa.

Epäoptimaalinen, tehoton koodi voi kuluttaa hardware-resursseja jopa 1000-kertaisesti (tämä ei ole lainkaan tavatonta tietokannoissa), joten ne voivat johtaa merkittäviin yli-investointeihin tietojärjestelmähankkeissa sekä vaarantaa pahimmillaan koko tietoalustan saatavuuden.

Tietoturva on luotettavan tietoalustan ydin

Tietoturva on ei-toiminnallisista ominaisuuksista tärkeimpiä. Jokainen yksittäinen haavoittuvuus lisää merkittävästi väärinkäytösten riskiä ja pahimmillaan lamauttaa, tai jopa antaa kuoliniskun koko liiketoiminnallesi.

Data-arkkitehtuurin tietoturvaan liittyy lukuisia osa-alueita, kuten esimerkiksi sensitiivisen datan luokittelu, käyttäjävaltuuksien hallinta, kryptauskäytännöt, datan maskaus ja anonymisointi, monitorointi ja auditointi, verkkoturvallisuus, data governance sekä DLP (Data Loss Prevention), backupit ja toipumismekanismit, tietoturvakoulutus, kolmansien osapuolien riskinhallinta,  sekä säännönmukaiset security assesmentit.

Data governance

Data governance on käytäntöjen, menettelyjen ja standardien kehys, joka varmistaa tietojen asianmukaisen hallinnan, saatavuuden, laadun ja turvallisuuden organisaatiossa. Se kattaa ihmiset, prosessit ja tekniikan, joita tarvitaan tietoresurssien tehokkaaseen hallintaan ja suojaamiseen varmistaen, että tiedot ovat tarkkoja, johdonmukaisia, saatavilla ja niitä käytetään vastuullisesti.

Data Loss prevention

Tietojen menetyksen estäminen (DLP) on joukko strategioita, tekniikoita ja prosesseja, joita käytetään havaitsemaan ja estämään arkaluontoisten tietojen luvaton pääsy, käyttö, siirto ja vuotaminen. DLP-ratkaisut auttavat organisaatioita suojaamaan kriittisiä tietojaan ja varmistamaan lakisääteisten vaatimusten noudattamisen seuraamalla, tunnistamalla ja hallitsemalla tiedonkulkua organisaation sisällä sekä sen ulkopuolella.

Yhteenveto

Kuten huomataan, data-arkkitehtuurit ovat monimutkaisia ja tarvitsevat asiaan vihkiytyneitä senioriosaajia, jotka ovat nähneet ja tehneet lukuisia data-arkkitehtuureita. Tämä jos joku on osa-alue, jossa tieto ja laaja-alainen kokemus mahdollistavat parhaan mahdollisen lopputuloksen. Mikäli jätät data-arkkitehtuurissasi ei-toiminnalliset ominaisuudet liian vähälle huomiolle, teet mitä todennäköisimmin kriittisen virheen. Kiinnostuitko Senior-tason arkkitehtiosaamisesta? Me DB Pro Service:ssä tarjoamme arkkitehtipalveluita seuraaviin kokonaisuuksiin:

  • Tietoalustan auditointipalvelut
  • Data-arkkitehtuurisuunnittelu ja ylätason käsitemallinnus
  • Jatkuvat arkkitehtipalvelut (Data Architect as-a-service)

Olethan rohkeasti yhteydessä.

Jani K. Savolainen
CEO & Chairman
jani.savolainen@dbproservices.fi
0440353637
DB Pro Services Oy