Programiranje

Pregled snežinke: Skladišče podatkov je postalo boljše v oblaku

Podatkovna skladišča, imenovana tudi poslovna podatkovna skladišča (EDW), so zelo vzporedne zbirke podatkov SQL ali NoSQL, namenjene analizi. Omogočajo vam uvoz podatkov iz več virov in hitro ustvarjanje zapletenih poročil iz petabajtov podatkov.

Razlika med podatkovnim skladiščem in podatkovnim pomnilnikom je v tem, da je običajno podatkovno območje omejeno na eno temo in en oddelek. Razlika med podatkovnim skladiščem in podatkovnim jezerom je v tem, da podatkovno jezero hrani podatke v svoji naravni obliki, pogosto blobs ali datoteke, medtem ko podatkovno skladišče shranjuje podatke kot bazo podatkov.

Snežinka na kratko

Snowflake je popolnoma relacijsko skladišče podatkov ANSI SQL, ki je bilo zgrajeno od začetka za oblak. Njegova arhitektura ločuje računanje od pomnilnika, tako da lahko letete navzgor in navzdol, brez odlašanja ali motenj, tudi med izvajanjem poizvedb. Učinkovitost dobite natančno takrat, ko jo potrebujete, plačate pa samo za izračun, ki ga uporabljate. Snowflake trenutno deluje v Amazon Web Services in Microsoft Azure.

Snowflake je popolnoma stolpasta baza podatkov z vektorizirano izvedbo, zaradi česar je sposobna obravnavati tudi najzahtevnejše analitične delovne obremenitve. Prilagodljiva optimizacija Snowflake zagotavlja, da poizvedbe samodejno dosežejo najboljšo možno zmogljivost brez indeksov, distribucijskih ključev ali nastavitvenih parametrov za upravljanje.

Snowflake lahko podpira neomejeno sočasnost s svojo edinstveno večkalasno skupno podatkovno arhitekturo. To omogoča več računskim gručam, da hkrati delujejo na istih podatkih brez poslabšanja zmogljivosti. Snowflake se lahko celo samodejno prilagodi, tako da obvladuje različne potrebe po sočasnosti s svojo funkcijo navideznega skladišča z več grozdi, ki pregledno dodaja računske vire med obdobji največje obremenitve in zmanjšuje, ko obremenitve popustijo.

Tekmovalci snežinke

Konkurenti Snowflake v oblaku vključujejo Amazon Redshift, Google BigQuery in Microsoft Azure SQL Data Warehouse. Drugi pomembni konkurenti, kot so Teradata, Oracle Exadata, MarkLogic in SAP BW / 4HANA, so lahko nameščeni v oblaku, v prostorih in na napravah.

Amazon Redshift

Amazon Redshift je hitro, razširljivo podatkovno skladišče, ki vam omogoča analizo vseh podatkov v vašem podatkovnem skladišču in na podatkovnem jezeru Amazon S3. Redshift poizvedujete z uporabo SQL. Skladišče podatkov Redshift je grozd, ki lahko samodejno uvede in odstrani zmogljivost s sočasno obremenitvijo poizvedbe. Vendar pa so vsa vozlišča gruče zagotovljena v istem območju razpoložljivosti.

Skladišče podatkov Microsoft Azure SQL

Skladišče podatkov Microsoft Azure SQL je podatkovno skladišče v oblaku, ki uporablja mehanizem Microsoft SQL in MPP (množično vzporedno obdelavo) za hitro izvajanje zapletenih poizvedb v petabajtih podatkov. Skladišče podatkov Azure SQL lahko uporabite kot ključni sestavni del rešitve za velike podatke, tako da velike podatke uvozite v skladišče podatkov SQL s preprostimi poizvedbami PolyBase T-SQL in nato z močjo MPP zaženete visoko zmogljivo analitiko.

