Programavimas

„Greenplum 6“ apžvalga: visų profesijų Džekas, kai kurių meistras

MPP (masiškai lygiagrečiai apdorojama) duomenų bazė paskirsto duomenis ir užklausas kiekviename mazge prekių serverių grupėje. „Greenplum“ požiūris kuriant MPP duomenų sandėlį yra unikalus. Remdamiesi sukurta atviro kodo duomenų baze „PostgreSQL“, jie gali sutelkti inžinerines pastangas kurdami pridėtinę vertę: lygiagretinimo ir susijusių užklausų planavimo, stulpelinių duomenų saugyklos analizei ir valdymo galimybių.

„Greenplum“ valdo ir plėtoja „Pivotal“, palaikoma atvirojo kodo bendruomenės, ir ją galima nemokamai gauti pagal „Apache 2“ licenciją. Naujausiame leidime „Greenplum 6.0“ žengtas ilgas kelias iš naujo integruoti „Greenplum“ šerdį su „PostgreSQL“, įtraukiant beveik šešerių metų „PostgreSQL“ projekto patobulinimus. Šios pastangos reiškia, kad ateityje „Greenplum“ įgis naujų funkcijų ir patobulinimų „nemokamai“, o „Pivotal“ sutelkia dėmesį į tai, kad šie priedai gerai veiktų lygiagrečioje aplinkoje.

„Greenplum“ architektūra

MPP duomenų bazėje naudojamas vadinamasis a nieko nedalino architektūra. Šioje architektūroje atskiri duomenų bazių serveriai (pagrįsti „PostgreSQL“), vadinami segmentais, kiekvienas apdoroja dalį duomenų, prieš grąžindami rezultatus pagrindiniam pagrindiniam kompiuteriui. Panašios architektūros matomos ir kitose duomenų apdorojimo sistemose, tokiose kaip „Spark“ ar „Solr“. Tai yra viena iš pagrindinių architektūros savybių, leidžiančių „Greenplum“ integruoti kitas lygiagrečias sistemas, pvz., Mašininį mokymąsi ar teksto analizę.

Kadangi, pavyzdžiui, „Solr“ turi panašią paskirstytą architektūrą, „Greenplum“ gali susieti atskirus „Solr“ apdorojimo egzempliorius su segmento kompiuteriais, kad suteiktų daugiau ar mažiau vientisą užklausą ir analitinę patirtį. Tai taip pat reiškia, kad duomenys yra apdorojami vietoje, išvengiant brangaus duomenų judėjimo visame tinkle.

Svarbiausias

„Greenplum“ diegimas

„Greenplum“ galima įrengti keliais būdais: visuose trijuose pagrindiniuose debesyse per atitinkamas prekyvietes, konteineriuose arba ant pliko metalo. Kaip ir naudojant bet kokias grupes, geriausių rezultatų pasiekiama naudojant specialias plikų metalų mašinas. „Google Cloud Platform“ dislokavau dviejų mazgų grupę su visais varpais ir švilpukais vos per kelias minutes. „Greenplum“ įdiegiau vietoje VM naudodama iš anksto sukompiliuotus dvejetainius failus per valandą.

Vietinis diegimas buvo būtinas, nes „Greenplum 6“ dar nėra debesyse; tai turėtų įvykti 2019 m. lapkričio mėn. Vietinis diegimas taip pat suteikė man galimybę įvertinti „Greenplum“ dokumentų kokybę. Kaip galite tikėtis iš anksčiau uždaro šaltinio, nuosavybės teise priklausančio produkto, jis yra puikus.

Turėdami kelias diegimo parinktis, įmonės gali tiksliai suderinti savo diegimą, kad atitiktų veiklos reikalavimus. Pvz., Modeliai gali būti mokomi daugelio mazgų pliko metalo klasteriuose, kad būtų galima greitai kurti modelį, tada dislokuoti viename „Pivotal Postgres“ egzemplioriuje, kuriame konteineryje veikia REST galinis taškas, kad būtų galima pritaikyti modelį.

„Greenplum“ federalinės užklausos

Duomenų šiandien yra visur - skirtingose ​​vietose, skirtingu formatu ir skirtinga „temperatūra“. „Greenplum 5“ pristatyta pagrindinė plėtinių sistema (PXF) iš senosios HDFS jungties tapo bendros paskirties metodu, norint pasiekti išorines duomenų lenteles „Greenplum“. PXF taip pat jungiasi prie skirtingų duomenų formatų, tokių kaip tekstiniai failai (pvz., Žiniatinklio žurnalai), užsienio duomenų bazės, ORC, „Parketas“ ir „HBase“. Naujus duomenų šaltinius galima pridėti prie PFX naudojant „Java“ API.

