Programování

Recenze Greenplum 6: Jack všech obchodů, mistr některých

Databáze MPP (masivně paralelní zpracování) distribuuje data a dotazy napříč každým uzlem v klastru komoditních serverů. Přístup Greenplum k budování datového skladu MPP je jedinečný. Budováním založené na zavedené databázi s otevřeným zdrojovým kódem PostgreSQL jsou schopni zaměřit inženýrské úsilí na přidanou hodnotu tam, kde je to důležité: paralelizace a plánování souvisejících dotazů, sloupcové úložiště dat pro analytiku a možnosti správy.

Greenplum vlastní a vyvíjí společnost Pivotal s podporou komunity open source a je k dispozici zdarma pod licencí Apache 2. Nejnovější verze, Greenplum 6.0, jde dlouhou cestou k opětovné integraci jádra Greenplum s PostgreSQL a zahrnuje téměř šestiletá vylepšení projektu PostgreSQL. Tyto snahy znamenají, že Greenplum do budoucna získá nové funkce a vylepšení „zdarma“, zatímco Pivotal se zaměřuje na to, aby tyto doplňky fungovaly dobře v paralelním prostředí.

Greenplum architektura

Databáze MPP používá tzv. A nesdílel nic architektura. V této architektuře jednotlivé databázové servery (založené na PostgreSQL), známé jako segmenty, zpracovávají každý část dat před vrácením výsledků hlavnímu hostiteli. Podobné architektury lze vidět v jiných systémech zpracování dat, jako je Spark nebo Solr. Toto je jedna z klíčových architektonických funkcí, která umožňuje společnosti Greenplum integrovat další paralelní systémy, jako je strojové učení nebo textová analýza.

Protože například Solr má podobnou distribuovanou architekturu, může Greenplum propojit jednotlivé instance zpracování Solr s hostiteli segmentů, aby poskytoval víceméně bezproblémový dotaz a analytický zážitek. To také znamená, že data jsou zpracovávána na místě, čímž se zabrání nákladnému pohybu dat po síti.

Stěžejní

Nasazení Greenplum

Greenplum lze nasadit několika způsoby: ve všech třech hlavních cloudech prostřednictvím příslušných tržišť, v kontejnerech nebo na holém kovu. Jako u každé klastrové aplikace je nejlepšího výkonu dosaženo na vyhrazených strojích s holým kovem. Během několika minut jsem nasadil na Google Cloud Platform cluster se dvěma uzly se všemi zvonky a píšťalkami. A nainstaloval jsem Greenplum lokálně na VM pomocí předkompilovaných binárních souborů asi za hodinu.

Místní instalace byla nutná, protože Greenplum 6 ještě není k dispozici v cloudech; je plánováno na listopad 2019. Místní instalace mi také dala příležitost posoudit kvalitu dokumentace Greenplum. Jak můžete očekávat od dříve uzavřeného, ​​proprietárního produktu, je vynikající.

Mít více možností nasazení umožňuje společnostem doladit jejich nasazení tak, aby odpovídaly provozním požadavkům. Například modely lze trénovat na víceuzlovém holém klastru pro rychlý vývoj modelu a poté nasadit na jednu instanci Pivotal Postgres spuštěním koncového bodu REST v kontejneru, který model zprovozní.

Federované dotazy Greenplum

Data jsou dnes všude - na různých místech, v různých formátech a v různých „teplotách“. Pivotal Extension Framework (PXF), představený v Greenplum 5, vyrostl ze starého konektoru HDFS do obecné metody přístupu k tabulkám externích dat v Greenplum. PXF se také připojuje k různým datovým formátům, jako jsou textové soubory (např. Webové protokoly), zahraniční databáze, ORC, Parquet a HBase. Nové zdroje dat lze do PFX přidat pomocí Java API.

V kombinaci PXF s možnostmi externího přístupu, které přináší PostgreSQL 9.4, může Greenplum provádět federované dotazy napříč datovými místy, včetně streamů Kafka, HDFS, Spark a obchodů objektů Amazon S3. Druhá možnost, která se dotazuje na úložiště objektů Amazon S3, zahrnuje nativní Amazon S3 SELECT API, což zlepšuje výkon filtrováním na okraji.

