sql >> Database >  >> RDS >> Database

Wat is Greenplum-database? Inleiding tot de Big Data-database

Greenplum Database is een massaal parallelle verwerking (MPP) SQL-database die is gebouwd en gebaseerd op PostgreSQL. Het kan zonder een enkel probleem worden opgeschaald naar een gegevensworkload op meerdere petabyteniveaus, en het biedt toegang tot een cluster van krachtige servers die samenwerken binnen één enkele SQL-interface waar u alle gegevens kunt bekijken. In deze blogpost leggen we uit wat Greenplum is en bespreken we de Greenplum-architectuur, voordelen, belangrijke gebruiksscenario's en hoe u aan de slag kunt gaan.

Wat is Greenplum precies?

Greenplum Database is een open-source, hardware-agnostische MPP-database voor analyse, gebaseerd op PostgreSQL en ontwikkeld door Pivotal, dat later werd overgenomen door VMware. De architectuur is speciaal ontworpen om grootschalige datawarehouses en business intelligence-workloads te beheren door u de mogelijkheid te bieden uw gegevens over een groot aantal servers te verspreiden.

Deze database boordevol functies biedt krachtige en snelle analyses van gegevens die kunnen worden opgeschaald naar petabyte-volumes.

In één oogopslag – TLDR

De Greenplum-architectuur

Greenplum gebruikt een MPP-databaseontwerp dat u kan helpen bij het ontwikkelen van een schaalbare implementatie met hoge prestaties. Lees nu

Greenplum-voordelen

Hoge prestaties, query-optimalisatie, open source en polymorfe gegevensopslag zijn de belangrijkste voordelen van Greenplum. Lees nu

Belangrijke toepassingen

Ontdek waarom Greenplum de beste database is voor analyses, machine learning en AI-gebruiksscenario's. Lees nu

De Greenplum-architectuur

Laten we, om een ​​goed begrip te krijgen van de Greenplum-architectuur, eerst kijken naar wat een MPP-database is.

Wat is een MPP-database?

Bij het verwerken van grote hoeveelheden complexe gegevens, of big data, is de kans groot dat uw hoofdmachine verpletterd raakt door alle gegevens die het moet verwerken om uw analyses te produceren resultaten. Om in deze behoefte aan snellere verwerking en snellere resultaten te voorzien, overwegen veel organisaties een MPP-database te gebruiken.

Het MPP-systeem maakt gebruik van een niets-gedeelde architectuur om meerdere parallelle bewerkingen af ​​te handelen. Het maakt gebruik van verschillende verwerkingseenheden die onafhankelijk werken met behulp van hun eigen speciale geheugen en bronnen, zodat de werklast wordt gedeeld over meerdere apparaten in plaats van slechts één. Typisch heeft een MPP-systeem één leiderknooppunt en één of meerdere rekenknooppunten. Het leiderknooppunt, in Greenplum 'master' genoemd, vertelt alle andere knooppunten, in Greenplum segmenten genoemd, wat ze moeten doen en voegt hun antwoorden samen om het uiteindelijke antwoord te creëren.

MPP-databases horizontaal schalen door meer rekenbronnen (knooppunten) toe te voegen, in plaats van u zorgen te maken over het upgraden naar steeds duurdere individuele servers (verticaal schalen).

Greenplum architectonisch ontwerp

Op basis van de PostgreSQL-architectuur maakt Greenplum in wezen gebruik van meerdere PostgreSQL-database-instanties tegelijk in één enkel Greenplum-cluster. PostgreSQL-gebruikers kunnen zich snel vertrouwd maken met dit databasetype, aangezien veel van de functies, configuraties en functionaliteit hetzelfde zijn in Greenplum, en functies bevatten die zijn ontworpen om te optimaliseren hoe PostgreSQL werkt voor business intelligence (BI)-taken en -workloads.

