Programmēšana

Greenplum 6 apskats: visu amatu džeks, dažu meistars

MPP (masveidā paralēla apstrāde) datu bāze izplata datus un vaicājumus katrā mezglā preču serveru klasterī. Greenplum pieeja MPP datu noliktavas veidošanai ir unikāla. Pamatojoties uz izveidotu atvērtā pirmkoda datu bāzi PostgreSQL, viņi spēj koncentrēt inženiertehniskos centienus uz pievienotās vērtības pievienošanu, kur tas ir svarīgs: paralelizācija un saistītā vaicājumu plānošana, kolonnu datu krājums analītikai un pārvaldības iespējas.

Greenplum pieder un attīsta Pivotal ar atvērtā pirmkoda kopienas atbalstu, un tas ir pieejams bez maksas ar Apache 2 licenci. Jaunākajā laidienā Greenplum 6.0 ir tāls ceļš uz Greenplum kodola atkārtotu integrēšanu ar PostgreSQL, iekļaujot gandrīz sešus gadus ilgus uzlabojumus no projekta PostgreSQL. Šie centieni nozīmē, ka turpmāk Greenplum iegūs jaunas funkcijas un uzlabojumus bez maksas, savukārt Pivotal koncentrējas uz to, lai šie papildinājumi darbotos labi paralēlā vidē.

Greenplum arhitektūra

MPP datu bāzē tiek izmantots tā dēvētais a neko nedalīja arhitektūra. Šajā arhitektūrā atsevišķi datu bāzes serveri (pamatojoties uz PostgreSQL), kas pazīstami kā segmenti, katrs apstrādā daļu datu, pirms atgriež rezultātus galvenajam resursdatoram. Līdzīgas arhitektūras ir redzamas arī citās datu apstrādes sistēmās, piemēram, Spark vai Solr. Šī ir viena no galvenajām arhitektūras iezīmēm, kas ļauj Greenplum integrēt citas paralēlas sistēmas, piemēram, mašīnmācīšanos vai teksta analīzi.

Tā kā, piemēram, Solr ir līdzīga sadalītā arhitektūra, Greenplum var saistīt atsevišķus Solr apstrādes gadījumus ar segmenta resursdatoriem, lai nodrošinātu vairāk vai mazāk nevainojamu vaicājumu un analītisko pieredzi. Tas arī nozīmē, ka dati tiek apstrādāti uz vietas, izvairoties no dārgas datu kustības visā tīklā.

Galvenais

Greenplum izvietošana

Greenplum var izvietot vairākos veidos: visos trīs galvenajos mākoņos, izmantojot attiecīgos tirgus laukumus, konteineros vai uz tukša metāla. Tāpat kā ar visām kopu lietojumprogrammām, vislabāko sniegumu iegūst ar īpašām tukša metāla mašīnām. Es Google Cloud Platform izvietoju divu mezglu kopu ar visiem zvaniem un svilpēm tikai dažu minūšu laikā. Un es Greenplum lokāli instalēju VM, izmantojot iepriekš sastādītos bināros failus apmēram stundas laikā.

Vietējā instalēšana bija nepieciešama, jo Greenplum 6 vēl nav pieejams mākoņos; tā termiņš ir 2019. gada novembris. Vietējā instalācija man arī deva iespēju novērtēt Greenplum dokumentācijas kvalitāti. Kā jūs varētu sagaidīt no agrāk slēgta avota, patentēta produkta, tas ir lielisks.

Vairāku izvietošanas iespēju izmantošana ļauj uzņēmumiem precīzi pielāgot izvietošanu, lai tā atbilstu darbības prasībām. Piemēram, modeļus var apmācīt vairāku mezglu kailā metāla klasterī ātrai modeļa izstrādei, pēc tam tos izvietot vienā Pivotal Postgres instancē, kurā konteinerā darbojas REST galapunkts, lai modeli darbinātu.

Greenplum federālie vaicājumi

Dati šodien ir visur - dažādās vietās, dažādos formātos un atšķirīgā “temperatūrā”. Greenplum 5 ieviestā galvenā paplašinājuma ietvars (PXF) no vecā HDFS savienotāja izauga par vispārējas nozīmes metodi piekļuvei ārējām datu tabulām Greenplum. PXF izveido savienojumu arī ar dažādiem datu formātiem, piemēram, teksta failiem (piemēram, tīmekļa žurnāliem), ārzemju datu bāzēm, ORC, Parketu un HBase. Jaunus datu avotus var pievienot PFX, izmantojot Java API.

Apvienojot PXF ar ārējās piekļuves iespējām, kas pārnestas ar PostgreSQL 9.4, Greenplum var veikt apvienotus vaicājumus visās datu vietās, tostarp Kafka straumēs, HDFS, Spark un Amazon S3 objektu veikalos. Pēdējā spēja, vaicājot Amazon S3 objektu veikalos, ietver Amazon vietējo S3 SELECT API, uzlabojot veiktspēju, filtrējot malā.

