Skip to content
17.06.25Data ja älykäs liiketoiminta

Miten hallita kasvavia datamassoja tehokkaasti – Data Lakehouse korjaa perinteisen tietovaraston pullonkaulat

Pasi Paalanen
17.06.2025 | Tiedon määrä, nopeus ja monimuotoisuus kasvavat vauhdilla – eivätkä perinteiset tietovarastot enää pysy mukana. Efiman asiantuntijatiimi auttaa asiakkaitaan rakentamaan ja ylläpitämään moderneja data-alustoja sekä liiketoimintaa tukevia dataratkaisuja. Tässä blogissa Efiman data-arkkitehti Pasi Paalanen pureutuu siihen, miten Data Lakehouse -arkkitehtuuri tarjoaa skaalautuvan ja kustannustehokkaan ratkaisun nykypäivän analytiikkahaasteisiin.

Datamäärien kasvu haastaa perinteiset tietovarastoratkaisut

Käytettävissä olevan tiedon määrä nyky-yhteiskunnassa kasvaa räjähdysmäisesti, mikä asettaa jatkuvasti kovenevia vaatimuksia yritysten tietovarastoratkaisuille. Tämä kehitys ei myöskään osoita hidastumisen merkkejä – päinvastoin, kasvuvauhti kiihtyy edelleen.

Kolme keskeistä datan ominaisuutta – datan volyymi (volume), datan saapumisnopeus (velocity) ja datan vaihtelevuus (variety) – ovat kaikki kasvussa. Yhdessä nämä kolme V:tä asettavat omat tekniset vaatimuksensa, ja mahdollisuutensa, tietovarastoratkaisulle.

Kun datan määrä ja saapumisnopeus kasvavat, perinteiset relaatiotietokannat käyvät kalliiksi 

Perinteiset tietovarastot pohjautuvat usein relaatiotietokantapalvelimiin, joissa data tallennetaan suoraan rakenteiseen taulumuotoon (schema-on-write). Itse tietokantapalvelin voi sijaita joko yrityksen omassa konesalissa tai pilvessä, esimerkiksi Azure SQL -palveluna. Näissä ratkaisuissa tallennus- ja laskentaresurssit ovat kiinteästi sidoksissa toisiinsa, mikä rajoittaa tietovaraston joustavuutta ja skaalautuvuutta.

Relaatiotietokannat soveltuvat hyvin operatiivisiin käyttötarkoituksiin, joissa käsitellään nopeasti pieniä määriä dataa – yksittäisiä rivejä tai joitain satoja tai tuhansia rivejä kerrallaan. Ne eivät kuitenkaan ole optimaalisia analyyttisiin kuormiin, joissa operoidaan miljoonien rivien ja gigatavujen tietomäärien kanssa. Usein relaatiotietokantojen ongelmat johtuvat tauluindeksien ylläpidosta, jota vaaditaan datan nopeaan lukuun, mutta joka hidastaa hyvin paljon suurien datavolyymien kirjoitusta tietokantatauluihin. Indeksit myös kasvattavat tietokannan vaatiman varastotilan käyttöä huomattavasti.

Lisäksi kirjoitustapahtumien eheyden varmistavat transaktiolokit voivat kasvaa huomattavan suuriksi, mikä puolestaan lisää tarvetta prosessointimuistille, jotta kirjoitustapahtumat saadaan toteutettua. Näin ollen perinteiset relaatiotietokannat eivät skaalaudu riittävästi kasvaviin datamääriin – ainoana vaihtoehtona on usein kallis laskenta- ja varastointiresurssien lisäys tietokantapalveluun. 

Myös datan monimuotoisuus tuottaa haasteensa

