Database
 sql >> Database >  >> RDS >> Database

Cos'è il database Greenplum? Introduzione al Big Data Database

Il database di Greenplum è un database SQL con elaborazione massicciamente parallela (MPP) costruito e basato su PostgreSQL. Può scalare verso un carico di lavoro di dati a livello di più petabyte senza un singolo problema e consente l'accesso a un cluster di potenti server che lavoreranno insieme all'interno di un'unica interfaccia SQL in cui è possibile visualizzare tutti i dati. In questo post del blog spieghiamo cos'è Greenplum e analizziamo l'architettura di Greenplum, i vantaggi, i principali casi d'uso e come iniziare.

Che cos'è esattamente Greenplum?

Greenplum Database è un database MPP open source indipendente dall'hardware per l'analisi, basato su PostgreSQL e sviluppato da Pivotal, successivamente acquisito da VMware. La sua architettura è stata appositamente progettata per gestire data warehouse su larga scala e carichi di lavoro di business intelligence, offrendoti la possibilità di distribuire i tuoi dati su una moltitudine di server.

Questo database ricco di funzionalità fornisce analisi potenti e rapide sui dati che scalano fino a volumi di petabyte.

In sintesi:TLDR

L'architettura Greenplum

Greenplum utilizza un design di database MPP che può aiutarti a sviluppare un'implementazione scalabile e ad alte prestazioni. Leggi ora

Vantaggi Greenplum

Alte prestazioni, ottimizzazione delle query, open source e archiviazione di dati polimorfici sono i principali vantaggi di Greenplum. Leggi ora

Casi d'uso principali

Scopri perché Greenplum è il miglior database per l'analisi, l'apprendimento automatico e i casi d'uso dell'IA. Leggi ora

L'architettura Greenplum

Per avere una buona comprensione dell'architettura Greenplum, diamo prima un'occhiata a cos'è un database MPP.

Cos'è un database MPP?

Quando gestisci grandi quantità di dati complessi o big data, è probabile che la tua macchina principale inizi a essere schiacciata da tutti i dati che deve elaborare per produrre le tue analisi risultati. Per soddisfare questa esigenza di elaborazione più rapida e consentire risultati più rapidi, molte organizzazioni considerano l'adozione di un database MPP.

Il sistema MPP sfrutta un'architettura shared-nothing per gestire più operazioni in parallelo. Utilizza diverse unità di elaborazione che funzionano in modo indipendente utilizzando la propria memoria e risorse dedicate, quindi il carico di lavoro è condiviso su più dispositivi anziché su uno solo. Tipicamente un sistema MPP ha un nodo principale e uno o più nodi di calcolo. Il nodo leader, chiamato "master" in Greenplum, dice a tutti gli altri nodi, chiamati segmenti in Greenplum, cosa fare e amalgama le loro risposte per creare la risposta finale.

I database MPP scalano orizzontalmente aggiungendo più risorse di calcolo (nodi), invece di doversi preoccupare dell'aggiornamento a singoli server sempre più costosi (ridimensionamento verticale).

Progettazione architettonica Greenplum

Basato sull'architettura PostgreSQL, Greenplum sfrutta essenzialmente diverse istanze di database PostgreSQL alla volta in un unico cluster Greenplum. Gli utenti di PostgreSQL possono familiarizzare rapidamente con questo tipo di database, poiché molte delle caratteristiche, configurazioni e funzionalità sono le stesse in Greenplum e include funzionalità progettate per ottimizzare il funzionamento di PostgreSQL per attività e carichi di lavoro di business intelligence (BI).

Greenplum ha anche introdotto molte funzionalità che non sono disponibili in PostgreSQL, come il caricamento parallelo dei dati, la gestione delle risorse, i miglioramenti dell'archiviazione e l'ottimizzazione avanzata delle query, rendendolo un'offerta interessante quando si confrontano due.

Simile a PostgreSQL, Greenplum sfrutta un server master, o host, che è il punto di ingresso al database, accetta connessioni e query SQL. Tuttavia, mentre PostgreSQL sfrutta i nodi standby per distribuire geograficamente la loro distribuzione, Greenplum utilizza host di segmenti che archiviano ed elaborano i dati. I segmenti di Greenplum sono indipendenti e ciascuno memorizza una parte dei dati, sebbene gestisca la maggior parte dell'elaborazione delle query. Puoi sfruttare un minimo di due host di segmenti e scalare fino a una capacità illimitata. Se hai abilitato il mirroring, devi aumentare gli host del segmento con incrementi di almeno due.

Allora, come è coordinato tutto questo? L'interconnessione Greenplum è il livello di rete dell'architettura e gestisce la comunicazione tra i segmenti Greenplum e l'infrastruttura di rete host principale.

Vantaggi Greenplum

