Recenzija Greenplum 6: Jack of all trades, gospodar nekih

Baza podataka MPP (masovno paralelna obrada) distribuira podatke i upite po svakom čvoru u klasteru robnih poslužitelja. Greenplumov pristup izradi MPP skladišta podataka jedinstven je. Gradeći na uspostavljenoj bazi podataka otvorenog koda, PostgreSQL, oni su sposobni usmjeriti inženjerske napore na dodavanje vrijednosti tamo gdje se to računa: paralelizacija i povezano planiranje upita, stupac podataka za analitiku i mogućnosti upravljanja.

Greenplum je u vlasništvu i razvoju Pivotala, uz podršku zajednice otvorenog koda, a dostupan je besplatno pod licencom Apache 2. Najnovije izdanje, Greenplum 6.0, uvelike ide prema ponovnoj integraciji jezgre Greenplum s PostgreSQL-om, uključujući gotovo šest godina poboljšanja iz projekta PostgreSQL. Ti napori znače da će Greenplum ubuduće dobivati ​​nove značajke i poboljšanja „besplatno“, dok se Pivotal usredotočuje na to da ovi dodaci rade dobro u paralelnom okruženju.

Greenplum arhitektura

MPP baza podataka koristi ono što je poznato kao zajednička ništa arhitektura. U ovoj arhitekturi, pojedinačni poslužitelji baze podataka (temeljeni na PostgreSQL), poznati kao segmenti, obrađuju dio podataka prije vraćanja rezultata glavnom hostu. Slične arhitekture vide se i u drugim sustavima za obradu podataka, poput Spark ili Solr. Ovo je jedna od ključnih arhitektonskih značajki koja Greenplumu omogućuje integraciju drugih paralelnih sustava, poput strojnog učenja ili analitike teksta.

Budući da Solr, na primjer, ima sličnu distribuiranu arhitekturu, Greenplum može povezati pojedinačne instance obrade Solr-a s hostovima segmenta kako bi pružio manje ili više besprijekornih upita i analitičkog iskustva. To također znači da se podaci obrađuju na mjestu, izbjegavajući skupo kretanje podataka mrežom.

Ključni

Uvođenje Greenplum-a

Greenplum se može rasporediti na nekoliko načina: u sva tri glavna oblaka putem njihovih odgovarajućih tržišta, u kontejneru ili na golom metalu. Kao i kod bilo koje druge aplikacije klastera, najbolje se performanse postižu na namjenskim strojevima od golog metala. Na Google Cloud Platform rasporedio sam klaster s dva čvora sa svim zvukovima i zvižducima u samo nekoliko minuta. I instalirao sam Greenplum lokalno u VM koristeći prethodno sastavljene binarne datoteke za otprilike sat vremena.

Lokalna instalacija bila je potrebna jer Greenplum 6 još nije dostupan u oblacima; rok je za studeni 2019. Lokalna instalacija također mi je dala priliku da procijenim kvalitetu dokumentacije Greenplum. Kao što biste mogli očekivati ​​od nekadašnjeg vlasničkog proizvoda zatvorenog koda, izvrstan je.

Imati više mogućnosti implementacije omogućuje tvrtkama da svoja podešavanja usavrše u skladu s operativnim zahtjevima. Na primjer, modeli se mogu trenirati na klasteru golih metala s više čvorova za brzi razvoj modela, a zatim se implementirati na jednom primjeru Pivotal Postgresa koji pokreće REST krajnju točku u spremniku radi operacionalizacije 'modela.

Upiti koje je udružio Greenplum

Podaci su danas svugdje - na različitim lokacijama, u različitim formatima i na različitim "temperaturama". Ključni okvir proširenja (PXF), predstavljen u Greenplumu 5, izrastao je iz starog HDFS konektora u opću svrhu pristupa vanjskim tablicama podataka u Greenplumu. PXF se također povezuje s različitim formatima podataka, poput tekstualnih datoteka (npr. Web dnevnika), stranih baza podataka, ORC, Parket i HBase. Novi izvori podataka mogu se dodati u PFX pomoću Java API-ja.