Greenplum heeft ook veel functies geïntroduceerd die niet beschikbaar zijn binnen PostgreSQL, zoals parallel laden van gegevens, resourcebeheer, opslagverbeteringen en geavanceerde query-optimalisatie, waardoor het een aantrekkelijk aanbod is wanneer u de twee.

Net als bij PostgreSQL maakt Greenplum gebruik van één hoofdserver, of host, die het toegangspunt is tot de database en verbindingen en SQL-query's accepteert. Waar PostgreSQL stand-by-knooppunten gebruikt om hun implementatie geografisch te distribueren, gebruikt Greenplum segmenthosts die de gegevens opslaan en verwerken. Greenplum-segmenten zijn onafhankelijk en slaan elk een deel van de gegevens op, maar verwerken het grootste deel van de queryverwerking. U kunt gebruikmaken van slechts twee segmenthosts en opschalen naar een onbeperkte capaciteit. Als u mirroring heeft ingeschakeld, moet u uw segmenthosts verhogen in stappen van ten minste twee.

Dus, hoe wordt dit allemaal gecoördineerd? Greenplum-interconnect is de netwerklaag van de architectuur en beheert de communicatie tussen de Greenplum-segmenten en de hoofdhostnetwerkinfrastructuur.

Greenplum-voordelen

Hier zijn enkele van de belangrijkste Greenplum-voordelen die u kunnen helpen uw databaseprestaties te verbeteren:

  • Hoge prestaties

    Greenplum heeft een uniek ontworpen datapijplijn die efficiënt data van de schijf naar de CPU kan streamen, zonder afhankelijk te zijn van de gegevens die in het RAM-geheugen passen, zoals uitgelegd in hun Greenplum Next Generation Big Data Platform:Top 5 redenen artikel. Dit biedt Greenplum-implementaties een enorme prestatieverbetering ten opzichte van in-memory-systemen die voldoende geheugen nodig hebben om hun gegevens op te slaan, of niet-RDBMS-gebaseerde systemen die in-memory processing-engines zijn die RAM toewijzen voor elke gelijktijdige query. De hoge prestaties van Greenplum elimineren de uitdaging die de meeste RDBMS hebben om te schalen naar kleine gegevensniveaus, omdat ze lineair kunnen schalen om gegevens efficiënt te verwerken.

  • Query-optimalisatie

    Greenplum biedt een op kosten gebaseerde query-optimizer voor grootschalige big data-workloads. Door gebruik te maken van de prestaties zoals we hierboven hebben besproken, schaalt Greenplum interactieve analyses en analyses in batchmodus naar petabyte-schaal zonder de prestaties van uw query te verminderen. Hierdoor kan Greenplum de belasting verdelen over hun verschillende segmenten en alle systeembronnen parallel gebruiken om een ​​vraag te verwerken.

    Bovendien zijn met de verbeteringen van de OLTP-werkbelasting (Online Transactional Processing) in Greenplum 6 de prestaties van enkele query's verbeterd ten opzichte van 3.5c ten opzichte van Greenplum 5. Met deze update heeft Greenplum veel van de lock-concurrentie, zodat het hoofd-CPU-gebruik 90% kan overschrijden, wat de prestaties van de query verbetert door de hardwareprestaties van het hoofdknooppunt te verbeteren.

  • Open source

    Greenplum-database is een open source datawarehouse-project gebaseerd op de open source-kern van PostgreSQL, waardoor gebruikers kunnen profiteren van de decennialange deskundige ontwikkeling achter PostgreSQL, samen met de gerichte aanpassing van Greenplum voor big data-toepassingen. Greenplum kan op elke Linux-server draaien, of deze nu in de cloud of op locatie wordt gehost, en kan in elke omgeving draaien.

    Hoewel Greenplum wordt onderhouden door een kernteam van ontwikkelaars met commit-rechten voor de hoofdrepository, verwelkomen ze graag nieuwe medewerkers die ervaring hebben met de database om de toekomst van Greenplum vorm te geven. Lees meer over meedoen via de Greenplum GitHub-pagina.

  • Polymorfe gegevensopslag

    Met de polymorfe gegevensopslag van Greenplum kunt u de configuratie voor uw tabel- en partitieopslag beheren met de vrijheid om op elk moment bestanden erin uit te voeren en te comprimeren. Hierdoor kunt u uw tabellen ontwerpen op basis van de manier waarop uw specifieke gegevens worden geopend en op hun beurt een rij- of kolomgeoriënteerde opslaghiërarchie hebben.

    Als je een tabel maakt in Greenplum, kun je de richting bepalen met de mogelijkheid om kolomgeoriënteerde of rijgeoriënteerde gegevens te kiezen. Kolomgericht is doorgaans beter voor volledige scans, terwijl rijgericht is beter voor kleine scans of opzoekacties.