Ecco alcuni dei principali vantaggi di Greenplum che possono aiutarti a migliorare le prestazioni del tuo database:

  • Alte prestazioni

    Greenplum ha una pipeline di dati progettata in modo univoco che può trasmettere in modo efficiente i dati dal disco alla CPU, senza fare affidamento sui dati che si adattano alla memoria RAM, come spiegato nel loro Greenplum Next Generation Big Piattaforma dati:articolo sui 5 motivi principali. Ciò fornisce alle implementazioni Greenplum un enorme aumento delle prestazioni rispetto ai sistemi in memoria che necessitano di memoria sufficiente per archiviare i propri dati o ai sistemi non basati su RDBMS che sono motori di elaborazione in memoria che allocano RAM per ogni query simultanea. Le elevate prestazioni di Greenplum eliminano la sfida che la maggior parte degli RDBMS ha per il ridimensionamento a livelli di dati petabtye, poiché sono in grado di scalare linearmente per elaborare i dati in modo efficiente.

  • Ottimizzazione delle query

    Greenplum presenta un Query Optimizer basato sui costi per carichi di lavoro di grandi dimensioni e su larga scala. Sfruttando le prestazioni come spiegato sopra, Greenplum ridimensiona l'analisi interattiva e in modalità batch a petabyte senza compromettere le prestazioni delle query. Ciò consente a Greenplum di distribuire il carico tra i diversi segmenti e di utilizzare tutte le risorse del sistema in parallelo per elaborare una query.

    Inoltre, con i miglioramenti del carico di lavoro OLTP (Online Transactional Processing) in Greenplum 6, le prestazioni delle singole query sono migliorate di oltre 3,5 c rispetto a Greenplum 5. Con questo aggiornamento, Greenplum ha eliminato gran parte del bloccare la concorrenza in modo che l'utilizzo della CPU master possa superare il 90%, migliorando le prestazioni della query migliorando le prestazioni hardware del nodo master.

  • Open Source

    Il database Greenplum è un progetto di data warehouse open source basato sul core open source di PostgreSQL, che consente agli utenti di trarre vantaggio dai decenni di sviluppo di esperti dietro PostgreSQL, insieme alla personalizzazione mirata di Greenplum per applicazioni Big Data. Greenplum può essere eseguito su qualsiasi server Linux, ospitato nel cloud o on-premise, e può essere eseguito in qualsiasi ambiente.

    Sebbene Greenplum sia gestito da un team centrale di sviluppatori con diritti di commit per il repository principale, accoglie con entusiasmo nuovi contributori che hanno esperienza con il database per contribuire a plasmare il futuro di Greenplum. Scopri di più su come partecipare attraverso la pagina GitHub di Greenplum.

  • Archiviazione dati polimorfici

    L'archiviazione dei dati polimorfici di Greenplum ti consente di controllare la configurazione per l'archiviazione di tabelle e partizioni con la libertà di eseguire e comprimere i file al suo interno in qualsiasi momento. Ciò ti consentirà di progettare le tue tabelle in base al modo in cui accedi ai tuoi dati specifici e, a sua volta, avere una gerarchia di archiviazione orientata a righe o colonne.

    Quando crei una tabella in Greenplum, puoi controllare l'orientamento con la possibilità di scegliere i dati orientati alle colonne o alle righe. L'orientamento in colonna è in genere migliore per le scansioni complete, mentre l'orientamento in riga è migliore per le scansioni o le ricerche di piccole dimensioni.

Greenplum ti consente persino di creare tipi di dati e funzioni specifici del dominio. Attraverso l'uso di tipi di dati semistrutturati, che includono XML, HStore e JSON, hai la possibilità di archiviare e analizzare dati strutturati e non strutturati all'interno di un database.

Cos'è il database Greenplum? Introduzione al Big Data DatabaseFai clic per twittare

Casi d'uso principali

Greenplum fornisce una potente combinazione di database di elaborazione parallela massiccia e analisi dei dati avanzata che gli consente di creare un framework per scienziati e architetti di dati per prendere decisioni aziendali sulla base dei dati raccolti dall'intelligenza artificiale e apprendimento automatico. Esaminiamo i principali casi d'uso di Greenplum:

Analisi

L'analisi avanzata fornita da Greenplum viene utilizzata in molti settori verticali, tra cui finanza, produzione, automotive, governo, energia, istruzione, vendita al dettaglio e così via, per affrontare un'ampia varietà di problemi. Alcune delle funzionalità di analisi del database Greenplum evidenziate da Pivotal includono la capacità di analizzare una moltitudine di tipi di dati, sfruttare le conoscenze SQL esistenti e addestrare più modelli in meno tempo utilizzando l'architettura MPP.