Kombinirajući PXF s mogućnostima vanjskog pristupa prenijetim s PostgreSQL 9.4, Greenplum može izvoditi federalne upite na različitim lokacijama podataka, uključujući Kafka stream, HDFS, Spark i Amazon S3 spremišta objekata. Potonja sposobnost, koja traži Amazon S3 pohranu objekata, uključuje Amazonov izvorni API S3 SELECT, poboljšavajući performanse filtriranjem na rubu. 

Udruženi upiti mogu biti korisniji nego što zamišljate. Na primjer, pretpostavimo da želimo pronaći sve pojedince koji:

radite u '' i poznajte se 'izravno' i čija imena zvuče kao 'Doug' ili 'Steve' i telefonirali su jedni drugima u roku od 24 sata iz Singapura ili San Francisca

Ovakva vrsta upita mogla bi se vidjeti u istrazi prijevare ili kao odgovor na zahtjev za informacijama financijskog regulatora. U tipičnom poduzeću ove će se informacije širiti u pola tuceta ili više različitih sustava i za odgovor će biti potreban tjedan ili više. Pomoću federalnog upita to možemo spojiti u jedan upit i odgovoriti u roku od sat vremena. U eri pojačanog regulatornog nadzora, mnoge se tvrtke trude izbjeći kazne za kasno odgovaranje na upite, a federalni upiti ovdje puno pomažu.

Greenplum analitika i strojno učenje

Greenplumovo proširenje MADlib, SQL-baziranu biblioteku za analitiku podataka i strojno učenje, u početku je razvilo nekoliko sveučilišta i Greenplum. MADlib je dizajniran za rad sa zajedničkom, ništa paralelnom arhitekturom Greenpluma. Ne mogu se svi algoritmi strojnog učenja uspostavljati paralelno, ali za one koji to mogu, MADlib postiže manje ili više linearnu skalabilnost s veličinom skupa podataka, istovremeno izbjegavajući prijenos podataka. MADlib uključuje nešto više od 50 najčešće korištenih algoritama strojnog učenja.

Jedna od najkorisnijih značajki MADliba je SQL sučelje, omogućavajući građanskom znanstveniku podataka da doda vrijednost bez potrebe za usponom krivulje učenja Pythona ili R. Modeli se mogu postaviti putem krajnje točke MADlib REST radi operacionalizacije analitičkih uvida. Za poduzeće koje ima srednju razinu analitičke zrelosti i koje provodi strategije upravljanja odlukama prvak / izazivač, upotreba SQL-a može povećati broj modela koji se razmatraju bez dodatnih resursa koji se preusmjeravaju iz središnjeg tima.

Za tradicionalnog analitičara podataka, konektor PivotalR (dostupan na CRAN-u) pruža klasično sučelje R jezika za MADlib prevođenjem R koda u odgovarajuće SQL izraze na klijentu, a zatim ih šalje na izvršenje klasteru Greenplum. Time se izbjegava prijenos podataka i omogućuje manipulacija velikim podatkovnim okvirima što bi inače bilo nemoguće u R-u zbog ograničenja memorije.

Ključni

HTAP skladište podataka

Hibridna transakcijska / analitička obrada (HTAP) pojam je koji je smislio Gartner. Njihova definicija:

Hibridna obrada transakcija / analitička obrada (HTAP) nova je arhitektura aplikacije koja "probija zid" između obrade transakcija i analitike. Omogućuje informiranije i donošenje odluka "u stvarnom vremenu". 

U praksi to znači da su slučajevi upotrebe sustava kombinacija dugih i kratkih upita, kao i ažuriranja i brisanja. Kako bi podržao HTAP i spriječio izgladnjivanje resursa, Greenplum implementira oblik SQL kontejnerizacije nazvan grupama resursa koji omogućuje izolaciju resursa u višenantiranom HTAP okruženju. Korištenjem grupe resursa možete ograničiti CPU, RAM (grupom ili upitom) i maksimalnu istodobnost. Grupe resursa poboljšavaju izvedbu na mješovitim radnim opterećenjima i sprečavaju nadmetanje upita za resursima.

Jedna od ključnih razlika između PostgreSQL-a i Greenpluma je planer upita. Iako je Greenplum naslijedio planer upita PostgreSQL kada je bio račvan, učinkovito planiranje upita u distribuiranom okruženju značajno se razlikuje od onog na jednom stroju. Iz tog razloga Greenplum je krenuo u izradu vlastitog planera upita, temeljeći ga na Cascades Framework-u za optimizaciju upita. Ovaj algoritam procjenjuje sve moguće planove upita i dodjeljuje im troškove odabirom plana s najnižom cijenom (najbrži) za izvršenje.