Myös datatyyppien vaihtelevuus aiheuttaa ongelmia. Relaatiotietokannat on suunniteltu taulumuotoiselle datalle, eikä niihin voida tallentaa tehokkaasti ei-taulumuotoista dataa (esim. PDF-, kuva- tai videotiedostot) suoraan ilman kompromisseja. Tällainen data joudutaan usein tallentamaan binääridatana taulun soluun (BLOB, Binary Large Object), mikä nostaa tietokannan varastointikapasiteetin tarvetta huomattavasti ja kasvattaa siten myös tallennuskustannuksia. Näin tallennetun ei-taulumuotoisen datan jatkokäyttökään ei ole kovinkaan helppoa tai tehokasta.

Ratkaisuna Data Lakehouse -arkkitehtuuri

Vastauksena perinteisten relaatiotietokantojen skaalautuvuus- ja joustavuusongelmiin on noussut Data Lakehouse -arkkitehtuuri, joka pohjautuu avoimen lähdekoodin teknologioihin. Sen ytimessä on ajatus tallennus- ja laskentakerroksen selkeästä erottamisesta: edullinen tallennustila (esimerkiksi Azure Storage Account, n. 20 €/kk per teratavu) on erotettu hintavammasta laskentakapasiteetista, joten molemmat voidaan valita ja mitoittaa käyttötarpeen mukaan.

Data voidaan tallentaa alkuperäisessä muodossaan raakadatana – kuten .pdf-, .json-, .csv- tai videotiedostoina – jolloin sitä on helppo lukea ja käyttää myöhemmin ilman muuntamista toiseen formaattiin. Vaihtoehtoisesti dataa voidaan myös tallentaa taulumetadatan sisältävässä muodossa, kuten Delta Table tai Apache Iceberg -formaateissa. Näissä muodoissa dataa voidaan lukea tauluna joustavalla schema-on-read-periaatteella, aivan kuin se olisi relaatiotietokannassa. Esitettäviä taulurakenteita voidaan kuitenkin muokata joustavasti, koskematta itse raakadataan.

Delta- ja Iceberg-formaatit tuovat mukanaan muitakin hyödyllisiä ominaisuuksia:

  • Datan versiointi, joka mahdollistaa muutosten hallinnan ja seuraamisen aikajanalla.

  • Muutosdata (Change Data Capture), jolla voidaan seurata ja hyödyntää tapahtuneita muutoksia.

  • ACID-tuki (Atomicity, Consistency, Isolation, Durability), mikä mahdollistaa turvallisen, monen käyttäjän yhtäaikaisen datan käytön.

Näiden dataformaattien avulla useat käyttäjät voivat siis lukea ja kirjoittaa dataa samanaikaisesti transaktioina – kuten relaatiotietokannoissa – ja versiointi toimii ilman lisätyötä. Transaktiolokit tallennetaan tiedostomuodossa suoraan tietovarastoon, mikä mahdollistaa läpinäkyvän, tehokkaan ja ennen kaikkea kustannustehokkaan datanhallinnointiratkaisun. 

Laskentakapasiteetti tarpeen mukaan

Koska Data Lakehouse -arkkitehtuurissa laskenta on erotettu datan varastoinnista, voidaan valita käyttöön parhaiten kuhunkin tarpeeseen sopiva, yksi tai useampi, laskentapalvelu. Pieniin ja toistuviin prosesseihin sopii hyvin esimerkiksi Azure Function, jossa voidaan ajaa muun muassa Python- tai C#-koodia kevyesti. Myös Azure Logic Apps tarjoaa helppokäyttöisen graafisen työkalun, jolla voidaan toteuttaa yksinkertaisia ehtoperustaisia dataprosesseja ilman koodausta.

Suurten datamassojen käsittelyyn soveltuvat hajautettua laskentaa hyödyntävät analytiikkamoottorit, kuten Apache Spark, jota käytetään esimerkiksi Azure Databricksissä ja Microsoft Fabricissa. Sparkin avulla voidaan prosessoida skaalautuvasti koko tietovarastoon tallennettua dataa ja kirjoittaa prosessoitu tieto takaisin tietovarastoon loppukäyttäjiä varten.

Datan tarjoilu ja kysely SQL:n avulla