Greenplum stelt je zelfs in staat domeinspecifieke datatypes en functies te creëren. Door het gebruik van semi-gestructureerde gegevenstypen, waaronder XML, HStore en JSON, heeft u de mogelijkheid om zowel gestructureerde als ongestructureerde gegevens in een database op te slaan en te analyseren.

Wat is Greenplum-database? Inleiding tot de Big Data-databaseKlik om te tweeten

Belangrijke toepassingen

Greenplum biedt een krachtige combinatie van massaal parallelle verwerkingsdatabases en geavanceerde gegevensanalyses, waardoor het een raamwerk kan creëren voor gegevenswetenschappers en architecten om zakelijke beslissingen te nemen op basis van gegevens die zijn verzameld door kunstmatige intelligentie en machinaal leren. Laten we de belangrijkste gebruiksscenario's voor Greenplum doornemen:

Analytics

De geavanceerde analyses die door Greenplum worden geleverd, worden in veel branches gebruikt, waaronder financiën, productie, auto's, overheid, energie, onderwijs, detailhandel, enzovoort, om een ​​breed scala aan oplossingen aan te pakken. van problemen. Enkele van de analysemogelijkheden van Greenplum Database die door Pivotal worden benadrukt, zijn onder meer de mogelijkheid om een ​​groot aantal gegevenstypen te analyseren, bestaande SQL-kennis te benutten en meer modellen te trainen in minder tijd door gebruik te maken van de MPP-architectuur.

Bovendien biedt Greenplum analyses in de database waarmee u analyses rechtstreeks in de database kunt uitvoeren in plaats van uw gegevens te exporteren en uit te voeren in een externe analyse-engine. Als een database die is afgestemd op enterprise-workloads, biedt dit de mogelijkheid om grote datasets te verkennen, samen met de hoge prestaties die worden bereikt door de analyses over uw beschikbare segmenthosts te vergelijken. U kunt ook gebruikmaken van een breed scala aan krachtige analysetools met Greenplum, waaronder MADlib, R-statistiektaal, SAS en Predictive Modeling Markup Language (PMML).

Een internetmarketingbedrijf op een schaal van miljarden dollars gebruikt bijvoorbeeld geavanceerde analyses van Greenplum om doelgroepprofilering uit te voeren om te begrijpen wie hun publiek is, wat ze kopen, welke netwerken en apparaten ze gebruiken, en waar ze zich geografisch bevinden, zodat ze hun markt beter kunnen begrijpen en bedienen.

Machineleren

Greenplum is een uitstekende database voor machine learning - de studie van computeralgoritmen die automatisch verbeteren door ervaring. Apache MADlib is een open source, SQL-gebaseerde machine learning-bibliotheek die in de database draait op Greenplum, evenals op PostgreSQL. Deze combinatie helpt u de parallelliteit, schaalbaarheid en voorspellende nauwkeurigheid van uw Greenplum machine learning-implementatie te verbeteren. Gegevenstransformatie en feature-engineering zijn ook beschikbaar via MADlib voor machine learning, inclusief beschrijvende en inferentiële statistieken, draaien, sessionization en codering van categorische variabelen.

