Siili Data Hack Day – Tietovarastoalustat koeajossa

Siilin dataporukat ovat järjestäneet jo useaan kertaan päivän kestäviä sisäisiä data hack -tapahtumia, joissa on asetettu testipenkkiin erilaisia työkaluja, tehty niillä erinäisiä koeajoja, kerätty kokemusta ja osaamista, tutustuttu uusiin kasvoihin sekä pidetty hauskaa. Aikojen kuluessa olemme kokeilleet mm. datan visualisointityökaluja ja -kirjastoja, virtualisointityökaluja sekä erinäisiä data-alustoja. 

Hiljattain järjestetyn Data Hack Dayn yhteydessä koeponnistimme pilvipohjaisia tietovarastointiteknologioita. Jokaisesta alustasta meillä on jo kokemusta myös asiakastyössä. Testipenkkiin pääsivät tällä kertaa Azure SQL Data Warehouse, Snowflake ja Google BigQuery. Meillä oli myös ilo ja kunnia saada paikalle peräti kaksitoista edustajaa pitkäaikaiselta asiakkaaltamme viettämään päivä valmiiksi katetussa dataplatformipöydässä. Suurin osa asiakkaamme joukkioista päätyi Snowflake-työryhmään. Asiakkaan väki piti kovasti päivän sisällöstä ja hyvää palautetta tuli mm. siitä, että pääsi mukavasti testailemaan alustojen ominaisuuksia ja asennoitumaan pilvipohjaiseen dataputkitukseen. 

Suorituskykyvertailun ykkönen

Suorituskykyvertailussa out-of-the-box Google BigQuery pärjäsi parhaiten. Snowflakella päästiin myös skaalaamaan suurin piirtein samaan suorituskykytasoon käyttämättä suurimpia warehouse-instanssikokoja. Käyttämissämme testeissä Azure SQL DW jäi suorituskyvyltään muita heikommaksi. Tosin suurimpia (ja kalleimpia) Azure DW:n warehouseinstansseja ei kokeiltu ja näin ollen vertailua ei välttämättä tehty aivan samalta viivalta.

Yksi huomioista oli se, että samalla suorituskykytasolla Snowflakella testikyselyiden laskennallinen hinta oli alempi kuin Google BigQueryllä. Vertailujen tekemiseksi käytimme kaikilla testialustoilla samoja datasettejä, joita vasten ajoimme testipenkkikyselyjä. Snowflaken ja Azuren skaalautuvuus on varsin lineaarista, ja sitä voidaan säätää vaihtamalla kapasiteettiyksikköä. Azure SQL Data Warehousen yhteydessä puhutaan ns. DWU-yksiköistä. Testiasettelussa sovelsimme TPC.orgin benchmarking-kehikkoa. 

Sulavaa käyttöliittymää etsimässä

BigQueryn osalta Googlen käyttöliittymä on googlemaisen sulava ja viimeistelty, mutta toisaalta aika riisuttu. BigQuery palauttaa uskomattomalla nopeudella tuloksia kyselyihin isoistakin tietojoukoista.

Monen kehittäjän yhtäaikaisen kehitystyön tekemiseen ei tunnu olevan yhtä monipuolisia työkaluja kuin esimerkiksi Azure SQL DW:n yhteydessä käytettävän Visual Studion Data Tools, johon on jo (tai paremminkin vihdoin) saatavissa myös Azure SQL DW:n tuki, tosin vasta preview-asteella. Data Tools preview -versiota onkin käytettävä ”hellästi”, muuten löytää itsensä selvittelemässä mitä oudoimpia virheitä, joita toisaalta oppii välttämään nopeastikin.  

Azure SQL DW muistuttaa ensi tuntumalta paljolti SQL Serveriä T-SQL:n muodossa, mutta hieman pintaa syvemmältä raapaisemalla huomaa, ettei joitakin perinteisessä tietovarastoinnissa tarvittavia tai ainakin erittäin näppäriä komentoja olekaan käytettävissä. Esimerkiksi MERGE-komento suorastaan loistaa poissaolollaan. Kaikki SQL Serverin tietotyypit eivät myöskään ole tuettuja, joten esimerkiksi taulujen suoran bulkkikopioinnin voi osin unohtaa. 

Toteutimme dataputkituksia Azure Storage -palveluiden päälle ja hyödynsimme myös PolyBasea kyselyissä, kuten referenssiarkkitehtuureiden mukaan oikeaoppisesti kuuluukin. Datan lataus osoittautui vaivattomaksi ja varsin nopeaksi. Huomasimme myös, että prosesseissa kannattaa huomata käyttää roolipohjaisia käyttäjiä, joilla on riittävät resurssit muistin ja rinnakkaisten kyselyjen suhteen. 

Snowflaken kanssa pääsee nopeasti sinuiksi tuoreempikin pilvidatavaraston tekijä, sillä se tottelee tavallista ANSI-SQL:ää, johon on lisäksi kehitetty mukaan omia alustakohtaisia laajennoksia mm. käytettävän laskentakapasiteetin ja muiden alustan ominaisuuksien hallintaan. Alustan ominaispiirteisiin kuuluu keskeisesti tiedon säilytyksen ja prosessoinnin (compute) täydellinen erottaminen ja nopea skaalautuvuus. Käytännössä kyseltävän tietojoukon ollessa tarpeeksi suuri kyselyiden suorituskyky kasvaa lineaarisesti laskentakapasiteettia kasvatettaessa.

Halpaa datankäsittelyä

Laskutus on ensikosketuksella hieman epäselvän Snowflake Credit -mallin sisäistämisen jälkeen suoraviivaista – tiedon varastoinnista maksetaan muutama kymppi kuussa per teratavu ja käytetystä laskentakapasiteetista (Virtual Warehouse) ensimmäisen alkavan minuutin mukaan ja sen jälkeen sekuntipohjaisesti. Alustalle löytyy ODBC-, JDBC-, Python-, ym. ajureita, joilla melkein mikä vain tietokantatyökalu ja raportointiväline saadaan yhdistettyä Snowflakeen. 

Kaiken kaikkiaan voi sanoa, että esimerkiksi CV:ssä ei ehkä kannata liikaa enää tätä nykyä hehkuttaa isojen datasettien kokemusta, sen verran helppoa valtavienkin massojen käsittely on nykyisillä työkaluilla. Kaiken lisäksi hupi on erittäin halpaa, ainakin jos vertaa takavuosien MPP on prem -ratkaisuihin. 

 

Kirjoittanut Jerry Jalassola

 

Haluatko päästä mukaan tällaiseen porukkaan? Katso avoimet työpaikkamme.

 

Mitä seuraavaksi

Viimeisimmät projektimme

Teosto - rakkaudesta musiikkiin

Teosto - rakkaudesta musiikkiin

Rakkaudesta musiikkiin – se oli Teoston lähtökohta, kun suomalaisen musiikin tekijänoikeusjärjestön verkkopalveluja lähdettiin uudistamaan.

Tulevat tapahtumat

SAFe Lean Portfolio Management

SAFe Lean Portfolio Management

Kaksipäiväinen kurssi antaa perustiedot Scaled Agile Frameworkin, lean-ajattelun ja ohjelmisto- ja palvelukehityksen ohjauksen pääperiaatteista ja niiden hyödyntämisestä isoissa yrityksissä. Kurssi tarjoaa työkaluja ja p...
Sign up

Tilaa tarinat