Programovanie

Recenzia Greenplum 6: Jack všetkých odborov, v niektorých majster

Databáza MPP (masívne paralelné spracovanie) distribuuje údaje a dotazy po každom uzle v klastri komoditných serverov. Prístup spoločnosti Greenplum k budovaniu dátového skladu MPP je jedinečný. Vďaka budovaniu založenej otvorenej databázy zdrojov, PostgreSQL, sú schopní zamerať technické úsilie na pridanie hodnoty tam, kde to má význam: paralelizácia a plánovanie súvisiacich dotazov, stĺpcové úložisko dát pre analytiku a možnosti správy.

Organizáciu Greenplum vlastní a vyvíja spoločnosť Pivotal s podporou komunity otvorených zdrojov a je k dispozícii zadarmo pod licenciou Apache 2. Posledné vydanie, Greenplum 6.0, vedie dlhou cestou k opätovnej integrácii jadra Greenplum s PostgreSQL a zahŕňa takmer šesťročné vylepšenia z projektu PostgreSQL. Tieto snahy znamenajú, že Greenplum v budúcnosti získa nové funkcie a vylepšenia „zadarmo“, zatiaľ čo Pivotal sa zameriava na to, aby tieto doplnky fungovali dobre v paralelnom prostredí.

Architektúra Greenplum

Databáza MPP používa tzv nezdieľalo nič architektúry. V tejto architektúre jednotlivé databázové servery (založené na PostgreSQL), známe ako segmenty, každý spracuje časť údajov pred vrátením výsledkov hlavnému hostiteľovi. Podobné architektúry možno nájsť v iných systémoch na spracovanie údajov, ako sú Spark alebo Solr. Toto je jeden z kľúčových architektonických prvkov, ktorý umožňuje spoločnosti Greenplum integrovať ďalšie paralelné systémy, ako je strojové učenie alebo textová analýza.

Pretože napríklad Solr má podobnú distribuovanú architektúru, môže Greenplum prepojiť jednotlivé inštancie spracovania Solr s hostiteľmi segmentov, aby poskytoval viac či menej plynulý dopyt a analytické skúsenosti. To tiež znamená, že údaje sa spracúvajú na mieste, čím sa zabráni nákladnému pohybu údajov v sieti.

Rozhodujúce

Nasadzovanie Greenplum

Greenplum je možné nasadiť niekoľkými spôsobmi: do všetkých troch hlavných cloudov prostredníctvom príslušných trhovísk, v kontajneroch alebo na holý kov. Rovnako ako v prípade iných klastrových aplikácií, najlepší výkon sa dosahuje na vyhradených strojoch s holým kovom. Za pár minút som nasadil dvojuzlový klaster na Google Cloud Platform so všetkými zvonmi a píšťalkami. A nainštaloval som Greenplum lokálne na VM pomocou predkompilovaných binárnych súborov asi za hodinu.

Lokálna inštalácia bola nevyhnutná, pretože Greenplum 6 ešte nie je k dispozícii v oblakoch; má byť november 2019. Lokálna inštalácia mi tiež dala príležitosť posúdiť kvalitu dokumentácie Greenplum. Ako môžete čakať od pôvodne patentovaného produktu s uzavretým zdrojom, je vynikajúci.

Viacero možností nasadenia umožňuje spoločnostiam doladiť nasadenie tak, aby zodpovedalo prevádzkovým požiadavkám. Napríklad je možné trénovať modely na viacuzlovom klastri typu bare metal pre rýchly vývoj modelu, potom ich nasadiť na jednu inštanciu Pivotal Postgres, ktorá v kontajneri prevádzkuje koncový bod REST na uvedenie modelu do prevádzky.

Federované dotazy skupiny Greenplum

Dáta sú dnes všade - na rôznych miestach, v rôznych formátoch a rôznych „teplotách“. Pivotal Extension Framework (PXF), predstavený v Greenplum 5, vyrástol zo starého konektora HDFS na všeobecnú metódu prístupu k tabuľkám externých údajov v Greenplume. PXF sa tiež pripája k rôznym dátovým formátom, ako sú textové súbory (napr. Webové protokoly), zahraničné databázy, ORC, Parquet a HBase. Nové zdroje údajov je možné do PFX pridávať pomocou Java API.

V kombinácii s PXF s možnosťami externého prístupu prenesenými do PostgreSQL 9.4 môže Greenplum vykonávať federované dotazy naprieč dátovými miestami, vrátane streamov Kafka, HDFS, Spark a Amazon S3. Posledná uvedená možnosť, dopytovanie obchodov objektov Amazon S3, obsahuje natívne Amazon S3 SELECT API, ktoré zlepšuje výkonnosť pri filtrovaní na okraji.