Prosessoitu data voidaan tarjota loppukäyttäjille helposti esimerkiksi Delta Table -liittimien kautta. Työkaluja tähän ovat esimerkiksi Power BI:n Delta Connector ja Delta Sharing, jotka mahdollistavat datan hyödyntämisen suoraan itse visualisointityökalussa tai muiden järjestelmien kautta.

Lisäksi tietovaraston päälle voidaan virtualisoida SQL-päätepiste, käyttämällä esimerkiksi Azure Synapse SQL on-demand -ratkaisua tai Fabric Lakehouse -palvelimettomia SQL-laskentamoottoreita. Näissä SQL-kyselyt voidaan kohdistaa suoraan tietovarastoon ilman, että dataa tarvitsee kopioida tai ladata tietokantaan. 

Tärkeä SQL-luvun suorituskykyä parantava ominaisuus on predikaatin alastyöntö (predicate pushdown), joka hyödyntää esimerkiksi Delta Table- ja Apache Iceberg -formaattien taulujen metatietoja ja optimointitekniikoita. Kun SQL-kysely suoritetaan, moottori lukee vain ne tiedostot, joissa kyselyn kohteena oleva data voi sijaita. Tämä parantaa huomattavasti koko lukuoperaation suoritustehoa ja vähentää tarvittavan prosessointikapasiteetin käyttöä.

Delta Table -formaatti käytettäessä datannoudon optimointitekniikoita ovat muun muassa:

  • Partitiointi, joka jakaa datan loogisiin osiin esim. aikajaksoittain, jolloin vain tarvittavat loogiset osat luetaan kyselyn aikana.

  • Z-ordering, joka järjestää dataa tiedostojen kesken uudelleen nopeampia hakuja varten.

  • Liquid Clustering, joka sallii joustavamman datan partitioinnin hallinnan ilman tiedostojen uudelleen kirjoitusta.

Näiden optimointitekniikoiden ansiosta voidaan suorittaa huomattavan nopeita hakuja sadoista miljoonista riveistä (3–5 sekuntia) ja sekä kirjoittaa suuria datamääriä ilman indeksien ylläpidon aiheuttamaa hidastusta – toisin kuin perinteisissä relaatiotietokannoissa.

Kustannusmalli käyttöperusteisesti

Koska laskentakapasiteetti ja SQL-virtualisointi on erotettu varsinaisesta tietovarastoinnista, voidaan datan prosessointi toteuttaa kulutuspohjaisella (pay-as-you-go) mallilla. Tämä tarkoittaa, että kustannuksia syntyy vain silloin, kun dataa todella prosessoidaan – ei esimerkiksi palvelimen pidosta jatkuvasti käyttövalmiudessa.

Data Lakehouse -arkkitehtuuri mahdollistaa näin suurien tietomäärien edullisen säilyttämisen ja kustannustehokkaan käsittelyn. Halvan varastoinnin seuraksena kustannukset pääsääntöisesti määräytyvät datan käytön, ei sen olemassaolon, mukaan.

Apache Spark – tehokas moottori suurten datamassojen käsittelyyn

Erityisen keskeisessä roolissa Lakehouse-arkkitehtuurissa on jo mainittu Apache Spark, joka on hajautetun laskennan analytiikkamoottori. Sen ansiosta voidaan käsitellä suuria määriä dataa tehokkaasti ja edullisesti – sellaisia määriä, joiden käsittely relaatiotietokannoissa olisi joko hidasta, kallista tai teknisesti haastavaa tekniikan rajoitteiden vuoksi.

Apache Sparkin neljä ominaisuutta, jotka mahdollistavat nopean ja kustannustehokkaan datan prosessoinnin