Inoltre, Greenplum fornisce analisi all'interno del database che ti consentono di eseguire analisi direttamente nel database anziché esportare ed eseguire i dati in un motore di analisi esterno. Essendo un database su misura per i carichi di lavoro aziendali, offre la capacità necessaria per esplorare set di dati di grandi dimensioni insieme alle elevate prestazioni ottenute mettendo in parallelo l'analisi tra gli host dei segmenti disponibili. Puoi anche sfruttare un'ampia gamma di strumenti di analisi energetica con Greenplum, tra cui MADlib, R linguaggio statistico, SAS e Predictive Modeling Markup Language (PMML).

Ad esempio, una società di marketing su Internet su scala miliardaria sta utilizzando l'analisi avanzata di Greenplum per eseguire la profilazione del pubblico per capire chi è il suo pubblico, cosa acquista, quali reti e dispositivi utilizza, e dove si trovano geograficamente in modo che possano comprendere e servire meglio il loro mercato.

Apprendimento automatico

Greenplum è un eccellente database per l'apprendimento automatico, lo studio di algoritmi informatici che migliorano automaticamente attraverso l'esperienza. Apache MADlib è una libreria di apprendimento automatico basata su SQL open source che viene eseguita nel database su Greenplum e PostgreSQL. Questa combinazione ti aiuta a migliorare il parallelismo, la scalabilità e l'accuratezza predittiva della tua distribuzione di machine learning Greenplum. Le funzionalità di trasformazione dei dati e ingegneria delle funzionalità sono disponibili anche tramite MADlib per l'apprendimento automatico, incluse statistiche descrittive e inferenziali, pivoting, sessioni e codifica di variabili categoriali.

Ad esempio, una società governativa di fidelizzazione delle entrate per frode sta sfruttando le capacità di apprendimento automatico di Greenplum insieme a GemFire ​​per eseguire il rilevamento delle frodi su larga scala per prevenire il furto di identità, rilevare e trattenere $ 5 miliardi all'anno ed elaborarli 8 milioni di casi al giorno.

IA

L'intelligenza artificiale (AI), sebbene simile all'apprendimento automatico, si riferisce all'idea più ampia per cui le macchine possono eseguire attività in modo intelligente. Greenplum è un'ottima scelta di database per le applicazioni che cercano di imitare le capacità umane attraverso macchine intelligenti. Grazie alla capacità di Greenplum di acquisire grandi volumi di dati ad alta velocità, rende questo database un potente strumento per applicazioni intelligenti che devono interagire in modo intelligente in base a un numero illimitato di scenari unici.

Ad esempio, una società di telecomunicazioni sta utilizzando le funzionalità di intelligenza artificiale del database Greenplum per i sensori intelligenti del proprio sistema di reporting operativo IoT per analizzare ed eseguire eventi utilizzati per la manutenzione, la sicurezza e l'efficienza operativa.

Quindi chi usa Greenplum oggi? I clienti di Greenplum includono American Express, Walmart, Asurian, Bank of America e molti altri nei mercati bancario, dei servizi professionali, dei media, assicurativo, sanitario, automobilistico e al dettaglio.

Come iniziare

Come accennato in questo post, Greenplum è un database open source, quindi la versione della community è assolutamente gratuita da scaricare e utilizzare. La piccola ma attiva comunità di Greenplum accoglie nuovi contributori, accetta feedback e collabora con gli evangelisti di Greenplum per promuovere il database dei big data.

Molte organizzazioni che sfruttano Greenplum sono alla ricerca di supporto e strumenti aggiuntivi per aiutare i loro DBA a gestire le loro implementazioni. Ecco le due diverse opzioni di gestione e supporto del database disponibili per Greenplum:

ScaleGrid per database Greenplum® – Versione Open Source

ScaleGrid for Greenplum® Database è una soluzione completamente gestita per la versione open source di Greenplum, che verrà lanciata a maggio 2020. La piattaforma multi-cloud consente di distribuire e gestire su AWS, Piattaforme cloud Azure o Google Cloud (disponibile a breve) o ambienti VMware on-premise. ScaleGrid fornisce agli utenti di Greenplum gli strumenti di gestione avanzati di cui hanno bisogno per distribuire con un solo clic, automatizzare i backup e scalare dinamicamente con la possibilità di mantenere i privilegi di amministratore di superutente completi sulle loro distribuzioni open source.

Pivotal Greenplum – Versione commerciale

Pivotal Greenplum, ora VMware Tanzu è il creatore del database open source che offre una versione commerciale del database per aiutarti a distribuire e gestire Greenplum nel cloud e on-premise. Pivotal Greenplum offre molti vantaggi, come la capacità di massimizzare i tempi di attività, proteggere l'integrità dei dati e gestire facilmente i dati in streaming e i dati cloud.

Sia ScaleGrid che Pivotal Greenplum offrono pacchetti di supporto avanzati per aiutare i tuoi DBA a ottimizzare le loro implementazioni Greenplum.