Federované dotazy mohou být užitečnější, než si dokážete představit. Předpokládejme například, že chceme najít všechny jednotlivce, kteří:

pracovat v „“ a navzájem se „přímo“ znát a jejichž jména znějí jako „Doug“ nebo „Steve“ a do 24 hodin si navzájem telefonovali ze Singapuru nebo San Franciska

Tento druh dotazu se může objevit při vyšetřování podvodu nebo v reakci na žádost finančního orgánu o informace. V typickém podniku se tyto informace rozšíří mezi půl tuctu nebo více různých systémů a jejich zodpovězení vyžaduje možná týden nebo více. S federovaným dotazem to můžeme spojit dohromady do jednoho dotazu a odpovědět do hodiny. V době zvýšeného regulačního dohledu se mnoho společností snaží vyhnout pokutám za pozdní zodpovězení dotazů a zde velmi pomáhají federované dotazy.

Greenplum analytika a strojové učení

Rozšíření MADlib společnosti Greenplum, knihovna založená na SQL pro analýzu dat a strojové učení, byla původně vyvinuta několika univerzitami a společností Greenplum. MADlib byl navržen pro práci s paralelní architekturou Greenplum sdílené nic. Ne všechny algoritmy strojového učení lze vytvořit paralelně, ale pro ty, které to dokážou, MADlib dosahuje víceméně lineární škálovatelnosti s velikostí datové sady, přičemž se vyhne datovým přenosům. MADlib obsahuje o něco více než 50 nejčastěji používaných algoritmů strojového učení.

Jednou z nejužitečnějších funkcí MADlib je rozhraní SQL, které umožňuje vědeckému datovému vědci přidávat hodnotu, aniž by bylo nutné stoupat na křivku učení Pythonu nebo R. Modely lze nasadit prostřednictvím koncového bodu MADlib REST, aby bylo možné provozovat analytické poznatky. Pro podnik, který má střední úroveň analytické vyspělosti a který implementuje strategie řízení rozhodování šampiónem / vyzyvatelem, může použití SQL zvýšit počet zvažovaných modelů bez přesměrování dalších zdrojů z centrálního týmu.

Pro tradičního analytika dat poskytuje konektor PivotalR (k dispozici na CRAN) klasické rozhraní jazyka R pro MADlib překladem kódu R do odpovídajících příkazů SQL na klientovi a jejich odesláním do klastru Greenplum k provedení. Tím se zabrání přenosu dat a umožní se manipulace s velkými datovými rámci, která by jinak v R nebyla možná z důvodu omezení paměti.

Stěžejní

Datový sklad HTAP

Hybridní transakční / analytické zpracování (HTAP) je termín vytvořený společností Gartner. Jejich definice:

Hybridní transakční / analytické zpracování (HTAP) je rozvíjející se aplikační architektura, která „rozbíjí zeď“ mezi zpracováním transakcí a analytikou. Umožňuje informovanější rozhodování „v obchodě v reálném čase“.

V praxi to znamená, že případy použití systému jsou kombinací dlouhých a krátkých dotazů i aktualizací a mazání. Aby bylo možné podporovat HTAP a zabránit hladovění prostředků, Greenplum implementuje formu kontejnerizace SQL nazvanou skupiny prostředků, která umožňuje izolaci prostředků v prostředí HTAP s více klienty. Pomocí skupiny prostředků můžete omezit CPU, RAM (podle skupiny nebo dotazu) a maximální souběžnost. Skupiny prostředků zlepšují výkon na smíšených úlohách a zabraňují konkurenci dotazů na prostředky.

Jedním z klíčových rozdílů mezi PostgreSQL a Greenplum je plánovač dotazů. Přestože Greenplum zdědil plánovač dotazů PostgreSQL, když byl rozdvojen, efektivní plánování dotazů v distribuovaném prostředí se výrazně liší od plánování na jednom počítači. Z tohoto důvodu se Greenplum pustil do budování vlastního plánovače dotazů, založeného na Cascade Framework pro optimalizaci dotazů. Tento algoritmus vyhodnotí všechny možné plány dotazů a přiřadí jim náklady, přičemž k provedení vybere plán s nejnižšími náklady (nejrychlejší).

