Mikä on Microsoft Fabric: Osa 3: Suorituskyky

Tiedolla johtamiseen liittyviä ikoneita rattaitten sisällä

Voit lukea artikkelisarjan ensimmäisen ja toisen julkaisun oheisten linkkien kautta: 
Mikä on Microsoft Fabric? Osa 1:  historiasta nykypäivään.
Mikä on Microsoft Fabric? Osa 2:  teknologia
Tässä osassa keskitymme Microsoft Fabricin suorituskykyyn.

Data-alustan tekninen suorituskyky on tärkeä osa tiedolla johtamista ja sillä on vaikutusta tietotuotteen jokaisessa osassa. Jos datan siirto- tai käsittelynopeus on heikko, tiedon päivittyminen Power BI -raportille on hitaampaa ja pahimmassa tapauksessa se voi aiheuttaa ylimääräisiä kustannuksia. Reaaliaikainen, tai useamman kerran päivässä päivittyvä aineisto voi hitaalla data-alustalla jäädä vain haaveeksi.

Fabric mahdollistaa suorituskyvyn parantamisen mm. tietoputkea lyhentämällä. Tapa on hyvä ja kustannustehokas, koska se ei vaadi laskentatehon kasvattamista. Fabricin tapauksessa tietoputkea lyhentää se, että OneLakessa tietoa ei kopioida, sekä mahdollisuus käyttää Power BI -raporteilla Direct Lake -ominaisuutta.

Koska Fabricin One Lake ei fyysisesti monista dataa tietovarannon eri kerroksissa on tiedon matka tietovarannon vaiheiden läpi (esim. Bronze, Silver, Gold) nopeampi kuin perinteisten tietovarastojen kohdalla. Lisäksi ulkoiset tietovarannot voidaan ottaa käyttöön yksinkertaisilla viittauksilla (shortcut), jolloin dataa ei välttämättä ole pakko siirtää ollenkaan.

Power BI:n Direct Lake -ominaisuutta käytettäessä dataa ei tarvitse ladata ajastetusti Fabricin tietovarannosta (Lakehouse tai Warehouse) Power BI Serviceen, vaan tarvittava tieto luetaan tietovarannosta raporttia käytettäessä. Tässä mielessä Direct Lake toimii siis samalla tavalla kuin Power BI:stä jo aiemmin tutut Direct Query- ja Live Connect -ominaisuudet. Direct Laken suorituskyky on kuitenkin lähempänä Importilla tuotua tietojoukkoa kuin Direct Queryyn pohjautuvaa tietojoukkoa/semanttista mallia.

Tietoputken lyhentämisen lisäksi Direct Lake mahdollistaa myös rivi- ja sarakemääriltään todella suurien taulujen käytön raportoinnissa. Olemme koemielessä pyörittäneet 100 sarakkeen ja 100 miljoonan rivin näkymään pohjautuvaa raporttia Direct Laken kautta ja hämmästelleet suorituskykyä. Kasvanut suorituskyky ei tietenkään poista järkevän suunnittelun tarvetta. 

Fabric-ympäristön kapasiteetti on kuin Teslan akku

Fabric ympäristön kapasiteetin voi valita 11 eri kapasiteettivaihtoehdosta F2 - F2048 välillä. Kapasiteetti aina tuplaantuu edelliseen tasoon verrattuna, esimerkiksi F2 -> F4 -> F8… Mitä tämä kapasiteetti sitten tarkoittaa? Kapasiteetti on keskimääräisiä kapasiteettiyksikkösekunteja. Näitä voi ajatella “laskenta-aikana” tai Teslan akkuna. Kuinka paljon laskenta-aikaa ympäristö tarvitsee vuorokaudessa, auttaa mitoittamaan kapasiteetin koon valintaa. 

Pienempiä kapasiteetteja voi ajatella Teslan Plaid-mallien kautta. Ludicrous-modessa auto kiihtyy huimimpien hyperautojen nopeudella, mutta akku ei riitä jatkuviin äärikiihdytyksiin. Myös pienin F2-kapasiteetti pystyy suureen prosessointitehoon hetkellisesti, mutta senkään sekunnit eivät riitä suuren ympäristön jatkuvaan prosessointitarpeeseen. Tavallista korkeamman laskentatehon mahdollistaa Fabricin Bursting- ja Smoothing-ominaisuudet. Esimerkissään Microsoft kertoo kuinka Bursting mahdollistaa ostetun 64 CU:n kapasiteetin käytön sijaan nelinkertaisen 256 CU:n käytön, prosessointiajan pudoten täten neljäsosaan. (Bursting toimii automaattisesti ja sillä voi ottaa förskottia jäljellä olevaa kapasiteettia vasten).

Kuten Teslallakaan ei voi jatkuvasti kiihdytellä Ludicrous-moodissa, Fabricissakaan ei voi jatkuvasti ajaa kapasiteettiaan ostettua suuremmalla teholla. Smoothing-ominaisuus pitää kirjaa ylityksistä. Mikäli kulutus ylittää ostetun kapasiteetin alle 10 minuutin ajan, suorituskykyä ei rajoiteta. Mikäli ylitys kestää yli 10 minuuttia, aletaan suorituskykyä rajoittamaan ja pahimmillaan ajastetutkaan prosessit eivät pyöri. Sähköraketin akku on siis loppu ja välillä pitää pysähtyä lataamaan. Oikean kokoisen Fabric-ympäristön suunnittelussa auttaa Fabric Capacity Metrics -sovellus. Sen avulla voi tarkkailla ympäristön tehonkulutusta ja mahdollisia tehon rajauksia. 

Fabricin suorituskykytestin tulokset