Derindamas PXF su išorinės prieigos galimybėmis, kurias suteikė „PostgreSQL 9.4“, „Greenplum“ gali vykdyti federuotas užklausas visose duomenų vietose, įskaitant „Kafka“ srautus, HDFS, „Spark“ ir „Amazon S3“ objektų parduotuves. Pastarasis gebėjimas, atliekant užklausas „Amazon S3“ objektų parduotuvėse, apima „Amazon“ gimtąją „S3 SELECT“ API, pagerinantį našumą filtruojant krašte.

Federuotos užklausos gali būti naudingesnės, nei jūs įsivaizduojate. Pavyzdžiui, tarkime, kad norime surasti visus asmenis, kurie:

dirbti „“ ir pažinti vienas kitą „tiesiogiai“, kurių vardai skamba kaip „Doug“ ar „Steve“, ir per 24 valandas vienas kitam skambino iš Singapūro arba San Francisko

Tokia užklausa gali būti matoma atliekant sukčiavimą arba atsakant į finansų reguliavimo institucijos prašymą pateikti informaciją. Įprastoje įmonėje ši informacija bus paskirstyta pusšimčiui ar daugiau skirtingų sistemų, ir jai atsakyti gali prireikti savaitės ar daugiau. Naudodami suvestinę užklausą, galime tai susieti į vieną užklausą ir atsakyti per valandą. Padidėjusios reguliavimo priežiūros laikais daugelis įmonių stengiasi išvengti baudų už pavėluotą atsakymą į užklausas, o federalinės užklausos čia labai padeda.

„Greenplum“ analizė ir mašininis mokymasis

„Greenplum“ MADlib plėtinį, SQL pagrįstą duomenų analizės ir mašininio mokymosi biblioteką, iš pradžių sukūrė keli universitetai ir „Greenplum“. „MADlib“ buvo sukurtas dirbti su „Greenplum“ lygiagrečia architektūra. Ne visi mašininio mokymosi algoritmai gali būti lygiagretūs, tačiau tiems, kurie gali, „MADlib“ pasiekia daugiau ar mažiau linijinį mastelį su duomenų rinkinio dydžiu, vengiant duomenų perdavimo. MADlib apima šiek tiek daugiau nei 50 dažniausiai naudojamų mašininio mokymosi algoritmų.

Viena iš naudingiausių „MADlib“ funkcijų yra SQL sąsaja, leidžianti piliečių duomenų mokslininkui suteikti pridėtinę vertę nereikalaujant pakilti į „Python“ ar „R“ mokymosi kreivę. Modelius galima įdiegti per „MADlib REST“ galinį tašką, kad būtų galima naudoti analitines įžvalgas. Įmonės, turinčios vidutinį analitinį brandą ir įgyvendinančios čempionų / varžovų sprendimų valdymo strategijas, naudojimasis SQL gali padidinti svarstomų modelių skaičių, nenukreipiant papildomų išteklių iš centrinės komandos.

Tradiciniam duomenų analitikui „PivotalR“ jungtis (galima naudojant CRAN) suteikia klasikinę R kalbos sąsają „MADlib“, išverčiant R kodą į atitinkamus kliento SQL sakinius, tada siunčiant juos vykdyti į „Greenplum“ klasterį. Tai leidžia išvengti duomenų perdavimo ir leidžia manipuliuoti dideliais duomenų rėmeliais, kurių kitu atveju R būtų neįmanoma dėl atminties apribojimų.

Svarbiausias

HTAP duomenų saugykla

Hibridinis operacijų / analitinis apdorojimas (HTAP) yra „Gartner“ sugalvotas terminas. Jų apibrėžimas:

Hibridinis operacijų / analitinis apdorojimas (HTAP) yra nauja programų architektūra, kuri „laužo sieną“ tarp operacijų apdorojimo ir analizės. Tai leidžia priimti labiau informuotus sprendimus „verslo realiuoju laiku“.

Praktiškai tai reiškia, kad sistemos naudojimo atvejai yra ilgų ir trumpų užklausų, taip pat atnaujinimų ir ištrynimų derinys. Siekdama palaikyti HTAP ir užkirsti kelią išteklių badavimui, „Greenplum“ įdiegia SQL konteinerių formą, vadinamą išteklių grupėmis, kuri leidžia izoliuoti išteklius daugiabučių HTAP aplinkoje. Naudodami išteklių grupę galite apriboti procesorių, RAM (pagal grupę ar užklausą) ir maksimalų sutapimą. Išteklių grupės pagerina našių darbo vietų našumą ir užkerta kelią užklausų konkuravimui dėl išteklių.

Vienas iš pagrindinių „PostgreSQL“ ir „Greenplum“ skirtumų yra užklausų planavimo priemonė. Nors „Greenplum“ paveldėjo „PostgreSQL“ užklausų planavimo priemonę, kai ji buvo išsišakojusi, efektyvus užklausų planavimas paskirstytoje aplinkoje yra žymiai kitoks nei vienoje mašinoje. Dėl šios priežasties „Greenplum“ nusprendė sukurti savo užklausų planavimo priemonę, remdamasi „Cascades Framework for Query Optimization“. Šis algoritmas įvertina visus įmanomus užklausų planus ir priskiria jiems kainą, parenkant vykdymui mažiausios kainos (greičiausio) planą.

