Greenplum Database är en massivt parallell bearbetning (MPP) SQL-databas som är byggd och baserad på PostgreSQL. Den kan skalas mot en dataarbetsbelastning på flera petabytenivåer utan ett enda problem, och den ger tillgång till ett kluster av kraftfulla servrar som kommer att arbeta tillsammans inom ett enda SQL-gränssnitt där du kan se all data. I det här blogginlägget förklarar vi vad Greenplum är och bryter ner Greenplum-arkitekturen, fördelar, stora användningsfall och hur man kommer igång.
Vad är Greenplum exakt?
Greenplum Database är en öppen källkod, hårdvaruagnostisk MPP-databas för analys, baserad på PostgreSQL och utvecklad av Pivotal som senare förvärvades av VMware. Dess arkitektur är speciellt utformad för att hantera storskaliga datalager och arbetsbelastningar för business intelligence genom att ge dig möjligheten att sprida din data över en mängd servrar.
Denna funktionsspäckade databas ger kraftfull och snabb analys av data som skalas upp till petabytevolymer.
En överblick – TLDR | ||||||
---|---|---|---|---|---|---|
|
The Greenplum Architecture
För att få en god förståelse av Greenplum-arkitekturen, låt oss först titta på vad en MPP-databas är.
Vad är en MPP-databas?
När du hanterar stora mängder komplex data, eller big data, är chansen stor att din huvudmaskin kan börja krossas av all data den måste bearbeta för att producera din analys resultat. För att fylla detta behov av snabbare bearbetning och möjliggöra snabbare resultat överväger många organisationer att anta en MPP-databas.
MPP-systemet utnyttjar en delad-ingenting-arkitektur för att hantera flera operationer parallellt. Den använder flera olika bearbetningsenheter som arbetar oberoende med sina egna dedikerade minne och resurser, så arbetsbelastningen delas över flera enheter istället för bara en. Vanligtvis har ett MPP-system en ledarnod och en eller flera beräkningsnoder. Ledarnoden, kallad "master" i Greenplum, talar om för alla andra noder, kallade segment i Greenplum, vad de ska göra, och sammanslår deras svar för att skapa det slutliga svaret.
MPP-databaser skala horisontellt genom att lägga till fler beräkningsresurser (noder), snarare än att behöva oroa sig för att uppgradera till fler och dyrare individuella servrar (skala vertikalt).
Greenplum Architectural Design
Baserat på PostgreSQL-arkitekturen använder Greenplum i huvudsak flera PostgreSQL-databasinstanser åt gången i ett enda Greenplum-kluster. PostgreSQL-användare kan snabbt bekanta sig med denna databastyp, eftersom många av funktionerna, konfigurationerna och funktionaliteten är desamma i Greenplum, och inkluderar funktioner som är utformade för att optimera hur PostgreSQL fungerar för uppgifter och arbetsbelastningar för business intelligence (BI).
Greenplum introducerade också många funktioner som inte är tillgängliga inom PostgreSQL, såsom parallell dataladdning, resurshantering, lagringsförbättringar och avancerad frågeoptimering, vilket gör det till ett attraktivt erbjudande när du jämför två.
På samma sätt som PostgreSQL använder Greenplum en huvudserver eller värd, som är ingångspunkten till databasen, som accepterar anslutningar och SQL-frågor. Men där PostgreSQL utnyttjar standby-noder för att geografiskt distribuera sin distribution, använder Greenplum segmentvärdar som lagrar och bearbetar data. Greenplum-segment är oberoende och varje lagrar en del av data, men hanterar majoriteten av frågebehandlingen. Du kan utnyttja så få som två segmentvärdar och skala till en obegränsad kapacitet. Om du har aktiverat spegling måste du öka dina segmentvärdar i steg om minst två.
Så, hur koordineras det hela? Greenplum interconnect är nätverkslagret i arkitekturen och hanterar kommunikationen mellan Greenplum-segmenten och huvudvärdnätverkets infrastruktur.
Greenplum Advantages
Här är några av de viktigaste Greenplum-fördelarna som kan hjälpa dig att förbättra din databasprestanda:
-
Hög prestanda
Greenplum har en unikt designad datapipeline som effektivt kan strömma data från disken till processorn, utan att förlita sig på att data passar in i RAM-minnet, som förklaras i deras Greenplum Next Generation Big Dataplattform:artikel om de fem bästa anledningarna. Detta ger Greenplum-distributioner en enorm prestandaökning jämfört med system i minnet som behöver tillräckligt med minne för att lagra sina data, eller icke-RDBMS-baserade system som är bearbetningsmotorer i minnet som allokerar RAM för varje samtidig fråga. Greenplums höga prestanda eliminerar utmaningen som de flesta RDBMS har att skala till små datanivåer, eftersom de kan skala linjärt för att effektivt bearbeta data.
-
Frågeoptimering
Greenplum har en kostnadsbaserad frågeoptimerare för storskaliga big data-arbetsbelastningar. Genom att utnyttja prestanda som vi behandlade ovan, skalar Greenplum interaktiv och batch-lägesanalys till petabyte-skala utan att försämra din frågas prestanda. Detta gör att Greenplum kan fördela belastningen mellan sina olika segment och använda alla systemets resurser parallellt för att bearbeta en fråga.
Dessutom, med OLTP (Online Transactional Processing) förbättringar av arbetsbelastningen i Greenplum 6, har prestanda för en enda fråga förbättrats med över 3,5c jämfört med Greenplum 5. Med denna uppdatering eliminerade Greenplum många av de lås konkurrens så att master-CPU-användningen kan överstiga 90 %, vilket förbättrar prestandan för frågan genom att förbättra maskinvaruprestandan för masternoden.
-
Öppen källkod
Greenplum-databasen är ett datalagerprojekt med öppen källkod baserat på PostgreSQL:s kärna med öppen källkod, som låter användare dra fördel av decennierna av expertutveckling bakom PostgreSQL, tillsammans med den riktade anpassningen av Greenplum för big data-applikationer. Greenplum kan köras på vilken Linux-server som helst, oavsett om den är värd i molnet eller på plats, och kan köras i vilken miljö som helst.
Medan Greenplum underhålls av ett kärnteam av utvecklare med commit-rättigheter till huvudarkivet, välkomnar de ivrigt nya bidragsgivare som har erfarenhet av databasen för att hjälpa till att forma Greenplums framtid. Läs mer om hur du engagerar dig på Greenplum GitHub-sidan.
-
Polymorfisk datalagring
Greenplums polymorfa datalagring låter dig styra konfigurationen för din tabell- och partitionslagring med friheten att exekvera och komprimera filer i den när som helst. Detta gör att du kan designa dina tabeller baserat på hur din specifika data nås och i sin tur ha en rad- eller kolumnorienterad lagringshierarki.
När du skapar en tabell i Greenplum kan du styra orienteringen med möjligheten att välja antingen kolumnorienterad eller radorienterad data. Kolumnorienterad är vanligtvis bättre för fullständiga skanningar, medan radorienterad är bättre för små skanningar eller uppslagningar.
Greenplum låter dig till och med skapa domänspecifika datatyper och funktioner. Genom att använda semistrukturerade datatyper, som inkluderar XML, HStore och JSON, har du möjlighet att lagra och analysera både strukturerad och ostrukturerad data i en databas.
Vad är Greenplum Database? Introduktion till Big Data-databasenKlicka för att tweetaStörre användningsfall
Greenplum tillhandahåller en kraftfull kombination av massivt parallella bearbetningsdatabaser och avancerad dataanalys som gör att den kan skapa ett ramverk för datavetare och arkitekter att fatta affärsbeslut baserat på data som samlats in av artificiell intelligens och maskininlärning. Låt oss gå igenom de vanligaste användningsfallen för Greenplum:
Analytics
Den avancerade analysen som tillhandahålls av Greenplum används i många vertikaler, inklusive ekonomi, tillverkning, fordon, myndigheter, energi, utbildning, detaljhandel och så vidare, för att hantera en mängd olika av problem. Några av Greenplum Database-analysfunktionerna som lyfts fram av Pivotal inkluderar förmågan att analysera en mängd datatyper, utnyttja befintlig SQL-kunskap och träna fler modeller på kortare tid genom att använda MPP-arkitekturen.
Dessutom tillhandahåller Greenplum analyser i databasen som gör att du kan köra analyser direkt i databasen jämfört med att exportera och köra dina data i en extern analysmotor. Som en databas som är skräddarsydd för företagets arbetsbelastningar ger detta den förmåga som behövs för att utforska stora datamängder tillsammans med den höga prestanda som uppnås genom att analysera parallellt med dina tillgängliga segmentvärdar. Du kan också utnyttja ett brett utbud av kraftanalysverktyg med Greenplum, inklusive MADlib, R statistiskt språk, SAS och Predictive Modeling Markup Language (PMML).
Till exempel använder ett internetmarknadsföringsföretag i miljarddollarskala Greenplum avancerad analys för att utföra målgruppsprofilering för att förstå vem deras målgrupp är, vad de köper, vilka nätverk och enheter de använder, och var de är geografiskt belägna så att de bättre kan förstå och betjäna sin marknad.
Machine Learning
Greenplum är en utmärkt databas för maskininlärning – studiet av datoralgoritmer som förbättras automatiskt genom erfarenhet. Apache MADlib är ett SQL-baserat maskininlärningsbibliotek med öppen källkod som körs i databasen på Greenplum, såväl som PostgreSQL. Den här kombinationen hjälper dig att förbättra parallelliteten, skalbarheten och den prediktiva noggrannheten för din Greenplum-maskininlärningsinstallation. Datatransformation och funktionsteknik är också tillgängliga via MADlib för maskininlärning, inklusive beskrivande och inferentiell statistik, pivotering, sessionsisering och kodning av kategoriska variabler.
Till exempel utnyttjar ett statligt företag som behåller intäkter från bedrägerier Greenplums maskininlärningsfunktioner tillsammans med GemFire för att upptäcka bedrägerier i stor skala för att förhindra identitetsstöld, upptäcka och behålla 5 miljarder USD årligen och bearbeta 8 miljoner fall om dagen.
AI
Artificiell intelligens (AI), även om den liknar maskininlärning, hänvisar till den bredare idén där maskiner kan utföra uppgifter smart. Greenplum är ett utmärkt databasval för applikationer som vill efterlikna mänskliga förmågor genom smarta maskiner. Med Greenplums förmåga att mata in stora mängder data i höga hastigheter, gör det denna databas till ett kraftfullt verktyg för smarta applikationer som behöver interagera intelligent baserat på ett obegränsat antal unika scenarier.
Till exempel använder ett telekomföretag Greenplums databas AI-funktioner för sina IoT-operativa rapporteringssystem smarta sensorer för att analysera och utföra händelser som används för underhåll, säkerhet och drifteffektivitet.
Så vem använder Greenplum idag? Greenplums kunder inkluderar American Express, Walmart, Asurian, Bank of America och många fler inom bank, professionella tjänster, media, försäkringar, hälsovård, fordon och detaljhandel.
Så kommer du igång
Som nämnts i det här inlägget är Greenplum en databas med öppen källkod så communityversionen är helt gratis att ladda ner och använda. Greenplums lilla men aktiva community välkomnar nya bidragsgivare, tar emot feedback och samarbetar med Greenplums evangelister för att marknadsföra big data-databasen.
Många organisationer som använder Greenplum letar efter ytterligare stöd och verktyg för att hjälpa sina DBA:er att hantera sina implementeringar. Här är de två olika databashanterings- och supportalternativ som är tillgängliga för Greenplum:
ScaleGrid för Greenplum® Database – version med öppen källkod
ScaleGrid för Greenplum® Database är en helt hanterad lösning för öppen källkodsversionen av Greenplum, som lanseras i maj 2020. Multimolnplattformen låter dig distribuera och hantera på AWS, Azure eller Google Cloud (kommer snart) molnplattformar eller VMware-miljöer på plats. ScaleGrid förser Greenplum-användare med de avancerade hanteringsverktygen de behöver för att distribuera med ett enda klick, automatisera säkerhetskopieringar och skala dynamiskt med möjligheten att upprätthålla fullständiga superanvändaradministratörsrättigheter över deras implementeringar med öppen källkod.
Pivotal Greenplum – kommersiell version
Pivotal Greenplum, nu är VMware Tanzu skaparen bakom databasen med öppen källkod som erbjuder en kommersiell version av databasen för att hjälpa dig att distribuera och hantera Greenplum i molnet och på plats. Pivotal Greenplum erbjuder många fördelar, såsom möjligheten att maximera drifttiden, skydda dataintegriteten och hantera strömmande data och molndata med lätthet.
Både ScaleGrid och Pivotal Greenplum erbjuder avancerade supportpaket för att hjälpa dina DBA:er att optimera sina Greenplum-distributioner.