Miten Microsoft Fabricin suorituskyky sitten vertaantuu esimerkiksi Synapseen tai Azure SQL:ään? Siitä otimme selvää tekemällämme suorituskykytestillä.

Fabricin kapasiteetiksi valittiin F64. Vertailuun otettiin perinteinen Synapse Analytics Warehouse DWU500 koossa, joka vastaa hinnaltaan kapasiteettihinnoiteltua Fabric F64:sta kirjoitushetkellä (noin 5500 dollaria / kk). Synapse Analytics Serverlessiä ei tässä vertailtu, koska se on käytettävyydeltään ja ominaisuuksiltaan hyvin rajallinen lakehouse/tietovarasto -käytössä. Lisäksi verrokkina on vielä perinteinen Azure SQL -tietokanta 8 vCore (1700 dollaria /kk) ja 24 vCore (4700 dollaria /kk) koossa. Azure SQL -tietokantaa testattiin kahdessa eri koossa, koska datan sisäänlatauksen osalta latausnopeudessa ei huomattu juurikaan eroa, eli se ei skaalaudu.

Suorituskykyä vertailtiin kahdella aineistolla:
  • Iso demotaulu (240 miljoonaa riviä, yli 100 saraketta)
  • NYC Taxi Yellow (73 miljoonaa riviä)
  • NYC Taxi Yellow (282 miljoonaa riviä)
Isoa demotaulua ei saatu ladattua Synapseen ollenkaan, kokeilimme käyttää suoraa insert-latausta Polybase External Tablen kautta ja myös Synapsen omaa Data Factorya. Kumpikin kaatui lopulta joko tempdb:n tilan loppumiseen (kapasiteetti loppui) tai timeout-virheeseen, latauksen kestettyä noin 2 tuntia. Saman aineiston lataus Fabriciin kesti 14 minuuttia Lakehousen avulla, mikä on erittäin hyvä tulos kyseiselle aineistolle.

Alla vielä yhteenvetotaulukko testituloksista:

 

Kuorma

Fabric

Synapse

SQL

Kuvaus

NYC Taxi Yellow 73m lataus

1 min

5 min

25 min

Ulkoinen Azure Data Lake Gen 2 lähde

Fakta + Dimensiot -kysely

4 sek

13 sek

1 min

Tietomalli, jossa fakta ja 7 dimensiota

Monimutkaisen näkymän lataus

1 t

1 t 15 min

2 t

Tietomallista luotu monimutkaisempi näkymä, jossa CASE WHEN -käsittelyjä. Faktana 280 miljoonaan riviin monistettu NYC Taxi Yellow. Siirto Warehousessa taulusta toiseen.

Monimutkaisen näkymän lataus Lakehouseen

1 t

n/a

n/a

Ladataan monimutkainen näkymä Warehousesta Lakehouseen

Monimutkaisen näkymän lataus Lakehousen sisällä

3 min

n/a

n/a

Ladataan monimutkainen näkymä Lakehousen sisällä

Ison taulun lataus tietovarastoon

14 min

2+ t

3+ t

Fabricissa Shortcutin kautta Lakehouseen. Synapsessa sekä Data Factorylla, että external tablen kautta lataus kaatui usein virheeseen.

Yhteenveto Fabricin suorituskyvystä

Konkreettisten testien perusteella voidaan todeta, että Fabricilla todella saa paljon vastinetta rahalleen. Suorituskyky on jo keskitason kapasiteetilla huippuluokkaa ja Fabric tarjoaa käytännössä kaikkiin skenaarioihin sopivat työkalut, jotta tietovarastoprojekti saadaan sujuvasti maaliin saakka. Lisäksi tuotteessa on uusia innovatiivisia suorituskykyä parantavia ominaisuuksia, kuten smoothing, bursting ja Direct Lake.

Fabricin hyvä puoli on myös se, että kaikki työkalut on aidosti keskitettynä yhteen portaaliin, jolloin koko kehitystiimi ja loppukäyttäjät pelaavat samalla pelikentällä. Hinnoittelu on myös suhteellisen yksinkertaista, kun tietovarastosta jää pois lähes kaikki Azuressa olevat yksittäiset palvelut, jotka normaalisti konfiguroidaan toimimaan yhtenä kokonaisuutena. Fabricissa lähes kaikki tarvittavat palvelut löytyvät saman katon alta.

Lakehouse/Warehouse ajattelu mahdollistaa sen, että kehitystiimin Data Engineerit ja Data Scientistit voivat käyttää samoja suorituskykyisiä työkaluja ja samaa jo ennestään siistittyä dataa. Tämä teksti keskittyi paljolti Fabricin suorituskykyyn ja artikkelisarjan seuraavassa osassa käymme tarkemmin läpi Fabricin lisenssointia. 

Jos haluat kuulla lisää Fabricin mahdollisuuksista, varaa aika keskusteluun

Lue lisää

Tiedolla johtaminen - kuinka hyödynnät dataa entistä tehokkaammin
Microsoft Fabric ja tekoäly helpottavat oppilaitosten datan hallintaa ja raportoinnin itsepalvelua
Mikä Microsoft Fabric on?
Mikä on Microsoft Fabric? Osa 1: historiasta nykypäivään
Mikä on Microsoft Fabric? Osa 2: teknologia
Pinjan tiedolla johtamisen ja business intelligence -palvelut

Aleksi Rytkönen

Aleksi Rytkönen

Työskentelen Pinjalla tietovarastoarkkitehtina. Suunnittelen asiakkaiden tarpeisiin sopivat tekniset ratkaisut ja autan niiden käyttöönotossa. Olen erityisen kiinnostunut tietovarastojen konepellin alla tapahtuvista asioista. Vapaa-aika kuluu perheen, videopelien ja liikunnan parissa.

Lue lisää tältä kirjoittajalta