Een bedrijf voor het behouden van inkomsten uit overheidsfraude maakt bijvoorbeeld gebruik van de machine learning-mogelijkheden van Greenplum samen met GemFire ​​om grootschalige fraudedetectie uit te voeren om identiteitsdiefstal te voorkomen, waarbij jaarlijks $ 5 miljard wordt gedetecteerd en vastgehouden en verwerkt 8 miljoen gevallen per dag.

AI

Kunstmatige intelligentie (AI), hoewel vergelijkbaar met machine learning, verwijst naar het bredere idee waarbij machines taken slim kunnen uitvoeren. Greenplum is een geweldige databasekeuze voor toepassingen die menselijke vaardigheden willen nabootsen via slimme machines. Met het vermogen van Greenplum om grote hoeveelheden gegevens met hoge snelheden op te nemen, is deze database een krachtig hulpmiddel voor slimme toepassingen die intelligent moeten samenwerken op basis van een onbeperkt aantal unieke scenario's.

Een telecombedrijf gebruikt bijvoorbeeld de AI-mogelijkheden van de Greenplum-database voor hun IoT-systeem voor operationele rapportage, slimme sensoren voor het analyseren en uitvoeren van gebeurtenissen die worden gebruikt voor onderhoud, beveiliging en operationele efficiëntie.

Dus wie gebruikt Greenplum vandaag? Klanten van Greenplum zijn onder meer American Express, Walmart, Asurian, Bank of America en nog veel meer in de bancaire, professionele dienstverlening, media, verzekeringen, gezondheidszorg, auto-industrie en retailmarkten.

Aan de slag

Zoals in dit bericht vermeld, is Greenplum een ​​open source database, dus de communityversie is absoluut gratis te downloaden en te gebruiken. De kleine maar actieve community van Greenplum verwelkomt nieuwe bijdragers, accepteert feedback en werkt samen met Greenplum-evangelisten om de big data-database te promoten.

Veel organisaties die gebruikmaken van Greenplum zijn op zoek naar aanvullende ondersteuning en tools om hun DBA's te helpen bij het beheren van hun implementaties. Dit zijn de twee verschillende databasebeheer- en ondersteuningsopties die beschikbaar zijn voor Greenplum:

ScaleGrid voor Greenplum® Database – Open Source-versie

ScaleGrid voor Greenplum® Database is een volledig beheerde oplossing voor de open source-versie van Greenplum, die in mei 2020 wordt gelanceerd. Het multi-cloudplatform stelt u in staat om op AWS te implementeren en te beheren, Azure of Google Cloud (binnenkort beschikbaar) cloudplatforms, of VMware on-premise omgevingen. ScaleGrid biedt Greenplum-gebruikers de geavanceerde beheertools die ze nodig hebben om met één klik te implementeren, back-ups te automatiseren en dynamisch te schalen met de mogelijkheid om volledige beheerdersrechten voor supergebruikers te behouden voor hun open source-implementaties.

Pivotal Greenplum – Commerciële versie

Spil in Greenplum, nu is VMware Tanzu de maker achter de open source database die een commerciële versie van de database biedt om u te helpen bij het implementeren en beheren van Greenplum in de cloud en op locatie. Pivotal Greenplum biedt vele voordelen, zoals de mogelijkheid om de uptime te maximaliseren, de gegevensintegriteit te beschermen en gemakkelijk om te gaan met streaminggegevens en cloudgegevens.

Zowel ScaleGrid als Pivotal Greenplum bieden geavanceerde ondersteuningspakketten om uw DBA's te helpen hun Greenplum-implementaties te optimaliseren.


  1. Verbeterde SQLite-querysyntaxis op Android

  2. ONLY_FULL_GROUP_BY uitschakelen

  3. Een gids voor het partitioneren van gegevens in PostgreSQL

  4. SQL DEFAULT-beperking om een ​​kolom met een standaardwaarde in de SQL Server-tabel in te voegen