Programmering

Greenplum 6 anmeldelse: Jack of all trades, master of some

En MPP-database (massivt parallellbehandling) distribuerer data og spørsmål over hver node i en klynge av vareservere. Greenplums tilnærming til å bygge et MPP-datalager er unik. Ved å bygge på en etablert åpen kildekodedatabase, PostgreSQL, er de i stand til å fokusere ingeniørarbeidet på å tilføre verdi der det teller: parallellisering og tilhørende spørreplanlegging, en kolonnedatalager for analyse og administrasjonsmuligheter.

Greenplum eies og utvikles av Pivotal, med støtte fra open source-fellesskapet, og er tilgjengelig gratis under Apache 2-lisensen. Den siste utgivelsen, Greenplum 6.0, går langt mot å re-integrere Greenplum-kjernen med PostgreSQL, og inneholder nesten seks års forbedringer fra PostgreSQL-prosjektet. Denne innsatsen betyr at Greenplum fremover vil få nye funksjoner og forbedringer for "gratis", mens Pivotal fokuserer på å få disse tilleggene til å fungere godt i et parallelt miljø.

Greenplum arkitektur

En MPP-database bruker det som er kjent som en delte ingenting arkitektur. I denne arkitekturen behandler individuelle databaseservere (basert på PostgreSQL), kjent som segmenter, hver en del av dataene før de returnerer resultatene til en hovedvert. Lignende arkitekturer sees i andre databehandlingssystemer, som Spark eller Solr. Dette er en av de viktigste arkitektoniske funksjonene som gjør det mulig for Greenplum å integrere andre parallelle systemer, som maskinlæring eller tekstanalyse.

Fordi Solr, for eksempel, har en lignende distribuert arkitektur, kan Greenplum koble de enkelte Solr-behandlingsforekomster med segmentvertene for å gi en mer eller mindre sømløs spørrings- og analytisk opplevelse. Dette betyr også at dataene behandles på plass, og unngår kostbar bevegelse av data over nettverket.

Avgjørende

Implementering av Greenplum

Greenplum kan distribueres på flere måter: i alle de tre store skyene via deres respektive markedsplasser, containerisert eller på bart metall. Som med alle klyngeapplikasjoner oppnås den beste ytelsen på dedikerte bare metallmaskiner. Jeg distribuerte en to-node-klynge på Google Cloud Platform med alle bjeller og fløyter på bare noen få minutter. Og jeg installerte Greenplum lokalt i en VM ved hjelp av de forhåndskompilerte binærfilene på omtrent en time.

Den lokale installasjonen var nødvendig fordi Greenplum 6 ennå ikke er tilgjengelig i skyene. den kommer i november 2019. Den lokale installasjonen ga meg også en mulighet til å vurdere kvaliteten på Greenplum-dokumentasjonen. Som du kanskje forventer fra et tidligere lukket kilde, proprietært produkt, er det utmerket.

Å ha flere distribusjonsalternativer gjør det mulig for bedrifter å finjustere distribusjonene for å matche operasjonelle krav. For eksempel kan modeller trenes på en klyngemet metallklynge for flere noder for rask modellutvikling, og deretter distribueres på en enkelt forekomst av Pivotal Postgres som kjører et REST-endepunkt i en container for å operasjonalisere 'modellen.

Greenplum-forente spørsmål

Data i dag er overalt — på forskjellige steder, forskjellige formater og forskjellige “temperaturer”. Pivotal Extension Framework (PXF), introdusert i Greenplum 5, vokste ut av den gamle HDFS-kontakten til en generell metode for tilgang til eksterne datatabeller i Greenplum. PXF kobles også til forskjellige dataformater, for eksempel tekstfiler (f.eks. Weblogger), utenlandske databaser, ORC, Parquet og HBase. Nye datakilder kan legges til PFX ved hjelp av et Java API.

Ved å kombinere PXF med de eksterne tilgangsmulighetene som er overført med PostgreSQL 9.4, kan Greenplum utføre forente spørsmål på tvers av datasteder, inkludert Kafka-strømmer, HDFS, Spark og Amazon S3-objektbutikker. Sistnevnte evne, som spør etter Amazon S3-objektbutikker, inkluderer Amazons innfødte S3 SELECT API, og forbedrer ytelsen ved å filtrere ved kanten.

