Ohjelmointi

Greenplum 6 -katsaus: Kaikkien kauppojen Jack, joidenkin mestari

MPP-tietokanta (massally parallel processing) jakaa tietoja ja kyselyjä jokaisen solmun välillä hyödykepalvelinten klusterissa. Greenplumin lähestymistapa MPP-tietovaraston rakentamiseen on ainutlaatuinen. Rakentamalla vakiintuneen avoimen lähdekoodin tietokannan, PostgreSQL: n, he pystyvät keskittämään suunnitteluprosessinsa lisäarvon tuottamiseen siellä missä se on: rinnakkaistaminen ja siihen liittyvien kyselyjen suunnittelu, pylväsdatan analyysitietovarasto ja hallintatoiminnot.

Greenplumin omistaa ja kehittää Pivotal avoimen lähdekoodin yhteisön tuella, ja se on saatavana ilmaiseksi Apache 2 -lisenssillä. Viimeisin julkaisu, Greenplum 6.0, vie pitkän matkan kohti Greenplumin ytimen integrointia uudelleen PostgreSQL: ään, joka sisältää lähes kuuden vuoden parannuksia PostgreSQL-projektista. Nämä ponnistelut merkitsevät sitä, että Greenplum saa jatkossa uusia ominaisuuksia ja parannuksia "ilmaiseksi", kun taas Pivotal keskittyy siihen, että nämä lisäykset toimivat hyvin rinnakkaisympäristössä.

Greenplumin arkkitehtuuri

MPP-tietokannassa käytetään ns ei jakanut mitään arkkitehtuuri. Tässä arkkitehtuurissa yksittäiset tietokantapalvelimet (perustuvat PostgreSQL: ään), jotka tunnetaan segmentteinä, jokainen käsittelee osan tiedoista ennen kuin palauttaa tulokset pääisännälle. Samanlaisia ​​arkkitehtuureja nähdään muissa tietojenkäsittelyjärjestelmissä, kuten Spark tai Solr. Tämä on yksi tärkeimmistä arkkitehtonisista ominaisuuksista, jonka avulla Greenplum voi integroida muita rinnakkaisia ​​järjestelmiä, kuten koneoppimisen tai tekstianalytiikan.

Koska esimerkiksi Solrilla on samanlainen hajautettu arkkitehtuuri, Greenplum voi linkittää yksittäiset Solr-prosessointi-ilmentymät segmentti-isäntiin tarjoamaan enemmän tai vähemmän saumattoman kyselyn ja analyyttisen kokemuksen. Tämä tarkoittaa myös sitä, että tietoja käsitellään paikallaan, jotta vältetään tietojen kallis siirtäminen verkon yli.

Keskeinen

Greenplumin käyttöönotto

Greenplum voidaan ottaa käyttöön useilla tavoilla: kaikissa kolmessa suuressa pilvessä omien markkinapaikkojensa kautta, konttikontissa tai paljaalla metallilla. Kuten missä tahansa klusterisovelluksessa, paras suorituskyky saavutetaan erillisillä paljailla metallikoneilla. Asensin Google Cloud Platformiin kahden solmun klusterin, jossa kaikki kellot ja pillit muutamassa minuutissa. Ja asensin Greenplumin paikallisesti virtuaalikoneeseen käyttäen valmiiksi koottuja binäärejä noin tunnissa.

Paikallinen asennus oli välttämätöntä, koska Greenplum 6 ei ole vielä saatavilla pilvissä; sen on määrä tapahtua marraskuussa 2019. Paikallinen asennus antoi minulle myös mahdollisuuden arvioida Greenplumin dokumentaation laatua. Kuten saatat odottaa aiemmin suljetun lähdekoodin omistamalta tuotteelta, se on erinomainen.

Useiden käyttöönottovaihtoehtojen avulla yritykset voivat hienosäätää käyttöönottoa vastaamaan toiminnallisia vaatimuksia. Esimerkiksi mallit voidaan kouluttaa monisolmuiseen paljaaseen metalliryhmään mallin nopeaa kehittämistä varten, ja sitten ne voidaan ottaa käyttöön Pivotal Postgresin yksittäisessä instanssissa, joka suorittaa REST-päätepistettä säiliössä mallin operatiivista käyttöä varten.

Greenplumin yhdistetyt kyselyt

Tiedot ovat nykyään kaikkialla - eri paikoissa, eri muodoissa ja erilaisissa "lämpötiloissa". Greenplum 5: ssä esitelty Pivotal Extension Framework (PXF) kasvoi vanhasta HDFS-liittimestä yleiskäyttöiseksi menetelmäksi käyttää ulkoisia tietotaulukoita Greenplumissa. PXF muodostaa yhteyden myös erilaisiin datamuotoihin, kuten tekstitiedostoihin (esim. Verkkolokit), ulkomaisiin tietokantoihin, ORC: hen, Parkettiin ja HBaseen. Uusia tietolähteitä voidaan lisätä PFX: ään Java-sovellusliittymän avulla.