1. Hajautettu laskenta muistissa Spark on suunniteltu rinnakkaiseen laskentaan useilla solmuilla (node), mikä mahdollistaa suurten datamäärien käsittelyn nopeasti ja tehokkaasti muistissa (in-memory). Tarpeen mukaan Spark kykenee skaalautumaan automaattisesti, lisäämällä tai vähentämällä solmuja prosessointi tarpeen mukaan. Tämä auttaa huomattavasti sekä kulujen että nopeuden optimoinnissa käyttäjän tarpeita vastaaviksi.
2. Laajennettavuus kirjastoilla Spark MLlib tarjoaa valmiita koneoppimismalleja ja algoritmeja data-analytiikan tarpeisiin.
Spark Streaming mahdollistaa reaaliaikaisen datavirran, kuten IoT-laitteiden tuottaman datan, käsittelyn täsmälleen kerran (exactly-once) semantiikalla. Tätä voidaan hyödyntää esim. tapahtumavalvonnassa tai reaaliaikaisessa päätöksenteossa.
Spark GraphX tukee monimutkaisten graafien ja verkkojen analysointia, joita voidaan soveltaa mm. verkkokauppojen suosittelujärjestelmissä tai kuljetusreittien optimoinnissa.
3. Tuki useille ohjelmointikielille Spark tukee useita ohjelmointikieliä, kuten Python (PySpark), R, Scala ja Java, mikä tekee siitä helposti lähestyttävän eri taustoista tuleville kehittäjille. Lisäksi Spark SQL -moduuli tukee logiikan kirjoittamista SQL-kyselyinä, mikä helpottaa siirtymistä perinteisistä relaatiotietokannoista Spark-pohjaiseen prosessointiin.
4. Yhteensopivuus eri tietolähteiden kanssa Spark tukee laajasti erilaisia tiedostomuotoja, joista data voidaan lukea Spark DataFrame -muotoon. Tämä hajautettu tietorakenne(/rajapinta) mahdollistaa datan tehokkaan käsittelyn useassa rinnakkaisessa solmussa. Prosessoinnin jälkeen data voidaan kirjoittaa takaisin tietovarastoon missä tahansa halutussa muodossa – olipa kyse sitten raakadatasta tai jalostetusta taulurakenteesta. 

Modernisoinnin hetki on nyt

Yritykset, jotka haluavat pysyä mukana kilpailussa datavetoisessa maailmassa, eivät voi enää nojata pelkästään vanhoihin relaatiotietokantaratkaisuihin. Data Lakehouse -arkkitehtuuri tarjoaa modernin, joustavan ja kustannustehokkaan tavan käsitellä valtavia ja monimuotoisia tietomääriä. Se ei ainoastaan ratkaise tämän päivän datahaasteita – se myös rakentaa vankan perustan tulevaisuuden analytiikalle, tekoälylle ja liiketoimintapäätöksenteolle.

Yhteenveto perinteisten relaatiotietokantojen ja Data Lakehouse -arkkitehtuurin eroista

Ominaisuus Perinteinen relaatiotietokanta tietovarasto Data Lakehouse
Skaalautuvuus Rajallinen, lisäkapasiteetti usein kallista vs. saatu hyöty Erittäin hyvä, tallennus- ja prosessointikapasiteetti skaalautuvat erillään
Tallennusmuoto Vain rakenteinen taulumuoto (schema-on-write) Raakadata ja taulumuoto (schema-on-read)
Datan monimuotoisuus Heikosti tuettu  Hyvin tuettu (esim. kuvat, PDF, JSON, video) 
Laskentakapasiteetti Sidottu tietokantapalvelimeen ja palveluntuottajaan Erotettu ja vapaasti valittavissa tarpeen mukaan eri palveluntuottajilta 
Kustannusmalli (Usein) kiinteät kapasiteettikustannukset Käyttöperusteinen (pay-as-you-go) datan prosessoinnin mukaan
Käyttötarkoitus Operatiiviset järjestelmät Data-analytiikka, koneoppiminen, AI
Datan hallintaominaisuudet Sidottu tietokantapalvelimeen ja palveluntuottajaan Versiointi, ACID-tuki, Change Data Capture ym. + avoimen lähdekoodin tulevaisuuden toiminnot
Tiedostoformaatit Rajoittunut relaatiotauluihin, palveluntuottajan suljettu formaatti Delta, Iceberg, Parquet + muut avoimen lähdekoodin tulevaisuuden formaatit