Greenplum poskytuje několik funkcí, které plánovači dotazů pomáhají vyhnout se pohybu dat, například schopnost replikovat tabulky dimenzí na každý uzel v klastru pro rychlejší operace místního připojení a laditelnou kompresi dat.

Polostrukturované zpracování dat se dědí z PostgreSQL a zahrnuje JSON a JSONB, XML, páry klíč – hodnota (HSTORE) a prostý text. GIN (Generalized Inverted Index), také zděděný od PostgreSQL, lze použít k indexování často používaného textového sloupce. Pro složitější textové dotazy lze použít GPText. GPText integruje segmenty Greenplum se střepy Apache Solr a poskytuje dotazy v přirozeném jazyce. Protože střepy Solr jsou na stejném uzlu, mají stejnou paralelní architekturu.

Výkon Greenplum

Databáze HTAP vyžadují vyvážení mezi velkými, dlouhodobými analytickými dotazy, krátkými dotazy ad hoc a transakcemi ACID na straně OLTP rovnice. Dobrý výkon v tomto scénáři smíšeného pracovního vytížení je důležitý pro případ hybridního použití, na který Greenplum míří. Jádro PostgreSQL 9.4 poskytlo Greenplum 6 celou řadu optimalizací, které se většinou týkaly vyhýbání se zámkům, což vedlo k 60násobnému zvýšení výkonu oproti Greenplum 5 na benchmarcích TPC-B.

Stěžejní

Vzhledem k tomu, že PostgreSQL připravil půdu pro další optimalizace (a nyní je ve verzi 12), můžeme očekávat další vylepšení Greenplum, protože jádro je znovu upgradováno v Greenplum 7.

Velitelské centrum Greenplum

Centrum příkazů Greenplum je součástí nabídky Pivotal a poskytuje webové rozhraní pro monitorování a správu klastru Greenplum (nebo více klastrů). Ačkoli je nepravděpodobné, že by se hardwarové DBA vzdaly svých rozhraní příkazového řádku, Command Center je vítaným nástrojem pro správu na úrovni oddělení, která nemusí mít přístup k DBA na plný úvazek. Navigace mi připadala snadná a dobře zdokumentovaná. Uživatelé, dotazy, uzly, segmenty a skupiny prostředků lze snadno spravovat prostřednictvím rozhraní.

Greenplum v podniku

Greenplum je ideální volbou pro resortní standard, protože dokáže zpracovat smíšené pracovní vytížení, včetně prediktivní analýzy, na jedné platformě. Pokud si nevybíráte software a-la-carte z nabídky ELA nebo chcete uniknout A.I. „Pilotní očistec“, investice do přístupu Greenplum HTAP může poskytnout způsob, jak zvýšit inovativní využití strojového učení a analytiky za nižší cenu než u konkurenčních řešení.

Greenplum je také samozřejmostí pro nahrazení Netezza nebo Teradata na podnikové úrovni. A zatímco Greenplum není úplně na to, aby v rámci podniku vybojoval OLTP jako Oracle Database nebo Microsoft SQL Server, bude fungovat dobře pro transakční systémy střední velikosti.

Greenplum je dobrým příkladem pravidla 80/20. I když neprovádí žádný jednotlivý úkol stejně jako nástroj určený pro daný účel, většinu z nich zvládá natolik dobře, aby pokryl 80% případů použití, a to bez organizační a provozní režie spojené se spojením více systémů a jejich integrace do analytického kanálu. Při zvažování celkových nákladů na vlastnictví to značně váží v jeho prospěch.

Náklady: Open source zdarma pod licencí Apache 2.0.

Platformy: K dispozici jako zdrojový kód; jako balíčky pro distribuce CentOS, Red Hat, Debian a Ubuntu Linux; a na trzích Amazon Web Services, Microsoft Azure a Google Cloud Platform.

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