Před týdnem proběhl první Data Punkers Meetup. Tématem nebylo nic jiného než fenomén datového světa posledních několika málo let – Snowflake. Co to vlastně Snowflake je? Jaké jsou jeho přednosti a slabiny? To se dočtete v textu níže.
Snowflake v poslední době zažívá celosvětový boom a český trh není výjimkou. Mezi velké hráče, kteří přešli k této platformě, patří například Nike nebo Adobe. Celkově již Snowflake používá přes 250 tisíc uživatelů. Toto číslo bude zcela jistě ještě růst s tím, jak si stále více společností uvědomuje, že práce s daty je zcela klíčová pro tvorbu businessových rozhodnutí.
Když se analýza dat přesune do cloudu
Snowflake je cloudový datový sklad, který kromě ukládání dat umožňuje také jejich analýzu. Důležité je, že jak samotné skladování, tak i výpočty a analýza probíhají v již zmíněném cloudu. To znamená, že když zadáte dotaz (Snowflake používá vlastní adaptaci SQL), nepoužívá se pro výpočet váš počítač, nýbrž výpočetní síla vzdáleného serveru. To s sebou přináší řadu výhod. Například to, že máte k dispozici v podstatě neomezenou kapacitu úložiště a zároveň prakticky neomezený výpočetní výkon.
Vývojáři se snažili co nejvíce zjednodušit proces zpracování dat, a proto je celý systém téměř bezúdržbový a snadno se s ním pracuje. Právě to, jak snadné je se Snowflake začít, je jedna z jeho velkých předností. A navíc: jakmile jednou máte ve své firmě Snowflake, každý uživatel může mít vlastní warehouse, kde si může s daty hrát. Zároveň se tento data warehouse může pochlubit téměř nulovým down-timem.
Další a možná největší výhodou je škálovatelnost. Je okamžitá a v podstatě neomezená. Co to znamená? Oproti spoustě jiných datových úložišť vůbec nemusíte dopředu plánovat, kolik dat budete chtít do budoucna skladovat nebo zpracovávat, kolik na to bude potřeba výkonu a pro jaké účely bude systém sloužit. Se Snowflake prostě „jedete“. A když potřebujete někde navýšit výkon, prostě si ho navýšíte tak, jak zrovna potřebujete. Za skladování dat a za výpočetní výkon se poté platí odděleně.
Cestování v čase? Bez problémů!
Snowflake mimo jiné nativně podporuje semi-structured data jako jsou například json nebo xml, a to bez snížení výkonu. Další vychytávkou, která stojí za zmínku, je funkce „undrop table“. „Drop table“ asi všichni dataři znají, avšak „undrop“, neboli možnost oživit tabulku, kterou jste už jednou smazali, je poměrně unikátní. Kromě tabulky navíc můžete podobným způsobem navrátit smazané schéma nebo celou databázi.
Dobře řešené je také sdílení a klonování dat. Nejenže jsou obě funkce samy o sobě velmi snadné na provedení, ale také se při nich automaticky neduplikují všechna data. Díky tomu se zbytečně nenavyšuje spotřeba úložiště, a tedy ani faktura za něj.
Poslední pozitivum, které určitě stojí za zmínku, se týká funkce „timetravel“. Ta spočívá v tom, že můžete zpětně získat historické verze tabulek a databází a obnovit je do původního stavu. Tento návrat v čase je možný až 90 dní nazpět. I poté však ještě existuje jedna poslední záchranná brzda (tzv. fail-safe), která je ale možná jen přes support.
I Snowflake má své mouchy
Co se týče negativ, je dobré vědět, že Snowflake se nehodí pro „subsecond responses“, tedy pro situace, kdy potřebujeme dostat odpověď z databáze v řádu setin či desetin vteřiny. Taková rychlost je nutná například při načítání personalizovaného webu. A samozřejmě – kdo by to čekal – stojí to peníze.
Ačkoliv třeba za AWS data storage zaplatíte plus minus podobně, v případě Snowflake si připlatíte právě za onu flexibilitu týkající se například množství výpočetního výkonu. Takže pokud máte dopředu velmi jasnou představu o tom, kolik dat a pro jaké účely budete skladovat a jaké operace nad nimi budete provádět, potom se vám nejspíše vyplatí jiné řešení.
Na závěr se hodí dodat, že celý Snowflake si každý může zdarma vyzkoušet. V rámci trialu totiž dostanete 400 USD na hrátky s daty. To by vám mělo bohatě stačit k tomu, abyste prozkoumali všechna zákoutí této platformy.