Yhdistämällä PXF: n PostgreSQL 9.4: n kanssa tuomiin ulkoisiin käyttöominaisuuksiin Greenplum voi suorittaa yhdistettyjä kyselyjä eri sijainneissa, mukaan lukien Kafka-virrat, HDFS, Spark ja Amazon S3 -objektikaupat. Jälkimmäinen kyky, kysely Amazon S3 -objektikaupoista, sisältää Amazonin alkuperäisen S3 SELECT -sovellusliittymän, mikä parantaa suorituskykyä suodattamalla reunasta.

Yhdistetyt kyselyt voivat olla hyödyllisempiä kuin luulet. Oletetaan esimerkiksi, että haluamme etsiä kaikki henkilöt, jotka:

työskentelevät 'ja tuntevat toisensa' suoraan 'ja joiden nimet kuulostavat' Doug 'tai' Steve 'ja ovat soittaneet toisilleen 24 tunnin sisällä joko Singaporesta tai San Franciscosta

Tällainen kysely voidaan nähdä petostutkinnassa tai vastauksena finanssivalvontaviranomaisen tietopyyntöön. Tyypillisessä yrityksessä nämä tiedot jakautuvat yli tusinaan tai useampaan eri järjestelmään, ja vastaaminen vaatii ehkä viikon tai enemmän. Yhdistetyn kyselyn avulla voimme yhdistää tämän yhteen kyselyyn ja vastata tunnin sisällä. Laajennetun valvonnan aikakaudella monet yritykset kamppailevat välttääkseen sakot myöhään vastaamiseen kyselyihin, ja liittovaltion kyselyt auttavat tässä paljon.

Greenplum-analytiikka ja koneoppiminen

Greenplumin MADlib-laajennuksen, SQL-pohjaisen kirjaston tietojen analysointiin ja koneoppimiseen, kehittivät alun perin useat yliopistot ja Greenplum. MADlib on suunniteltu toimimaan Greenplumin jaetun ei-rinnakkaisarkkitehtuurin kanssa. Kaikkia koneoppimisalgoritmeja ei voida tehdä rinnakkain, mutta niille, jotka voivat, MADlib saavuttaa enemmän tai vähemmän lineaarisen skaalautuvuuden tietojoukon koon kanssa välttäen samalla tiedonsiirtoa. MADlib sisältää hieman yli 50 yleisimmin käytettyä koneoppimisalgoritmia.

Yksi MADlibin hyödyllisimmistä ominaisuuksista on SQL-käyttöliittymä, jonka avulla kansalaisetietotieteilijä voi lisätä arvoa tarvitsematta kiivetä Pythonin tai R. Yritykselle, jolla on keskimääräinen analyyttinen kypsyys ja joka toteuttaa mestari / haastaja -päätöksen hallintastrategioita, SQL: n käyttö voi lisätä tarkasteltavien mallien määrää ilman, että lisäresursseja ohjataan keskusryhmältä.

Perinteiselle data-analyytikolle PivotalR-liitin (saatavana CRAN: lla) tarjoaa klassisen R-kielen käyttöliittymän MADlibille kääntämällä R-koodin asiakkaan vastaaviin SQL-käskyihin ja lähettämällä ne sitten Greenplum-klusteriin suoritettavaksi. Tämä välttää tiedonsiirron ja mahdollistaa suurten datakehysten käsittelyn, jotka muuten olisivat mahdottomia R: ssä muistin rajoitusten vuoksi.

Keskeinen

HTAP-tietovarasto

Hybriditransaktio- / analyyttinen käsittely (HTAP) on Gartnerin keksimä termi. Niiden määritelmä:

Hybriditransaktio- / analyyttinen käsittely (HTAP) on kehittyvä sovellusarkkitehtuuri, joka "rikkoo muurin" tapahtumakäsittelyn ja analytiikan välillä. Se mahdollistaa entistä tietoisemman ja reaaliaikaisen päätöksenteon liiketoiminnassa.

Käytännössä tämä tarkoittaa, että järjestelmän käyttötapaukset ovat sekoitus pitkiä ja lyhyitä kyselyitä sekä päivityksiä ja poistoja. Tukeakseen HTAP: ta ja estääkseen resurssien nälkään, Greenplum toteuttaa SQL-säilytysmuodon, jota kutsutaan resurssiryhmiksi, joka sallii resurssien eristämisen usean vuokralaisen HTAP-ympäristössä. Resurssiryhmää käyttämällä voit rajoittaa suorittimen, RAM-muistin (ryhmän tai kyselyn mukaan) ja enimmäissamanaikaisuuden. Resurssiryhmät parantavat sekoitettujen kuormitusten suorituskykyä ja estävät kyselykilpailun resursseista.

