Snowflake – novosti v 2020

22.06.2020

Letošnja letna Snowflake konferenca je potekala virtualno in spodaj objavljamo najbolj pomembne novosti, ki so ali bodo kmalu na voljo za vse stranke. Ker gre za več novosti, smo jih razdelili po področjih, saj tudi sama platforma Snowflake naslavlja vedno več primerov uporabe. Zato tudi prehaja iz poimenovanja “podatkovnega skladišča v oblaku” v “podatkovno oblačno platformo” = Data Cloud Platform = Data Cloud, in ta je novo sporočilo trgu.

PLATFORMA:

  1. Podpora globalnemu “računu” (account-u), da lahko na enem mestu združite več Snowflake instanc (npr. ena v Evropi na Azure oblaku, ena v Evropi na AWS oblaku, ena v Aziji, ena v USA, itd.) – zanimivo seveda za velika podjetja
  2. Podpora v realnem času replikacije med instancami in tako zagotavljajo nemoteno delovanje tudi za najbolj zahtevne stranke, ki jim regulator zahteva določene predpise glede odzivnosti Sistema (prav tako podpora replikacije iz enega ponudnika oblaka v drugega, npr. Microsoft Azure v Amazon AWS) – vse to naredite s parimi kliki in je vse avtomatsko vodeno s strani Snowflake platforme
  3. V zadnjem letu povečanje hitrosti poizvedb za več kot 30% na račun optimizacije query optimizerja (vedno več uporabnikov => več vzorcev => hitrejši razvoj)
  4. Možnost koriščenja še večjih procesnih enot (XXXL in XXXXL) za najbolj zahteven stranke (ogromni clusterji 512+ CPU)
  5. Poenotenje verzij, da tudi že osnovna verzija zajema napredne možnosti
  6. Podpora vseh treh ponudnikov javnega oblaka v Evropi – Google, Microsoft in Amazon, tako, da lahko naročnik izbira glede na lastno IT strategijo

SQL:

  1. V zadnjem letu več kot 50 novih SQL razširitev jezika z namenom podpreti različne dialekte in specifične funkcionalnosti obstoječih zbirk podatkov, da je migracija SQL skript lahko »copy – paste«
  2. Prihaja podpora pisanju SQL procedur tudi v SQL jeziku (poleg obstoječega javascript načina)
  3. Novi podatkovni tip in nove SQL možnosti za potrebe geografskih analiz ter podpora uvoza preko standardnih formatov (WKT, WKB in GeoJSON)
  4. Avtomatska uporaba materiliziranih view-jev pri izvajanju poizvedb, kar pomeni, da če baza ugotovi, da obstaja materiliziran view, bo avtomatsko prepisana poizvedba in se bo uporabil materializiran view, tako, da se lahko zelo pohitri določena izvajanja nad večjimi fact tabelami
  5. Nova možnost avtomatskega indeksiranja celotne tabele, kar je pomembno za poizvedbe, ki so zelo selektivne (berejo manjši nabor podatkov) in tukaj že po naših testiranih v beta verziji so razlike lahko ogromne (med 5-10x). Snowflake platforma skrbi avtomatsko za vse in ni potrebno nobenih dodatnih nastavitev (npr. rekreiranje statistik, indeksov, …)

SQL:

  1. Podpora eksternim (zunanjim) funkcijam direktno v SQL sintaksi, kar pomeni, da lahko po novem razvijete poljuben API klic, ki ga lahko aplicirate na nivoju SQL-a (npr. za vsako vrstico v tabeli pokličete prediktivni model in dobite nazaj verjetnost ali poljubno kompleksno poslovno logiko, ki jo je nemogoče prepisati v SQL sintakso)
  2. Najava podpori razvoju lastnih internih funkcij in procedur, ki bodo tekle znotraj Snowflake platforme. V prvi fazi bo podprto pisanje v JAVA programskem jeziku in kasneje pride na vrsto Python podpora.
  3. Možnost poljubnega izvoza podatkov iz Snowflake-a na nivoju partice in ne več izključno tabele, za potrebe integracije s S3, Azure Blob Storage ali GPC

VARNOST:

  1. Posodobljeni načini integracije na nivoju varnosti na nivoju ponudnika javnega oblaka, da se vse lahko nastavlja centralno in ni več npr. generiranje token-ov ipd.
  2. Prihaja avtomatska podpora data maskingu na nivoju kolone v tabeli. Možno bo po novem definirati na nivoju kolone tabele kdo jo sme videti in kdo bo dobil maskirane podatke, kar bo še olajšalo določene zahteve glede različnih okolij (razvoj, UAT, produkcija) ter še bolj zaprlo možnosti pregledovanja določenih občutljivih podatkov

IZMENJAVA PODATKOV:

  1. Data Exchange je nadgradnja obstoječemu enostavnemu deljenju podatkov med podjetji s tem, da podatki ne zapustijo lokacije (data share-ing). Nova funkcionalnost omogoča, da znotraj Snowflake-a podjetje naredi možnost deljenja podatkov med oddelki ali posameznimi podjetji, npr. v Snowflake-u imate podatke za lastno podjetje in vsa hčerinska podjetja in bi želeli na kontroliran način deliti podatke med hčere ter tudi spremljati porabo le tega
  2. Data Marketplace – kot že ime pove, je po novem pristopilo veliko podjetij, ki ponujajo podatke za plačilo na platformi Snowflake in sedaj lahko vse stranke s parimi kliki dobijo urejene podatke, ki se vidijo, kot »lastna« baza in lahko takoj izvajate poljubne analize (npr. naročilo na vremenske podatke, finančne podatke, itd.)
  3. Strateška povezava s podjetjem Salesforce, kar bo v prihodnje omogočilo brezplačno sinhronizacijo podatkov iz Salesforce rešitev v Snowflake in tako še hitreje omogočili izgradnjo analitičnih rešitev nad Salesforce podatki

Za konec pa nekaj, kar smo dolgo časa že čakali in je posledica nakupa podjetja, ki se je ukvarjalo z razvojem naprednega vmesnika za izvajanje SQL poizvedb nad Snowflake bazo.

V naslednjem mesecu bo na voljo nov uporabniški vmesnik – Snowsight, ki prinaša ogromno dobrih stvari pri rokovanju s podatki in samo Snowflake bazo:

  1. Moderen izgled web vmesnika, ki je zelo odziven in hiter pri listanju tudi velike količine meta podatkov (10k+ tabel manj, kot sekunda)
  2. Podpora avtomatskemu pisanju SQL poizvedb preko intellisense tehnologije
  3. Avtomatsko izvajanje profiliranja podatkov, da lahko hitreje vidimo stanje določenih atributov v tabelah
  4. Centralno shranjevanje vseh SQL poizvedb in neskončno verzioniranje
  5. Podpora izdelavi enostavnih predefiniranih poročil (možnost uporabe parametrov) ter izgradnja nadzornih plošč (dashboards)
  6. Brezplačno ne glede na število uporabnikov