Federētie vaicājumi var būt noderīgāki, nekā jūs iedomāties. Piemēram, pieņemsim, ka mēs vēlamies atrast visus cilvēkus, kuri:

strādā pie ‘’ un pazīst viens otru ‘tieši’ un kuru vārdi skan kā ‘Doug’ vai ‘Steve’, un 24 stundu laikā esat viens otram piezvanījuši no Singapūras vai Sanfrancisko

Šāda veida vaicājumus var redzēt krāpšanas izmeklēšanā vai atbildē uz finanšu regulatora informācijas pieprasījumu. Tipiskā uzņēmumā šī informācija tiks izplatīta pusducī vai vairāk dažādās sistēmās, un, lai atbildētu, ir nepieciešama nedēļa vai vairāk. Izmantojot apvienoto vaicājumu, mēs varam to apvienot vienā vaicājumā un atbildēt stundas laikā. Paaugstinātas regulatīvās uzraudzības laikmetā daudzi uzņēmumi cīnās, lai izvairītos no soda naudas par novēlotu atbildēšanu uz jautājumiem, un šeit daudz palīdz federālie jautājumi.

Greenplum analīze un mašīnmācīšanās

Greenplum MADlib paplašinājumu, SQL balstītu bibliotēku datu analīzei un mašīnmācībai, sākotnēji izstrādāja vairākas universitātes un Greenplum. MADlib tika izstrādāts darbam ar Greenplum koplietojamo neko paralēlo arhitektūru. Ne visus mašīnmācīšanās algoritmus var padarīt paralēlus, bet tiem, kas var, MADlib sasniedz vairāk vai mazāk lineāru mērogojamību ar datu kopas lielumu, vienlaikus izvairoties no datu pārsūtīšanas. MADlib ietver nedaudz vairāk nekā 50 visbiežāk izmantotos mašīnmācīšanās algoritmus.

Viena no visnoderīgākajām MADlib funkcijām ir SQL saskarne, kas ļauj pilsoņu datu zinātniekam pievienot vērtību, nepārsniedzot Python vai R. mācīšanās līkni. Analītisko ieskatu operētājsistēmai var izvietot modeļus, izmantojot MADlib REST galapunktu. Uzņēmumam, kuram ir vidējs analītiskā brieduma līmenis un kurš īsteno čempionu / izaicinātāju lēmumu pārvaldības stratēģijas, SQL izmantošana var palielināt izskatāmo modeļu skaitu bez papildu resursu novirzīšanas no centrālās komandas.

Tradicionālajam datu analītiķim PivotalR savienotājs (pieejams CRAN) nodrošina klasisku R valodas saskarni MADlib, pārveidojot R kodu klienta atbilstošajos SQL priekšrakstos, pēc tam tos nosūtot izpildei uz Greenplum kopu. Tas ļauj izvairīties no datu pārsūtīšanas un ļauj manipulēt ar lieliem datu rāmjiem, kas citādi R nebūtu iespējams atmiņas ierobežojumu dēļ.

Galvenais

HTAP datu noliktava

Hibrīda transakciju / analītiskā apstrāde (HTAP) ir Gartnera izdomāts termins. To definīcija:

Hibrīda darījumu / analītiskā apstrāde (HTAP) ir jauna lietojumprogrammu arhitektūra, kas “pārrauj mūri” starp darījumu apstrādi un analīzi. Tas ļauj pieņemt informētākus un “reāllaikā biznesa” lēmumus.

Praksē tas nozīmē, ka sistēmas izmantošanas gadījumi ir garu un īsu vaicājumu, kā arī atjauninājumu un dzēšanu kombinācija. Lai atbalstītu HTAP un novērstu resursu badu, Greenplum ievieš SQL konteinerizēšanas veidu, ko sauc par resursu grupām, kas ļauj resursus izolēt daudznomnieku HTAP vidē. Izmantojot resursu grupu, varat ierobežot CPU, RAM (pēc grupas vai vaicājuma) un maksimālo vienlaicīgumu. Resursu grupas uzlabo jauktu slodžu veiktspēju un novērš vaicājumu konkurenci par resursiem.

Viena no galvenajām atšķirībām starp PostgreSQL un Greenplum ir vaicājumu plānotājs. Lai gan Greenplum mantoja PostgreSQL vaicājumu plānotāju, kad tas tika izveidots, efektīva vaicājumu plānošana izplatītajā vidē ir ievērojami atšķirīga nekā vienā mašīnā. Šī iemesla dēļ Greenplum nolēma izveidot savu vaicājumu plānotāju, balstoties uz vaicājumu optimizācijas Cascades Framework. Šis algoritms novērtē visus iespējamos vaicājumu plānus un piešķir tiem izmaksas, izpildei izvēloties zemāko izmaksu (ātrāko) plānu.