Forente spørsmål kan være mer nyttige enn du forestiller deg. Anta for eksempel at vi ønsker å finne alle personer som:

jobbe på '' og kjenne hverandre 'direkte' og hvis navn høres ut som 'Doug' eller 'Steve' og har ringt hverandre innen 24 timer fra enten Singapore eller San Francisco

Denne typen spørsmål kan sees i en svindeletterforskning eller som svar på en finansregulatores forespørsel om informasjon. I en typisk bedrift vil denne informasjonen bli spredt over et halvt dusin eller flere forskjellige systemer og det kan kreve en uke eller mer å svare på. Med føderert spørsmål kan vi sy dette sammen til et enkelt spørsmål og svare innen en time. I en tid med økt tilsyn med regulatorene sliter mange selskaper med å unngå bøter for å svare på spørsmål sent, og fødererte spørsmål hjelper mye her.

Greenplum-analyse og maskinlæring

Greenplums MADlib-utvidelse, et SQL-basert bibliotek for dataanalyse og maskinlæring, ble opprinnelig utviklet av flere universiteter og Greenplum. MADlib ble designet for å fungere med den delte-ingenting parallelle arkitekturen til Greenplum. Ikke alle maskinlæringsalgoritmer kan gjøres parallelle, men for de som kan, oppnår MADlib mer eller mindre lineær skalerbarhet med størrelsen på datasettet, samtidig som dataoverføring unngås. MADlib inneholder litt mer enn 50 av de mest brukte maskinlæringsalgoritmene.

En av de mest nyttige funksjonene i MADlib er SQL-grensesnittet, som gjør det mulig for statsborgerens datavitenskapsmann å tilføre verdi uten å måtte klatre inn i læringskurven til Python eller R. Modeller kan distribueres via et MADlib REST-sluttpunkt for å operasjonalisere den analytiske innsikten. For en bedrift som har et middels nivå av analytisk modenhet og som implementerer strategier for mestrings- / utfordrerbeslutningsstyring, kan bruk av SQL øke antall modeller under vurdering uten at flere ressurser blir viderekoblet fra et sentralt team.

For den tradisjonelle dataanalytikeren gir PivotalR-kontakten (tilgjengelig på CRAN) et klassisk R-språkgrensesnitt til MADlib ved å oversette R-kode til de tilsvarende SQL-setningene på klienten, og deretter sende dem til Greenplum-klyngen for utføring. Dette unngår dataoverføring og tillater manipulering av store datarammer som ellers ville være umulig i R på grunn av minnebegrensninger.

Avgjørende

HTAP datalager

Hybrid transaksjonell / analytisk behandling (HTAP) er et begrep som er laget av Gartner. Definisjonen deres:

Hybrid transaksjon / analytisk prosessering (HTAP) er en ny applikasjonsarkitektur som "bryter veggen" mellom transaksjonsbehandling og analyse. Det muliggjør mer informert og "i sanntid" beslutningstaking.

I praksis betyr dette at systemets brukstilfeller er en blanding av lange og korte spørsmål, samt oppdateringer og slettinger. For å støtte HTAP og forhindre sult av ressurser, implementerer Greenplum en form for SQL-containerisering kalt ressursgrupper som tillater ressursisolering i et multi-tenented HTAP-miljø. Ved å bruke en ressursgruppe kan du begrense CPU, RAM (etter gruppe eller spørring) og maksimal samtidighet. Ressursgrupper forbedrer ytelsen på blandede arbeidsmengder og forhindrer spørringskonkurranse om ressurser.

En av nøkkelforskjellene mellom PostgreSQL og Greenplum er spørringsplanleggeren. Selv om Greenplum arvet PostgreSQL-spørringsplanleggeren da den ble forked, er effektiv spørreplanlegging i et distribuert miljø vesentlig annerledes enn på en enkelt maskin. Av den grunn satte Greenplum seg i stand til å bygge sin egen spørreplanlegger, og baserte den på Cascades Framework for Query Optimization. Denne algoritmen evaluerer alle mulige spørringsplaner og tildeler dem en kostnad, og velger den laveste kostnaden (raskeste) plan for utføring.