Skladišče podatkov Azure SQL je na voljo v 40 regijah Azure po vsem svetu, vendar dani strežnik skladišča obstaja samo v eni regiji. Uspešnost podatkovnega skladišča lahko prilagodite na zahtevo, vendar se vse poizvedbe, ki se izvajajo, prekličejo in povrnejo.

Google BigQuery

Google BigQuery je brez strežnika, zelo razširljivo in stroškovno učinkovito skladišče podatkov v oblaku z GIS poizvedbami, vgrajenim BI-pomnilnikom in vgrajenim strojnim učenjem. BigQuery izvaja hitre SQL poizvedbe na gigabajtih do petabajtov podatkov in omogoča enostavno pridružitev javnosti ali komercialni nabori podatkov z vašimi podatki.

Geografsko lokacijo nabora podatkov BigQuery lahko nastavite samo v času ustvarjanja. Vse tabele, na katere se sklicuje poizvedba, morajo biti shranjene v naborih podatkov na istem mestu. To velja tudi za zunanje nabore podatkov in vedra za shranjevanje. Obstajajo dodatne omejitve glede lokacije zunanjih podatkov Google Cloud Bigtable. Privzeto se poizvedbe izvajajo v isti regiji kot podatki.

Lokacije so lahko določena mesta, kot je Severna Virginija, ali velika geografska območja, na primer EU ali ZDA. Če želite nabor podatkov BigQuery premakniti iz ene regije v drugo, ga morate izvoziti v vedro Google Cloud Storage na istem mestu kot nabor podatkov, kopirati vedro na novo lokacijo in jo naložiti v BigQuery na novi lokaciji.

Arhitektura snežinke

Snowflake uporablja navidezne računske primerke za svoje računske potrebe in storitev shranjevanja za trajno shranjevanje podatkov. Snežinke ni mogoče zagnati v zasebnih infrastrukturah v oblaku (lokalno ali gostovano).

Nobene namestitve ni in nobene konfiguracije. Za vse vzdrževanje in uglaševanje skrbi Snowflake.

Snowflake uporablja centralno repozitorij podatkov za trajne podatke, ki je dostopen iz vseh računskih vozlišč v podatkovnem skladišču. Hkrati Snowflake poizvedbe obdeluje z uporabo računskih gruč MPP (masivno vzporedna obdelava), kjer vsako vozlišče v gruči lokalno shrani del celotnega nabora podatkov.

Ko se podatki naložijo v Snowflake, Snowflake reorganizira te podatke v notranji stisnjeni stolpčni format. Notranji podatkovni objekti so dostopni samo prek poizvedb SQL. Na Snowflake se lahko povežete prek njenega spletnega uporabniškega vmesnika, prek CLI (SnowSQL), prek gonilnikov ODBC in JDBC iz aplikacij, kot je Tableau, preko naravnih konektorjev za programske jezike in prek tujih konektorjev za BI in ETL orodja.

Snežinka

Funkcije snežinke

Varnost in varstvo podatkov. Varnostne funkcije, ki jih ponuja Snowflake, se razlikujejo glede na različico. Tudi standardna izdaja ponuja samodejno šifriranje vseh podatkov in podporo za večfaktorsko overjanje in enotno prijavo. Dodatek Enterprise doda periodično ponovno vnašanje šifriranih podatkov, izdaja Enterprise for Sensitive Data pa podporo za HIPAA in PCI DSS. Izberete lahko, kje bodo shranjeni vaši podatki, kar pomaga pri usklajevanju s predpisi EU GDPR.

Standardna in razširjena podpora za SQL. Snowflake podpira večino DDL in DML, opredeljenih v SQL: 1999, plus transakcije, nekatere napredne funkcije SQL in dele analitičnih razširitev SQL: 2003 (okenske funkcije in nabori skupin). Podpira tudi bočne in materializirane poglede, sestavljene funkcije, shranjene postopke in uporabniško določene funkcije.

