Programiranje

Pregled Greenplum 6: Jack of all trades, mojster nekaterih

Zbirka podatkov MPP (množično vzporedna obdelava) podatke in poizvedbe distribuira po vsakem vozlišču v gruči blagovnih strežnikov. Greenplumov pristop k izdelavi podatkovnega skladišča MPP je edinstven. Z nadgradnjo odprtokodne zbirke podatkov PostgreSQL lahko inženirska prizadevanja osredotočijo na dodajanje vrednosti, kjer šteje: paralelizacija in s tem povezano načrtovanje poizvedb, stolpna shramba podatkov za analitiko in zmožnosti upravljanja.

Greenplum je v lasti in razvoju Pivotala s podporo odprtokodne skupnosti, na voljo pa je brezplačno pod licenco Apache 2. Najnovejša izdaja, Greenplum 6.0, močno prispeva k ponovni integraciji jedra Greenplum s PostgreSQL, ki vključuje skoraj šest let izboljšav projekta PostgreSQL. Ta prizadevanja pomenijo, da bo Greenplum v prihodnje "brezplačno" dobil nove funkcije in izboljšave, medtem ko se Pivotal osredotoča na to, da bodo ti dodatki dobro delovali v vzporednem okolju.

Arhitektura Greenplum

Zbirka podatkov MPP uporablja tako imenovano ni delil ničesar arhitektura. V tej arhitekturi posamezni strežniki baz podatkov (ki temeljijo na PostgreSQL), znani kot segmenti, obdelajo vsak del podatkov, preden vrnejo rezultate glavnemu gostitelju. Podobne arhitekture so vidne tudi v drugih sistemih za obdelavo podatkov, kot sta Spark ali Solr. To je ena ključnih arhitekturnih lastnosti, ki Greenplumu omogoča integracijo drugih vzporednih sistemov, kot sta strojno učenje ali analitika besedila.

Ker ima na primer Solr podobno porazdeljeno arhitekturo, lahko Greenplum poveže posamezne primerke obdelave Solr z gostitelji segmentov, da zagotovi bolj ali manj brezhibno poizvedbo in analitično izkušnjo. To pomeni tudi, da se podatki obdelujejo na mestu, s čimer se prepreči drago gibanje podatkov po omrežju.

Ključno

Uvajanje programa Greenplum

Greenplum je mogoče uporabiti na več načinov: v vseh treh večjih oblakih prek njihovih trgov, v zabojnikih ali na goli kovini. Kot pri vseh aplikacijah grozdov se tudi na namenskih strojih iz čiste kovine doseže najboljša zmogljivost. Na Google Cloud Platform sem v samo nekaj minutah razporedil grozd z dvema vozliščema z vsemi pikami. In Greenplum sem v približno eni uri lokalno namestil v VM z uporabo vnaprej pripravljenih binarnih datotek.

Lokalna namestitev je bila potrebna, ker Greenplum 6 še ni na voljo v oblakih; predvidoma je novembra 2019. Lokalna namestitev mi je dala tudi priložnost, da ocenim kakovost dokumentacije Greenplum. Kot bi lahko pričakovali od nekdaj lastniškega izdelka z zaprtimi viri, je odličen.

Več možnosti uvajanja omogoča podjetjem, da natančno prilagodijo svoje razmestitve glede na operativne zahteve. Na primer, modele lahko usposobite na gruči golih kovin z več vozlišči za hiter razvoj modelov, nato pa jih namestite na en sam primerek Pivotal Postgres, ki v kontejnerju izvaja končno točko REST, da lahko model operacionalizira.

Poizvedbe po Greenplumu

Podatki so danes povsod - na različnih lokacijah, v različnih oblikah in na različnih temperaturah. Ključni razširitveni okvir (PXF), uveden v Greenplum 5, je iz starega priključka HDFS prerasel v splošno namensko metodo dostopa do zunanjih podatkovnih tabel v Greenplumu. PXF se poveže tudi z različnimi formati podatkov, kot so besedilne datoteke (npr. Spletni dnevniki), tuje zbirke podatkov, ORC, Parket in HBase. Nove vire podatkov je mogoče v PFX dodati z uporabo Java API.

