Blogi

Snowflake hinnastamine

Snowflake on spetsiaalselt andmeaitade ja analüütiliste lahenduste jaoks loodud pilvepõhine andmebaasi teenus, mis on täiesti uuendusliku tehnoloogiana saavutanud kiiresti märkimisväärse populaarsuse. Seda ka Eestis. Snowflake modernsest platvormist on võimalik põhjalikumalt lugeda siit artiklist. Eraldi käsitlust väärib aga Snowflake hinnastamine ja vajaliku investeeringu prognoosimine, mis esmapilgul ei pruugi olla väga kergesti mõistetav. Eriti kui tegemist on esmakordse kokkupuutega kasutuspõhise pilveteenuse hinnastamisel.

Snowflake hinnastamine – vastavalt tegelikule kasutusele

Snowflake hind kujuneb lähtuvalt teenuse kasutusmahust. Kaks peamist komponenti hinna kujunemiseks on: andmebaasi tööks kasutatav võimsus sekundi täpsusega ja baasi andmemahu suurus. Lisaks on eraldi hinnastatud mõned valikulised pilveteenused, näiteks andmete pidevaks ja reaalaja lähedaseks laadimiseks kasutatav Snowpipe.

Snowflake teenuse (krediidi) ühikuhind kujuneb vastavalt lisatud hinnakirjale teenuse versioonist. Erinevad versioonid võimaldavad kasutada erinevaid sisemisi teenuseid ning turvataset. Samuti mõjutab hinda pilveplatvormi valik (AWS, Azure või Google) ja millises regioonis Snowflake teenust kasutatakse. Regioon määrab ka selle, kus andmeid hoitakse.

Snowflake hinnad
näide Snowflake hindadest versioonide lõikes AWS Dublin regiooni puhul (seisuga 11.05.2020)

Kasutatav võimsus

Snowflake eraldab andmebaasi kasutamiseks vajaliku hulga servereid, mida kasutatakse nii SQL päringute töötlemiseks kui ka andmete baasi laadimiseks. Selleks luuakse päringumootorid ehk inglise keeles Virtual Warehouses, millede poolt kasutatavat ressurssi nimetatakse arvutusvõimsuseks ehk Compute.

Compute eest tasutakse arvestuslikult Snowflake krediidiga. Ühel Snowflake krediidil on hinnakirjas antud hind US dollarites. Kõige lihtsama versiooni Standard puhul on ühe krediidi hind 2,50 $. Päringumootori saab seadistada nn T-särgi suuruste järgi X-Small, Small, Medium jne kuni 4XL. Igal sammul võimsus ja kasutatavate krediitide arv kahekordistub. Samas kasvab ka päringu töötlemise kiirus ning seetõttu päringule kulunud aeg väheneb. Seega ei pruugi kulu sugugi suureneda suurema võimsuse kasutamisel.

Snowflake krediit

Üks Snowflake krediit võimaldab kasutada ühe tunni XS (X-Small) päringumootorit (Compute Unit/Virtual Warehouse). Järgmise võimsuse S (Small) puhul maksab üks tund juba kaks krediiti jne (vt tabel all). Krediidi kulu arvutatakse sekundi täpsusega, kuid üks minut on miinimum. See tähendab, et raha kulub ainult siis kui mootor on käivitatud. Üks innovatiivsemaid Snowflake funktsionaalsusi on võime dünaamiliselt päringumootoreid käivitada ja seisma panna vastavalt sellele, kas hetkel on vaja teenindada päringuid või mitte. Sellest tulenevalt kulub krediiti ainult siis, kui on ka käivitatavaid päringuid või laetakse andmeid. Muul ajal päringumootorid seisavad ja kulu on null.

Andmemaht

Teine peamine hinna komponent on andmebaasi maht (Storage). Mahtu arvestatakse kuiselt ning pakitud mahu pealt, erinevalt näiteks Vertica andmebaasi litsentseerimisest, kus arvestatakse pakkimata mahtu. Täpsem võrdlus Snowflake ja Vertica andmebaaside vahel on plaanis teieni tuua mõnes järgmises blogipostituses. Snowflake hinnakirja ühikuks on 1TB. Antud näite puhul on 1TB hind 40$ kuus kuise makselepinguga ning 23$ ettemaksuga lepinguga.

Taustateenused

Taustateenused (Serverless Cloud Services) on teenused, mis käivitatakse taustal automaatselt soovitud töövoo teostamiseks ning nende eest tasutakse samuti Snowflake krediidiga. Siia alla kuuluvad näiteks sellised serverless teenused nagu Snowpipe (andmete pidevaks reaalaja lähedaseks laadimiseks), andmebaasi replikatsioon (regioonide ja pilveplatvormide vahel), materialiseeritud vaadete uuendamine (kui need on kasutusel) jne. Vajadus nende teenuste järele tekib enamasti alles suuremate ja keerulisemate andmelao lahenduste juures. Pilveteenuste krediidi kulu kuni 10% kogu päevases päringuvõimsuses kasutatavast krediidist on tasuta.