Orodja in vmesniki. Snowflake vam omogoča nadzor nad navideznimi skladišči iz GUI-ja ali ukazne vrstice. To vključuje ustvarjanje, spreminjanje velikosti (z ničelnimi zastoji), začasno ustavitev in spuščanje skladišč. Spreminjanje velikosti skladišča med izvajanjem poizvedbe je zelo priročno, še posebej, če morate pospešiti poizvedbo, ki vzame preveč časa. Kolikor mi je znano, ki ni vgrajena v nobeno drugo programsko opremo EDW.

Povezljivost Snowflake ima priključke in / ali gonilnike za Python, Spark, Node.js, Go, .Net, JDBC, ODBC in dplyr-snowflakedb, odprtokodno razširitev paketa dplyr, vzdrževano na GitHub.

Uvoz in izvoz podatkov. Snežinka lahko naloži širok nabor podatkov in formatov datotek. To vključuje stisnjene datoteke; ločene podatkovne datoteke; Formati JSON, Avro, ORC, Parket in XML; Podatkovni viri Amazon S3; in lokalne datoteke. Omogoča množično nalaganje in razkladanje v tabele in iz njih ter neprekinjeno množično nalaganje iz datotek.

Skupna raba podatkov. Snowflake ima podporo za varno izmenjavo podatkov z drugimi računi Snowflake. To je poenostavljeno z uporabo tabel klonov brez kopiranja.

Snežinka

Vadnice za snežinke

Snowflake ponuja kar nekaj vadnic in video posnetkov. Nekateri vam pomagajo začeti, nekateri raziskujejo določene teme, nekateri pa prikazujejo funkcije.

Priporočam, da si ogledate praktični pregled, opisan v priročniku Labs on Lab Guide for Snowflake Free Trial.) Vzela mi je manj kot eno uro in stala manj kot pet kreditnih točk. Tako je v brezplačnem preskusu ostalo še 195 kreditnih točk, kar bi moralo biti dovolj za uvoz nekaterih resničnih podatkov in preizkušanje nekaterih poizvedb.

Vadnica veliko uporablja delovne liste Snowflake, priročen način izvajanja ukazov in SQL-ja znotraj spletnega uporabniškega vmesnika. Med drugim zajema nalaganje podatkov; poizvedovanje, predpomnjenje rezultatov in kloniranje; polstrukturirani podatki; in potovanje skozi čas za obnovo predmetov baze podatkov.

Na splošno se mi zdi Snežinka precej impresivna. Pričakoval sem, da bo okorno, a to sploh ni tako. Dejansko se veliko njegovih skladišč podatkov odvija veliko hitreje, kot sem pričakoval, in kadar se zdi, da takšno plazi, lahko posredujem in povečam podatkovno skladišče, ne da bi pri tem motil dogajanje.

Večji del skaliranja je mogoče avtomatizirati. Pri ustvarjanju podatkovnega skladišča (glej posnetek zaslona zgoraj) obstaja možnost, da dovolite več skupin, možnost nastavitve pravilnika o merilu, možnost samodejnega začasnega zaustavitve in možnost samodejnega nadaljevanja. Privzeto obdobje samodejnega začasnega zaustavitve je 10 minut, zaradi česar skladišče ne porablja virov, ko je dlje od tega v stanju mirovanja. Samodejno nadaljevanje je skoraj takojšnje in se pojavi vsakič, ko pride do poizvedbe glede skladišča.

Glede na to, da Snowflake ponuja 30-dnevno brezplačno preskusno različico s kreditom v višini 400 USD in ni treba ničesar nameščati, bi morali brez kakršnih koli denarnih izdatkov ugotoviti, ali bo Snowflake ustrezal vašim namenom. Priporočil bi, da se zavrti.

Stroški: 2 USD / dobroimetje plus 23 USD / TB / mesec shrambe, standardni načrt, predplačniško shranjevanje. En kredit je enak enemu vozlišču * ura, ki ga zaračuna drugi. Načrti na višji ravni so dražji.

Platforme: Amazon Web Services, Microsoft Azure

$config[zx-auto] not found$config[zx-overlay] not found