Kombinira PXF z zunanjimi zmožnostmi dostopa, ki jih prinaša PostgreSQL 9.4, lahko Greenplum izvede združene poizvedbe na podatkovnih lokacijah, vključno s tokovi Kafka, HDFS, Spark in Amazon S3. Slednja sposobnost, ki poizveduje o skladiščih predmetov Amazon S3, vključuje Amazonov izvorni API S3 SELECT, ki izboljšuje zmogljivost s filtriranjem na robu.

Zvezne poizvedbe so lahko bolj uporabne, kot si predstavljate. Denimo, da želimo najti vse posameznike, ki:

delata pri "" in se poznata "neposredno" in katerih imena se slišijo na "Doug" ali "Steve" in sta v 24 urah telefonirala iz Singapurja ali San Francisca

Takšno poizvedbo lahko vidimo v preiskavi goljufije ali kot odgovor na zahtevo finančnega regulatorja za informacije. V tipičnem podjetju se bodo te informacije razširile na pol ducata ali več različnih sistemov in za odgovor potrebujejo morda en teden ali več. Z zvezno poizvedbo lahko to združimo v eno poizvedbo in odgovorimo v eni uri. V dobi poostrenega regulativnega nadzora se številna podjetja trudijo, da bi se izognila globam za pozno odgovarjanje na poizvedbe, pri tem pa zelo pomagajo zvezne poizvedbe.

Greenplum analitika in strojno učenje

Greenplumovo razširitev MADlib, knjižnico za analizo podatkov in strojno učenje, ki temelji na SQL, je sprva razvilo več univerz in Greenplum. MADlib je bil zasnovan za delo s skupno nič vzporedno arhitekturo Greenplum. Vseh algoritmov strojnega učenja ni mogoče narediti vzporedno, toda za tiste, ki to lahko storijo, MADlib doseže bolj ali manj linearno razširljivost z velikostjo nabora podatkov, hkrati pa se izogne ​​prenosu podatkov. MADlib vključuje nekaj več kot 50 najpogosteje uporabljenih algoritmov strojnega učenja.

Ena najkoristnejših lastnosti MADlib je vmesnik SQL, ki državljanskemu podatkovnemu znanstveniku omogoča dodajanje vrednosti, ne da bi se morali povzpeti na učno krivuljo Pythona ali R. Modele je mogoče uporabiti prek končne točke MADlib REST za operativno analizo vpogledov. V podjetju, ki ima srednjo stopnjo analitične zrelosti in ki izvaja strategije upravljanja odločitev prvak / izzivalec, lahko uporaba SQL poveča število obravnavanih modelov, ne da bi dodatna sredstva preusmerila iz osrednje ekipe.

Za tradicionalnega analitika podatkov povezovalnik PivotalR (na voljo v CRAN-u) nudi klasični vmesnik v jeziku R za MADlib tako, da prevede kodo R v ustrezne stavke SQL na odjemalcu in jih nato pošlje v gručo Greenplum za izvedbo. S tem se izognemo prenosu podatkov in omogočimo manipulacijo z velikimi podatkovnimi okviri, ki bi bila v R sicer onemogočena zaradi pomnilniških omejitev.

Ključno

Skladišče podatkov HTAP

Hibridna transakcijsko-analitična obdelava (HTAP) je izraz, ki ga je ustvaril Gartner. Njihova opredelitev:

Hibridna transakcija / analitična obdelava (HTAP) je nastajajoča arhitektura aplikacije, ki "razbije zid" med obdelavo transakcij in analitiko. Omogoča bolj informirano in poslovno odločanje.

V praksi to pomeni, da so primeri uporabe sistema mešanica dolgih in kratkih poizvedb ter posodobitev in brisanj. Da bi podprl HTAP in preprečil stradanje virov, Greenplum izvaja obliko kontejnerizacije SQL, imenovano skupine virov, ki omogoča izolacijo virov v okolju HTAP z več najemninami. Z uporabo skupine virov lahko omejite CPU, RAM (glede na skupino ali poizvedbo) in največjo sočasnost. Skupine virov izboljšajo uspešnost pri mešanih delovnih obremenitvah in preprečijo konkurenco poizvedb za vire.

Ena ključnih razlik med PostgreSQL in Greenplumom je načrtovalnik poizvedb. Čeprav je Greenplum podedoval načrtovalnik poizvedb PostgreSQL, ko je bil razcepljen, je učinkovito načrtovanje poizvedb v porazdeljenem okolju bistveno drugačno kot na enem računalniku. Iz tega razloga se je Greenplum lotil izdelave lastnega načrtovalnika poizvedb na podlagi Cascades Framework for Query Optimization. Ta algoritem ovrednoti vse možne načrte poizvedb in jim dodeli stroške ter izbere najnižji (najhitrejši) načrt za izvedbo.