Federované dotazy môžu byť užitočnejšie, ako si myslíte. Predpokladajme napríklad, že chceme vyhľadať všetkých jednotlivcov, ktorí:

pracujte v spoločnosti „“ a navzájom sa poznáte „priamo“ a ktorých mená znejú ako „Doug“ alebo „Steve“ a navzájom si telefonovali do 24 hodín zo Singapuru alebo San Francisca

Tento druh dopytu sa môže vyskytnúť pri vyšetrovaní podvodu alebo v reakcii na žiadosť finančného orgánu o informácie. V typickom podniku sa tieto informácie rozšíria do pol tucta alebo viacerých rôznych systémov a ich odpoveď si vyžaduje možno týždeň alebo viac. Pomocou federovaného dotazu to môžeme spojiť do jedného dotazu a odpovedať do hodiny. V ére zvýšeného regulačného dohľadu sa veľa spoločností snaží vyhnúť pokutám za neskoré zodpovedanie otázok a tu veľmi pomáhajú federované dotazy.

Analýza Greenplum a strojové učenie

Rozšírenie MADlib spoločnosti Greenplum, knižnica založená na SQL pre analýzu dát a strojové učenie, bola pôvodne vyvinutá niekoľkými univerzitami a spoločnosťou Greenplum. Program MADlib bol navrhnutý na prácu s paralelnou architektúrou zdieľaného ničoho od Greenplum. Nie všetky algoritmy strojového učenia je možné vytvoriť paralelne, ale pre tie, ktoré to umožňujú, MADlib dosahuje viac-menej lineárnu škálovateľnosť s veľkosťou množiny údajov, pričom sa vyhýba prenosom údajov. MADlib obsahuje niečo viac ako 50 najbežnejšie používaných algoritmov strojového učenia.

Jednou z najužitočnejších funkcií nástroja MADlib je rozhranie SQL, ktoré umožňuje vedeckému pracovníkovi v oblasti údajov pridávať hodnotu bez toho, aby museli stúpať po krivke učenia sa v jazykoch Python alebo R. Modely je možné nasadiť prostredníctvom koncového bodu MADlib REST na prevádzkovanie analytických poznatkov. Pre podnik, ktorý má strednú úroveň analytickej vyspelosti a ktorý implementuje stratégie riadenia rozhodnutí šampión / vyzývateľ, môže použitie SQL zvýšiť počet zvažovaných modelov bez toho, aby boli odvedené ďalšie zdroje z centrálneho tímu.

Pre tradičného analytika údajov poskytuje konektor PivotalR (dostupný v systéme CRAN) klasické rozhranie v jazyku R pre MADlib prevedením kódu R do zodpovedajúcich príkazov SQL na klientovi a ich následným odoslaním do klastra Greenplum na vykonanie. Tým sa zabráni prenosu dát a umožní sa manipulácia s veľkými dátovými rámcami, ktorá by inak bola v R nemožná z dôvodu pamäťových obmedzení.

Rozhodujúce

Dátový sklad HTAP

Hybridné transakčné / analytické spracovanie (HTAP) je pojem, ktorý vytvoril Gartner. Ich definícia:

Hybridné transakčné / analytické spracovanie (HTAP) je rozvíjajúca sa aplikačná architektúra, ktorá „rozdeľuje hranice“ medzi transakčným spracovaním a analytikou. Umožňuje informovanejšie rozhodovanie „v podnikaní v reálnom čase“.

V praxi to znamená, že prípady použitia systému sú kombináciou dlhých a krátkych dotazov, ako aj aktualizácií a mazaní. S cieľom podporiť protokol HTAP a zabrániť hladovaniu zdrojov implementuje Greenplum formu kontajnerovania SQL nazývanú skupiny zdrojov, ktorá umožňuje izoláciu prostriedkov v prostredí HTAP s viacerými nájomníkmi. Použitím skupiny prostriedkov môžete obmedziť CPU, RAM (podľa skupiny alebo dotazu) a maximálnu súbežnosť. Skupiny zdrojov zlepšujú výkon pri zmiešanom zaťažení a zabraňujú konkurencii dotazov na zdroje.

Jedným z kľúčových rozdielov medzi PostgreSQL a Greenplum je plánovač dotazov. Aj keď Greenplum zdedil plánovač dotazov PostgreSQL, keď bol vidlicový, efektívne plánovanie dotazov v distribuovanom prostredí sa výrazne líši od plánovania na jednom počítači. Z tohto dôvodu sa Greenplum vydal na vytvorenie vlastného plánovača dotazov, ktorý bude založený na kaskádovom rámci pre optimalizáciu dotazov. Tento algoritmus vyhodnotí všetky možné plány dotazov a priradí im náklady, pričom na vykonanie vyberie plán s najnižšími nákladmi (najrýchlejší).