Greenplum pruža nekoliko značajki koje pomažu planeru upita da izbjegne kretanje podataka, poput mogućnosti repliciranja tablica dimenzija na svaki čvor u klasteru za brže lokalne operacije spajanja i prilagodljivu kompresiju podataka.

Polustrukturirana obrada podataka naslijeđena je od PostgreSQL-a i uključuje JSON i JSONB, XML, parove ključ / vrijednost (HSTORE) i običan tekst. GIN (generalizirani obrnuti indeks), također naslijeđen od PostgreSQL-a, može se koristiti za indeksiranje tekstualnog stupca koji se često koristi. Za složenije upite teksta može se koristiti GPText. GPText integrira Greenplum segmente s krhotinama Apache Solr kako bi pružio upite za pretraživanje na prirodnom jeziku. Budući da su krhotine Solra na istom čvoru, imaju istu paralelnu arhitekturu.

Izvedba Greenplum-a

HTAP baze podataka zahtijevaju ravnotežu između velikih, dugotrajnih analitičkih upita, kratkih ad-hoc upita i ACID transakcija na OLTP strani jednadžbe. Dobra izvedba u ovom mješovitom scenariju radnog opterećenja važna je za hibridni slučaj kojem Greenplum cilja. Kernel PostgreSQL 9.4 dao je Greenplumu 6 mnoštvo optimizacija, uglavnom oko izbjegavanja zaključavanja, što rezultira 60-strukim povećanjem performansi u odnosu na Greenplum 5 na TPC-B mjerilima.

Ključni

S obzirom na to da je PostgreSQL otvorio put za daljnje optimizacije (i sada je na verziji 12), možemo očekivati ​​daljnja poboljšanja u Greenplumu jer se jezgra ponovno nadograđuje u Greenplumu 7.

Zapovjedni centar Greenplum

Zapovjedni centar Greenplum dio je ključne ponude i nudi web sučelje za nadzor i upravljanje Greenplum klasterom (ili više klastera). Iako je malo vjerojatno da će se hardverski DBA odreći sučelja naredbenog retka, Command Center dobrodošao je alat za upravljanje implementacijama na razini odjela koje možda nemaju pristup DBA s punim radnim vremenom. Otkrio sam da se lako snalazim i dobro dokumentiram. Korisnicima, upitima, čvorovima, segmentima i grupama resursa može se jednostavno upravljati putem sučelja.

Greenplum u poduzeću

Greenplum je idealan izbor za odjelne standarde, jer može rješavati mješovita radna opterećenja, uključujući prediktivnu analitiku, na jednoj platformi. Ako ne odabirete softver po narudžbi s ELA izbornika ili želite izbjeći AI 'pilot čistilište', ulaganje u Greenplumov HTAP pristup moglo bi pružiti način za povećanje inovativne upotrebe strojnog učenja i analitike po nižoj cijeni nego konkurentska rješenja.

Greenplum također ne uspijeva zamijeniti Netezzu ili Teradata na razini poduzeća. I dok Greenplum nije baš u stanju izuzeti OLTP od Oracle Databasea ili Microsoft SQL Servera u cijeloj tvrtki, dobro će raditi za transakcijske sustave srednje veličine.

Greenplum je dobar primjer pravila 80/20. Iako ne izvodi nijedan pojedinačni zadatak kao ugrađeni alat, većinu njih čini dovoljno dobro da pokrije 80% slučajeva korištenja, i to bez organizacijskih i operativnih troškova koji su uključeni u spajanje višestrukih sustava i integrirajući ih u analitički cjevovod. To mu ide u prilog kad se uzmu u obzir ukupni troškovi vlasništva.

Cijena : Besplatni otvoreni izvor pod licencom Apache 2.0. 

Platforme : Dostupno kao izvorni kod; kao paketi za distribuciju CentOS, Red Hat, Debian i Ubuntu Linux; i na Amazon Web Services, Microsoft Azure i Google Cloud Platform tržištima.