Greenplum ponuja nekaj funkcij, s pomočjo katerih se načrtovalnik poizvedb izogne ​​premiku podatkov, na primer zmožnost repliciranja tabel dimenzij na vsako vozlišče v gruči za hitrejše lokalne združitvene operacije in nastavljivo stiskanje podatkov.

Polstrukturirana obdelava podatkov je podedovana od PostgreSQL in vključuje JSON in JSONB, XML, pare ključ-vrednost (HSTORE) in navadno besedilo. GIN (generalizirani obrnjeni indeks), podedovan tudi po PostgreSQL, se lahko uporablja za indeksiranje besedilnega stolpca, ki se pogosto uporablja. Za bolj zapletene besedilne poizvedbe lahko uporabimo GPText. GPText integrira segmente Greenplum z drobci Apache Solr, da zagotovi iskalne poizvedbe v naravnem jeziku. Ker so delčki Solrja na istem vozlišču, imajo enako vzporedno arhitekturo.

Uspešnost Greenplum

Baze podatkov HTAP zahtevajo uravnoteženje med velikimi, dolgotrajnimi analitičnimi poizvedbami, kratkimi priložnostnimi poizvedbami in transakcijami ACID na strani enačbe OLTP. Dobra uspešnost v tem scenariju z mešano delovno obremenitvijo je pomembna za primer hibridne uporabe, kateremu želi Greenplum. Jedro PostgreSQL 9.4 je Greenplumu 6 omogočilo vrsto optimizacij, večinoma okoli izogibanja ključavnicam, kar ima za posledico 60-kratno povečanje zmogljivosti v primerjavi z Greenplumom 5 na merilih TPC-B.

Ključno

Glede na to, da si je PostgreSQL utrl pot za nadaljnje optimizacije (in je zdaj na različici 12), lahko pričakujemo nadaljnje izboljšave v Greenplumu, saj je jedro spet nadgrajeno v Greenplum 7.

Poveljniški center Greenplum

Ukazni center Greenplum je del ključne ponudbe in ponuja spletni vmesnik za spremljanje in upravljanje grozda Greenplum (ali več grozdov). Čeprav trdi jedrni programi za upravljanje pravic verjetno ne bodo opustili svojih vmesnikov ukazne vrstice, je Command Center dobrodošlo orodje za upravljanje postavitev na ravni oddelkov, ki morda nimajo dostopa do DBA s polnim delovnim časom. Zdelo se mi je enostavno krmarjenje in dobro dokumentiranje. Uporabnike, poizvedbe, vozlišča, segmente in skupine virov je mogoče enostavno upravljati prek vmesnika.

Greenplum v podjetju

Greenplum je idealna izbira za oddelčni standard, saj lahko na eni platformi obvladuje mešane delovne obremenitve, vključno s prediktivno analitiko. Če ne izbirate programske opreme po naročilu iz menija ELA ali želite pobegniti iz A.I. „Pilotska čistilnica“, lahko naložba v pristop Greenplum HTAP omogoči način za povečanje inovativne uporabe strojnega učenja in analitike po nižji ceni od konkurenčnih rešitev.

Greenplum prav tako ni primeren za nadomestitve Netezza ali Teradata na ravni podjetja. In čeprav Greenplumu ni ravno težko odvzeti OLTP-ja, kot sta Oracle Database ali Microsoft SQL Server v celotnem podjetju, bo dobro deloval za srednje velike transakcijske sisteme.

Greenplum je dober primer pravila 80/20. Čeprav ne opravlja nobene naloge kot vgrajenega orodja, jih večina opravlja dovolj dobro, da pokrije 80% primerov uporabe, in to brez organizacijskih in operativnih stroškov, povezanih s sestavljanjem več sistemov in njihovo vključitev v analitični plinovod. To upošteva celotne stroške lastništva v njegovo korist.

Stroški: Brezplačna odprta koda pod licenco Apache 2.0.

Platforme: Na voljo kot izvorna koda; kot paketi za distribucije CentOS, Red Hat, Debian in Ubuntu Linux; in na trgih Amazon Web Services, Microsoft Azure in Google Cloud Platform.

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