Snowflake hinnapaketid

Snowflake hinnastamine on hinnakirjas ja ka arvelduslikult USA dollarites. Leping Snowflake kasutamiseks tuleb sõlmida otse Snowflake Inc-ga ning tasumine toimub ka reeglina otse Snowflake-le.

Võimalik on valida kaks erinevat tasumise ja hinnamudelit:

  1. Kuupõhine (On-Demand) kus raha krediteeritakse igakuiselt krediitkaardilt vastavalt tarbitud teenuste mahule. Kuupõhise arvelduse puhul rakendub ka miinimumtasu, mis on 25$ pluss 40$ 1TB andmemahu eest.
  2. Ettemaksuga (pre-paid Capacity) kus ostetakse kokkulepitud mahus krediiti ette ning tarbitakse seda ikkagi kuupõhise arvestusega. Ettemaksuga leping tagab soodsamad ja lepinguperioodiks ka fikseeritud hinnad.

Kuidas prognoosida Snowflake teenuse kulu:

Kui andmemahtu (Storage) ja kulu sellele on võimalik üsna lihtsalt prognoosida, siis veidi keerulisem on planeerida päringumootorite (Compute/Virtual Warehouse) tööks vajalikku krediiti. See moodustab aga suurema osa Snowflake teenuse kogukulust. Võib arvestada, et väikseim X-Small päringumootor on juba üsna võimekas (pilveserver “general” suurusega protsessori, mälu ja SSD kettaga) ning võimaldab mõistliku kiirusega teenindada 10-15 samaaegset päringut.

Loomulikult sõltub täpne päringumootori jõudlus konkreetsest andmestikust, mahtudest ja päringust. Lisaks sobivale päringumootori valimisele tuleks prognoosimisel tuvastada ka ajaaknad, millal ja mis tüüpi päringud/laadimised andmelaos töötavad. Selle järgi saab arvutada ööpäevase krediidikulu. Näiteks öine laadimine XS mootoriga orienteeruvalt üks tund on kuluga 2,5$. Lisaks päevased aruannete päringud kaheksa tundi S mootoriga, millele kuluks 40$. Kokku oleks sellise näite puhul päevane päringu mootori kulu 42,5$ ja kuus orienteeruvalt 850$. Samas võib arvata, et aruandluse päringud ei jookse igal minutil, vaid ka tööpäeva jooksul ei pea päringumootor töötama kogu aeg.

Snowflake kulu prognoosimine ja optimeerimine

Kuivõrd Snowflake hinnastamine on tervikuna kasutuspõhine, siis on loomulikult väga oluline seda kasutust enne kasutuselevõttu võimalikult täpselt prognoosida ning hiljem ka kontrollida ning optimeerida.

Optimeerimiseks on mitmeid võimalusi. Esmane võimalus on valida enda jaoks sobiv ja soodsam pilveplatvorm ja regioon. Oluline on korrektselt hallata ka päringumootoreid, mida saab seadistada nii, et vaikimisi on need suletud ja käivituvad alles päringu esitamisel ja sulguvad peale töö lõpetamist. Lisaks saab täiendavalt jooksvalt kasutada ka ärianalüütika vahendite jõudlust. Nimelt näiteks Tableau puhul saab laadida andmed edasi sealsesse sisemisse andmebaasimootorisse  (Tableau puhul Hyper extract, PowerBi puhul Vertipaq). Seda saab teha peale andmelao igapäevast laadimist ning kasutada andmeid päeva jooksul valdavalt visualiseerimise tööriistas. See vähendab Snowflake kulu oluliselt ning oleme oma klientidele aidanud juurutada andmelao kogukuluga vaid paarsada eurot kuus. Võrreldes teiste andmeladude jaoks ehitatud või kohandatud andmebaasimootorite kuludega pilves, on Snowflake seni olnud märkimisväärselt soodsam sama jõudluse kohta.

Parima tulemuse kulude prognoosime osas annab Snowflake 30 päevane prooviperiood, mis sisaldab 400$ väärtuses krediiti teenuse katsetamiseks ja võimaldab arvutused teha juba oma andmete ning päringute põhjal. Prooviperioodi konto muutub automaatselt hiljem kuupõhiseks teenuseks, kui sisestate oma krediitkaardi andmed. See võimaldab sujuvalt üle minna katsetustelt esimeste tegelike lahendusteni.


Wizon on Snowflake partner ning aitame huvilistel viia läbi testimist, prognoosida vajalikku investeeringut ning luua ka terviklikke andmeanalüüsi lahendusi Snowflake baasil.

Võta meiega ühendust, et koos planeerida efektiivne prooviperioodi läbiviimine:

  1. Teeme põhjalikuma Snowflake tutvustuse,
  2. Planeerime, mis andmetega testimine läbi viia,
  3. Andmete ettevalmistus ja laadimine,
  4. Andmebaasi kasutamine,
  5. Tulevase investeeringu täpsem planeerimine.