Greenplum poskytuje niekoľko funkcií, ktoré pomáhajú plánovaču dotazov vyhnúť sa pohybu údajov, napríklad schopnosť replikovať tabuľky dimenzií na každý uzol v klastri pre rýchlejšie operácie miestneho spojenia a laditeľnú kompresiu údajov.

Pološtruktúrované spracovanie údajov sa dedí z PostgreSQL a zahŕňa JSON a JSONB, XML, páry kľúč - hodnota (HSTORE) a holý text. GIN (Generalized Inverted Index), tiež zdedený z PostgreSQL, možno použiť na indexovanie často používaného textového stĺpca. Pre zložitejšie textové dotazy je možné použiť GPText. GPText integruje segmenty Greenplum s úlomkami Apache Solr, aby poskytoval vyhľadávacie dotazy v prirodzenom jazyku. Pretože úlomky Solr sú na rovnakom uzle, majú rovnakú paralelnú architektúru.

Výkonnosť Greenplum

Databázy HTAP vyžadujú vyváženie medzi veľkými, dlhodobými analytickými dotazmi, krátkymi ad hoc dotazmi a transakciami ACID na strane OLTP rovnice. Dobrý výkon v tomto scenári zmiešaného pracovného zaťaženia je dôležitý pre prípad hybridného použitia, na ktorý sa spoločnosť Greenplum zameriava. Jadro PostgreSQL 9.4 poskytlo Greenplumu 6 množstvo optimalizácií, väčšinou zameraných na vyhýbanie sa zámkom, ktoré viedli k 60-násobnému zvýšeniu výkonu oproti Greenplum 5 v porovnaní s TPC-B.

Rozhodujúce

Vzhľadom na to, že PostgreSQL pripravil pôdu pre ďalšie optimalizácie (a je teraz vo verzii 12), môžeme očakávať ďalšie vylepšenia Greenplum, pretože jadro je v Greenplum 7 opäť upgradované.

Veliteľské stredisko Greenplum

Centrum príkazov Greenplum je súčasťou ponuky Pivotal a poskytuje webové rozhranie na monitorovanie a správu klastra Greenplum (alebo viacerých klastrov). Aj keď je nepravdepodobné, že by sa hardvérové ​​DBA vzdali svojich rozhraní príkazového riadku, Command Center je vítaným nástrojom na správu pre nasadenia na úrovni rezortov, ktoré nemusia mať prístup k DBA na plný úväzok. Navigácia sa mi zdala ľahká a dobre zdokumentovaná. Používateľov, dotazy, uzly, segmenty a skupiny zdrojov možno ľahko spravovať prostredníctvom rozhrania.

Greenplum v podniku

Greenplum je ideálnou voľbou pre rezortný štandard, pretože dokáže spracovať zmiešané pracovné zaťaženie vrátane prediktívnej analýzy na jednej platforme. Ak si nevyberáte softvér a-la-carte z ponuky ELA alebo chcete uniknúť A.I. „Pilotný očistec“, investícia do prístupu Greenplum k HTAP môže poskytnúť spôsob, ako zvýšiť inovatívne využitie strojového učenia a analýzy za nižšiu cenu ako konkurenčné riešenia.

Greenplum tiež nie je lákadlom pre výmeny podnikových sietí Netezza alebo Teradata. A hoci Greenplum nie je celkom na to, aby v rámci podniku vybojoval OLTP ako Oracle Database alebo Microsoft SQL Server, bude fungovať dobre pre transakčné systémy strednej veľkosti.

Greenplum je dobrým príkladom pravidla 80/20. Aj keď nevykonáva žiadnu samostatnú úlohu ani nástroj na tento účel, dokáže väčšinu z nich dostatočne dobre na to, aby pokryla 80% prípadov použitia, a to bez organizačnej a prevádzkovej réžie spojené so spojením viacerých systémov a ich integrácia do analytického kanálu. To pri zvažovaní celkových nákladov na vlastníctvo spočíva v jeho prospech.

Náklady: Open source zdarma podľa licencie Apache 2.0.

Platformy: K dispozícii ako zdrojový kód; ako balíčky pre distribúcie CentOS, Red Hat, Debian a Ubuntu Linux; a na trhoch Amazon Web Services, Microsoft Azure a Google Cloud Platform.

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