Greenplum nodrošina dažas funkcijas, kas vaicājumu plānotājam palīdzēs izvairīties no datu pārvietošanās, piemēram, spēja replikēt dimensiju tabulas katram klastera mezglam, lai ātrāk veiktu vietējās pievienošanās darbības un noskaņotu datu saspiešanu.

Daļēji strukturēta datu apstrāde tiek mantota no PostgreSQL un ietver JSON un JSONB, XML, atslēgu vērtību pārus (HSTORE) un vienkāršu tekstu. GIN (Generalized Inverted Index), kas arī tiek mantots no PostgreSQL, var izmantot, lai indeksētu teksta kolonnu, kas tiek bieži izmantota. Sarežģītākiem teksta vaicājumiem var izmantot GPText. GPText integrē Greenplum segmentus ar Apache Solr lauskas, lai nodrošinātu dabiskas valodas meklēšanas vaicājumus. Tā kā Solr lauskas atrodas vienā mezglā, tām ir vienāda paralēlā arhitektūra.

Greenplum sniegums

HTAP datu bāzēm ir nepieciešams līdzsvars starp lieliem, ilgstošiem analītiskiem vaicājumiem, īsiem ad-hoc vaicājumiem un ACID darījumiem vienādojuma OLTP pusē. Labs sniegums šajā jauktās slodzes scenārijā ir svarīgs hibrīda lietošanas gadījumam, uz kuru Greenplum ir vērsts. PostgreSQL 9.4 kodols Greenplum 6 deva virkni optimizāciju, galvenokārt izmantojot izvairīšanos no slēdzenēm, kā rezultātā TPC-B etalonu veiktspēja pieauga 60 reizes, salīdzinot ar Greenplum 5.

Galvenais

Ņemot vērā to, ka PostgreSQL ir pavēris ceļu tālākai optimizācijai (un tagad tā darbojas ar 12. versiju), mēs varam sagaidīt turpmākus uzlabojumus Greenplum, jo ​​kodols atkal tiek jaunināts Greenplum 7.

Greenplum komandcentrs

Greenplum komandcentrs ir daļa no Pivotal piedāvājuma un nodrošina tīmekļa saskarni Greenplum klastera (vai vairāku kopu) uzraudzībai un pārvaldībai. Neskatoties uz to, ka cietie DBA maz ticams, ka atteiksies no komandrindas saskarnēm, Komandu centrs ir apsveicams vadības rīks departamentu līmeņa izvietošanai, kam, iespējams, nav piekļuves pilna laika DBA. Man šķita viegli orientēties un labi dokumentēti. Lietotājus, vaicājumus, mezglus, segmentus un resursu grupas var viegli pārvaldīt, izmantojot interfeisu.

Greenplum uzņēmumā

Greenplum ir ideāla izvēle departamenta standartam, jo ​​vienā platformā tā var apstrādāt jauktas slodzes, ieskaitot jutīgo analīzi. Ja no ELA izvēlnes neizvēlaties a-carte programmatūru vai vēlaties aizbēgt no A.I. “Izmēģinājuma šķīstītava”, ieguldījums Greenplum HTAP pieejā varētu nodrošināt veidu, kā palielināt mašīnmācīšanās un analīzes novatorisku izmantošanu par zemāku cenu nekā konkurējoši risinājumi.

Greenplum ir arī ideāls risinājums uzņēmuma līmeņa Netezza vai Teradata aizstājējiem. Un, lai gan Greenplum nav pilnīgi atkarīgs no tā, kā visā uzņēmumā izvērst OLTP, piemēram, Oracle Database vai Microsoft SQL Server, tas labi darbosies vidēja lieluma darījumu sistēmās.

Greenplum ir labs piemērs 80/20 kārtulai. Lai gan tas neveic nevienu uzdevumu, kā arī iebūvētu rīku, tas lielākoties tiek paveikts pietiekami labi, lai aptvertu 80% lietojuma gadījumu, un tas nav bez organizatoriskās un operatīvās izmaksas, kas saistītas ar vairāku sistēmu savienošanu un integrējot tos analīzes plānā. Tas ir ļoti svarīgs tā labā, ņemot vērā kopējās īpašuma izmaksas.

Izmaksas: Bezmaksas atvērtais kods ar Apache 2.0 licenci.

Platformas: Pieejams kā pirmkods; kā CentOS, Red Hat, Debian un Ubuntu Linux izplatīšanas paketes; un Amazon Web Services, Microsoft Azure un Google Cloud Platform tirgos.

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