Viime vuosina Data Lakehouse -arkkitehtuurista on muodostunut pääsääntöinen data-arkkitehtuuri pilvipohjaisiin data-alustoihin. Medallion-arkkitehtuurista (pronssi, hopea, kulta) on tullut de facto Lakehousea rakennettaessa. Tähän asti Microsoftin ratkaisu pilvipohjaisia data-alustoja varten on ollut Azure Synapse Analytics PaaS -ratkaisu tai Databricks on Azure. Viime kuussa Microsoft julkaisi uuden SaaS-pohjaisen analytiikka-alustan nimeltä Microsoft Fabric. Jos Fabric ei ole vielä sinulle tuttu, tutustu Microsoft Learnin yleiskatsaukseen.
Alla on muutamia ajatuksiamme Fabricista liittyen Data Lakehouse -toteutuksiin ja miksi organisaatioiden tulisi ottaa Fabric käyttöön.
Synapse vs Fabric
Synapse Analyticsin tarkoitus oli tuoda yhden sateenvarjon alle Azuressa saatavilla olevat data-palvelut. Sitä se käytännössä myös teki, mutta konepellin alla ne eivät silti aina toimineet saumattomasti yhteen. Näistä esimerkkeinä mm. se, että Spark- ja SQL-työkuormat eivät keskustele natiivisti keskenään, yhteydet eri palveluiden välillä eivät toimi out of the box ja datasta täytyy tallentaa useampia kopioita, jotta se on optimaalisesti hyödynnettävissä eri työkuormissa. Nämä eivät ole ylitsepääsemättömiä asioita, mutta aiheuttavat ylimääräistä työtä, joka ei tuota lisäarvoa loppukäyttäjille. Toki monet näistä asioista pystytään hoitamaan automaatiolla, kuten Isletillä tekemämme template-pohjaiset ratkaisut tekevätkin. Molemmissa ratkaisuissa Lakehouse-arkkitehtuurin ytimessä on Spark-notebookit, joilla varsinaiset datan käsittelyt tehdään. Tätäkin varten olemme kehittäneet omat Spark-kirjastot, joiden avulla toteutus on nopeampaa ja laadukkaampaa, ja ne ovat täysin yhteensopivia Fabricin notebookien kanssa.
Miten Fabric muuttaa kuviota?
Fabric ei muuta Data Lakehousen ja Medallion -arkkitehtuurin perusperiaatteita vaan tarjoaa täysin uudenlaisen alustan näiden rakentamista varten. Koska kyseessä on SaaS-palvelu, sen pystyttäminen ja ylläpitäminen vaatii vähemmän työtä kuin PaaS-pohjaisen Synapsen. Fabricin yhteinen käyttöliittymä kaikille työkuormille on toki hyvä asia ja vähentää tarvittavien työkalujen määrää ja siirtymistä niiden välillä. Niin ne työkuormat. Fabricissa on mistä valita: Data Factory, Data Engineering + Lakehouse, Data Warehouse, Data Science, Real-time Analytics, Data Activator ja Power BI. Näistäkin voit lukea lisää em. linkin takaa löytyvästä Fabricin esittelystä. Kaikkia työkuormia ei tietysti tarvitse käyttää vaan jokaiseen tarpeeseen valitaan sopivin väline. Eri työkuormilla pystytään toteuttamaan osittain samojakin asioita esim. vaihtoehtoiset toteutukset low-code tai code first -tyyppisesti.
Tärkein ominaisuus kuitenkin on konepellin alla oleva One Lake tallennustila ja kaikkien Fabric työkuormien käyttämä Apache Delta Lake tallennusformaatti. One Laken taustalla on Azure Data Lake Storage Gen2, jonka myötä One Lake tukee kaikkia samoja ominaisuuksia kuin Data Lake Storage. Delta Lake taas on avoin tallennusformaatti, joka tukee ACID-transaktioita sekä datan versiointia ja samaista formaattia käyttää myös mm. Databricks. Synapsen Notebookit toki pystyvät yhtä lailla käyttämään Delta Lakea ja Serverless SQL Pool myös lukemaan sitä, mutta Fabricissa kaikki työkuormat sekä lukevat että kirjoittavat Delta Lakea natiivisti. Tämä tietysti helpottaa eri työkuormien välistä datan hyödyntämistä ja myös eri rooleissa toimivien henkilöiden mahdollisuutta hyödyntää alustalla olevia datoja eli juuri sitä, mitä modernin data-alustan tulisikin olla.
Yhtenäisen Delta Lake formaatin myötä tarve kopioida samaa dataa eri formaateissa eri välineitä tai käyttötarpeita varten vähenee merkittävästi. Tämän lisäksi Fabricissa on täysin uusina ominaisuuksina shortcut ja database mirroring, joiden avulla olemassa olevia datoja esim. AWS:n S3:sta, Azuren Storagesta tai Azuren SQL ja Snowflake -tietokannoista ei tarvitse välttämättä erikseen siirtää One Lakeen vaan ne voidaan linkittää One Lakeen. Jokainen tapaus tulee tietysti tutkia tarkemmin ja hakea sopivin ratkaisu kyseiseen tarpeeseen.
Uusista ominaisuuksista mainittakoon vielä erikseen Power BI:n Direct Lake connector, joka pystyy lukemaan datan One Lakesta reaaliaikaisesti ja erittäin suorituskykyisesti eli käytännössä yhdistää parhaat puolet Direct Query ja Import Mode -tyyppisistä yhteyksistä: tietomallin ajantasaisuus ja tehokkuus.
Edellä mainittujen lisäksi Fabricissa on lukuisia muitakin uusia ominaisuuksia ja tuote kehittyy jatkuvasti. On hyvä huomioida, että vaikka Microsoft julkaisi tuotantokelpoisen (GA) version Fabricista marraskuussa 2023, on sen ominaisuuksissa edelleen puutteita. Näitä kuitenkin paikataan kovaa vauhtia ja uusia ominaisuuksia julkistetaan viikoittain.
Milloin on hyvä aika ottaa Fabric käyttöön?
Organisaatioiden, jotka vasta aloittavat siirtymisen pilvipohjaiseen data-alustaan, kannattaa ehdottomasti harkita Fabricia ensisijaisena vaihtoehtona. Toisaalta niillä organisaatioilla, jotka ovat jo rakentaneet data-alustansa Synapseen tai Databricksiin, ei ole mikään kiire siirtää jo tehtyjä osia Fabriciin, Synapse pysyy edelleen täysin tuettuna palveluna. Mutta näille organisaatioille voi olla mielenkiintoinen vaihtoehto implementoida Fabric jonkin tietyn osa-alueen käyttöön ja kerätä siten kokemuksia uudesta alustasta.
Viitteitä on, että migraatioita varten on tulossa Microsoftilta apuvälineitä jossain vaiheessa. Jos organisaation nykyinen Synapse-pohjainen ratkaisu on Lakehouse Spark-notebookeja käyttäen, kuten Isletinkin toteutusmalli on, tulee migraatio Fabriciin olemaan melko kevyt operaatio riippumatta siitä tekeekö sen nyt vai muutaman vuoden kuluttua.
Kiteytettynä, mitä hyötyjä Fabric tuo organisaatiolle?
Saman palvelun alta löytyvät nyt kaikki data ja analytiikka -tarpeisiin liittyvät asiat datan integroinnista lähtien sen muokkaamiseen, tallentamiseen ja raportointiin sekä lisäksi koneoppimis- ja AI-työkalut.
Koska kaikki Fabricin työkalut tunnistavat keskitetyn One Laken ja käyttävät samaa datan tallennusformaattia, on eri rooleissa työskentelevien henkilöiden helppo hyödyntää alustaan tallennettua tietoa. Aikaa ja rahaa säästyy, kun henkilön ei tarvitse miettiä, miten saa luettua haluamansa datan.
Samoin työskentelyä tehostaa Copilot. Se integroidaan osaksi kaikkia Fabricin työkuormia ja sillä on käytössään sama näkyvyys alustassa olevaan dataan kuin kehittäjällä, jolloin kehittäjät voivat pyytää Copilotia esim. kirjoittamaan koodia, laskentakaavoja tai analysoimaan dataa.
Fabricin kustannukset perustuvat kapasiteettiyksikköihin, joita kaikki työkuormat kuluttavat. Kun datan määrä kasvaa ja käyttötarpeet laajenevat, kapasiteettia ostetaan lisää tai päin vastoin. Power BI -lisenssit tosin ostetaan edelleen erikseen ellei käytetä F64-kapasiteettia eli entistä Power BI Premiumia.
Islet ja Fabric
Me Isletillä olemme jo pitkän aikaa toteuttaneet Data Lakehouse arkkitehtuureita perinteisten tietovarastojen sijaan, kuten esim. Wihurilla. Olemme kehittäneet geneerisiä, toistettavia malleja ja kirjastoja Medallion-arkkitehtuurin tehokkaaseen toteutukseen ja käytämme Delta Lakea datan tallennusformaattina. Nämä huomioiden, siirtyminen Fabriciin ei muuta suuresti tapaamme toteuttaa Lakehouse, mutta tuo paljon uusia mahdollisuuksia ja ominaisuuksia data-alustan rakentamista ja datan hyödyntämistä varten.
– – – – –
Blogin kirjoittaja Mika Kuivanen on Isletin data-arkkitehti, jolla on yli 15 vuoden kokemus tietokannoista, datasta&analytiikasta ja konsultoinnista.
Lisätietoja:
#MicrosoftFabric #Azure #lakehouse #deltalake #powerBI #data #analytiikka #AI #onelake #Microsoft