„Greenplum“ pateikia keletą funkcijų, padedančių užklausų planuotojui išvengti duomenų judėjimo, pavyzdžiui, galimybė atkartoti matmenų lenteles kiekviename klasterio mazge, kad spartesnės vietinio sujungimo operacijos ir derinamas duomenų suglaudinimas.

Pusiau struktūrizuotas duomenų apdorojimas yra paveldimas iš „PostgreSQL“ ir apima JSON ir JSONB, XML, raktų ir reikšmių poras (HSTORE) bei paprastą tekstą. GIN (Generalized Inverted Index), taip pat paveldėtas iš PostgreSQL, gali būti naudojamas dažnai naudojamo teksto stulpelio indeksavimui. Sudėtingesnėms teksto užklausoms galima naudoti „GPText“. „GPText“ integruoja „Greenplum“ segmentus su „Apache Solr“ skeveldromis, kad pateiktų natūralios kalbos paieškos užklausas. Kadangi „Solr“ skeveldros yra tame pačiame mazge, jos turi tą pačią lygiagrečią architektūrą.

„Greenplum“ pasirodymas

HTAP duomenų bazėms reikalingas balansavimas tarp didelių, ilgai trunkančių analitinių užklausų, trumpų ad-hoc užklausų ir ACID operacijų OLTP lygties pusėje. Geri šio mišraus darbo krūvio rezultatai yra svarbūs hibridinio naudojimo atveju, kurio siekia „Greenplum“. „PostgreSQL 9.4“ branduolys suteikė „Greenplum 6“ daugybę optimizavimo būdų, daugiausia susijusių su spynų išvengimu, todėl 60 kartų padidėjo našumas, palyginti su „Greenplum 5“, naudojant TPC-B etalonus.

Svarbiausias

Atsižvelgiant į tai, kad „PostgreSQL“ atvėrė kelią tolesniam optimizavimui (ir dabar yra 12 versijoje), galime tikėtis tolesnių „Greenplum“ patobulinimų, nes branduolys vėl atnaujinamas „Greenplum 7“.

„Greenplum“ komandų centras

„Greenplum“ komandų centras yra „Pivotal“ pasiūlymo dalis ir teikia internetinę sąsają, skirtą „Greenplum“ klasteriui (arba keliems klasteriams) stebėti ir valdyti. Nors vargu ar griežtos pagrindinės DBA atsisakys komandinės eilutės sąsajų, Komandų centras yra sveikintinas valdymo įrankis diegiant departamentus, kurie gali neturėti prieigos prie dieninio DBA. Man buvo lengva naršyti ir gerai dokumentuota. Vartotojai, užklausos, mazgai, segmentai ir išteklių grupės gali būti lengvai valdomi per sąsają.

„Greenplum“ įmonėje

„Greenplum“ idealiai pasirenka žinybinį standartą, nes vienoje platformoje gali apdoroti mišrius darbo krūvius, įskaitant nuspėjamąją analizę. Jei iš ELA meniu nesirenkate a-la-carte programinės įrangos arba norite pabėgti iš A.I. „Bandomoji skaistykla“, investicijos į „Greenplum“ HTAP metodą gali būti būdas padidinti novatorišką mašininio mokymosi ir analizės naudojimą už mažesnę kainą nei konkuruojantys sprendimai.

„Greenplum“ taip pat nereikalauja įmonės lygio „Netezza“ ar „Teradata“ pakaitalų. Nors „Greenplum“ nėra visiškai pasiryžusi išsiveržti OLTP iš tokių kaip „Oracle Database“ ar „Microsoft SQL Server“ visoje įmonėje, ji gerai veiks vidutinio dydžio operacinėms sistemoms.

„Greenplum“ yra geras 80/20 taisyklės pavyzdys. Nors jis neatlieka nei vienos užduoties, nei specialiai sukurto įrankio, daugumą jų atlieka pakankamai gerai, kad padengtų 80% naudojimo atvejų, be to, be organizacinių ir operacinių išlaidų, susijusių su kelių sistemų sujungimu ir integruoti juos į analizės planą. Tai labai pasveria, kai atsižvelgiama į visas nuosavybės išlaidas.

Kaina: Nemokamas atvirasis šaltinis pagal „Apache 2.0“ licenciją.

Platformos: Galimas kaip šaltinio kodas; kaip „CentOS“, „Red Hat“, „Debian“ ir „Ubuntu Linux“ paskirstymų paketai; ir „Amazon Web Services“, „Microsoft Azure“ ir „Google Cloud Platform“ prekyvietėse.