Yksi tärkeimmistä eroista PostgreSQL: n ja Greenplumin välillä on kyselyn suunnittelija. Vaikka Greenplum peri PostgreSQL-kyselyn suunnittelijan, kun se haarautui, tehokas kyselyn suunnittelu hajautetussa ympäristössä on huomattavasti erilainen kuin yhdellä koneella. Tästä syystä Greenplum pyrki rakentamaan oman kyselyn suunnittelijan perustuen kyselyn optimoinnin Cascades Frameworkiin. Tämä algoritmi arvioi kaikki mahdolliset kyselysuunnitelmat ja osoittaa niille kustannukset valitsemalla alhaisimman (nopeimman) suunnitelman suoritettavaksi.

Greenplum tarjoaa muutamia ominaisuuksia, jotka auttavat kyselyn suunnittelijaa välttämään tiedonsiirtoa, kuten kyky replikoida ulottuvuustaulukot jokaiselle klusterin solmulle nopeamman paikallisen liittämisen operaatioiden ja viritettävän datan pakkaamisen vuoksi.

Puolirakenteinen tietojenkäsittely on peritty PostgreSQL: stä, ja se sisältää JSON: n ja JSONB: n, XML: n, avainarvoparit (HSTORE) ja pelkkää tekstiä. GIN: ää (Generalized Inverted Index), joka on myös peritty PostgreSQL: stä, voidaan käyttää usein käytetyn tekstisarakkeen indeksointiin. Monimutkaisempiin tekstikyselyihin voidaan käyttää GPText-tiedostoa. GPText integroi Greenplumin segmentit Apache Solr -sirpaleiden kanssa luonnollisen kielen hakukyselyjen tuottamiseksi. Koska Solrin sirpaleet ovat samassa solmussa, niillä on sama rinnakkaisarkkitehtuuri.

Greenplumin suorituskyky

HTAP-tietokannat edellyttävät tasapainottamista suurten, pitkään jatkuneiden analyyttisten kyselyjen, lyhyiden tapauskohtaisten kyselyjen ja yhtälön OLTP-puolella olevien ACID-tapahtumien välillä. Hyvä suorituskyky tässä sekakuormitusskenaariossa on tärkeää hybridikäytössä, johon Greenplum tähtää. PostgreSQL 9.4 -ydin antoi Greenplum 6: lle useita optimointeja, lähinnä lukkojen välttämisen ympärillä, mikä johtaa 60-kertaiseen suorituskyvyn kasvuun Greenplum 5: n suhteen TPC-B-vertailuarvoilla.

Keskeinen

Ottaen huomioon, että PostgreSQL on avannut tietä edelleen optimoinnille (ja on nyt versiossa 12), voimme odottaa lisäparannuksia Greenplumissa, kun ydin päivitetään uudelleen Greenplum 7: ssä.

Greenplumin komentokeskus

Greenplum Command Center on osa Pivotal-tarjousta ja tarjoaa verkkopohjaisen käyttöliittymän Greenplum-klusterin (tai useiden klustereiden) seurantaan ja hallintaan. Vaikka kovaääniset DBA: t eivät todennäköisesti luopu komentoriviliittymistään, Komentokeskus on tervetullut hallintatyökalu osastotason käyttöönotolle, jolla ei ehkä ole pääsyä kokopäiväiseen DBA: han. Minusta oli helppo navigoida ja hyvin dokumentoitu. Käyttäjiä, kyselyitä, solmuja, segmenttejä ja resurssiryhmiä voidaan hallita helposti käyttöliittymän kautta.

Greenplum yrityksessä

Greenplum tekee ihanteellisen valinnan osastostandardille, koska se pystyy käsittelemään sekalaiset työmäärät, mukaan lukien ennakoiva analyysi, yhdellä alustalla. Jos et valitse ohjelmistoa à la carte ELA-valikosta tai haluat paeta A.I. ”Pilottipuhdistamo”, investoinnit Greenplumin HTAP-lähestymistapaan saattavat tarjota keinon lisätä koneoppimisen ja analytiikan innovatiivista käyttöä halvemmalla kuin kilpailevat ratkaisut.

Greenplum on myös vaivatonta yritystason Netezzan tai Teradatan korvaamiseen. Ja vaikka Greenplum ei ole aivan halunnut ryöstää OLTP: tä Oracle Database- tai Microsoft SQL Server -tuotteista koko yrityksessä, se toimii hyvin keskikokoisissa transaktiojärjestelmissä.

Greenplum on hyvä esimerkki 80/20 -säännöstä. Vaikka se ei suorita yhtä tehtävää samoin kuin sisäänrakennettua työkalua, se tekee suurimman osan niistä riittävän hyvin kattamaan 80% käyttötapauksista, ja ilman organisaatio- ja operatiivisia kustannuksia, jotka liittyvät useiden järjestelmien yhdistämiseen ja integroimalla ne analytiikkaputkeen. Tämä painaa suuresti sen hyväksi, kun otetaan huomioon kokonaiskustannukset.

Kustannus: Ilmainen avoimen lähdekoodin Apache 2.0 -lisenssi.

Alustat: Saatavana lähdekoodina; CentOS-, Red Hat-, Debian- ja Ubuntu Linux -jakelujen paketteina; ja Amazon Web Services-, Microsoft Azure- ja Google Cloud Platform -markkinoilla.