Greenplum har noen få funksjoner som hjelper spørringsplanleggeren med å unngå databevegelse, som muligheten til å replikere dimensjonstabeller til hver node i klyngen for raskere lokal sammenkobling og avstemmelig datakomprimering.

Semistrukturert databehandling er arvet fra PostgreSQL og inkluderer JSON og JSONB, XML, nøkkelverdipar (HSTORE) og ren tekst. GIN (generalisert invertert indeks), også arvet fra PostgreSQL, kan brukes til å indeksere en tekstkolonne som ofte brukes. For mer komplekse tekstspørsmål kan GPText brukes. GPText integrerer Greenplum-segmenter med Apache Solr-skjær for å gi søk på naturlig språk. Fordi Solr-skjærene er på samme node, har de samme parallelle arkitektur.

Greenplum ytelse

HTAP-databaser krever en balansegang mellom store, langvarige analytiske spørsmål, korte ad-hoc-spørsmål og ACID-transaksjonene på OLTP-siden av ligningen. God ytelse i dette scenariet med blandet arbeidsbelastning er viktig for hybridbrukssaken som Greenplum sikter til. PostgreSQL 9.4-kjernen ga Greenplum 6 en rekke optimaliseringer, for det meste rundt å unngå låser, som resulterer i en 60 ganger økning i ytelsen over Greenplum 5 på TPC-B-referanser.

Avgjørende

Gitt at PostgreSQL har banet vei for videre optimaliseringer (og nå er på versjon 12), kan vi forvente ytterligere forbedringer i Greenplum ettersom kjernen oppgraderes igjen i Greenplum 7.

Greenplum Command Center

Greenplum Command Center er en del av Pivotal-tilbudet og gir et nettbasert grensesnitt for overvåking og administrering av en Greenplum-klynge (eller flere klynger). Selv om hard-core DBAs neppe gir opp kommandolinjegrensesnittene, er Command Center et velkomment administrasjonsverktøy for distribusjoner på avdelingsnivå som kanskje ikke har tilgang til en DBA på heltid. Jeg syntes det var lett å navigere og godt dokumentert. Brukere, spørsmål, noder, segmenter og ressursgrupper kan enkelt administreres via grensesnittet.

Greenplum i bedriften

Greenplum er et ideelt valg for en avdelingsstandard, da den kan håndtere blandede arbeidsbelastninger, inkludert prediktiv analyse, på en enkelt plattform. Hvis du ikke velger programvare à la carte fra en ELA-meny, eller ønsker å unnslippe A.I. ‘Pilot-skjærsilden’, investering i Greenplums HTAP-tilnærming kan gi en måte å øke innovativ bruk av maskinlæring og analyse til et lavere prispunkt enn konkurrerende løsninger.

Greenplum er også en no-brainer for Netezza- eller Teradata-erstatninger på bedriftsnivå. Og mens Greenplum ikke er helt opp til å bryte OLTP fra slike som Oracle Database eller Microsoft SQL Server over hele virksomheten, vil det fungere bra for mellomstore transaksjonssystemer.

Greenplum er et godt eksempel på 80/20-regelen. Selv om den ikke utfører en enkelt oppgave så vel som et innebygd verktøy, gjør de fleste av dem godt nok til å dekke 80% av brukssakene, og det er uten den organisatoriske og operasjonelle omkostningen som er involvert i å sy sammen flere systemer og integrere dem i en analyserørledning. Dette veier tungt i sin favør når man vurderer de totale eierkostnadene.

Koste: Gratis åpen kildekode under Apache 2.0-lisensen.

Plattformer: Tilgjengelig som kildekode; som pakker for CentOS, Red Hat, Debian og Ubuntu Linux-distribusjoner; og på markedsplassene for Amazon Web Services, Microsoft Azure og Google Cloud Platform.

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