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 vapaamuotoisesti, kerätty kokemusta ja osaamista, tutustuttu uusiin kasvoihin sekä pidetty hauskaa. Aikojen kuluessa olemme kokeille mm. datan visualisointityökaluja ja -kirjastoja, virtualisointityökaluja sekä erinäisiä data-alustoja. 

Hiljakkoin 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, jota voidaan säätää vaihtamalla kapasiteettiyksikköä. Azure SQL Data Warehousen yhteydessä puhutaan ns. DWU-yksiköistä. Testiasettelussa sovelsimme TPC.org 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ä Visual Studion Data Tools, johon on jo (tai paremminkin vihdoin) saatavissa Azure SQL DW:n tuki myöskin, 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ä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ä, jolla on riittävät resurssit muistin ja rinnakkaisten kyselyjen suhteen. 

Snowflaken kanssa pääsee nopeasti sinuiksi tuoreempikin pilvidatavarastomies tai -nainen, 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

 

Mitä seuraavaksi

Viimeisimmät projektimme

Työeläkeyhtiö Elo – Ihmislähtöistä eläkeasiointia

Työeläkeyhtiö Elo – Ihmislähtöistä eläkeasiointia

Asiakaslähtöisyys, jatkuva asiakaspalautteen kerääminen ja sen pohjalta tapahtuva palvelun kehittäminen – ne ovat työeläkevakuutusyhtiö Elon eläkepalvelun rakentamisen johtotähdet, joihin elolaisista ja siileistä koostuv...

Tulevat tapahtumat

The Responsibility Process® - Vahvat tiimit työpaja | Helsinki, 20.-21.11.2019

The Responsibility Process® - Vahvat tiimit työpaja

Helsinki, 20.-21.11.2019

Haluatko oppia johtamaan tiimejä yhteistyökykyisesti sekä moniulotteisesti? The Responsibility Process - Powerful Teams -työpaja kehittää kykyä ohjata tiimejä yhteistyön sekä vastuunoton näkökulmasta. Harvat ammattilaise...
Sign up

Tilaa uutiskirje