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

Was ist die Greenplum-Datenbank? Einführung in die Big-Data-Datenbank

Greenplum Database ist eine Massively Parallel Processing (MPP)-SQL-Datenbank, die auf PostgreSQL aufgebaut ist und darauf basiert. Es kann ohne ein einziges Problem auf eine Daten-Workload auf Multi-Petabyte-Ebene skaliert werden und ermöglicht den Zugriff auf einen Cluster leistungsstarker Server, die innerhalb einer einzigen SQL-Schnittstelle zusammenarbeiten, wo Sie alle Daten anzeigen können. In diesem Blogbeitrag erklären wir, was Greenplum ist, und erläutern die Greenplum-Architektur, die Vorteile, die wichtigsten Anwendungsfälle und die ersten Schritte.

Was genau ist Greenplum?

Greenplum Database ist eine hardwareunabhängige Open-Source-MPP-Datenbank für Analysen, die auf PostgreSQL basiert und von Pivotal entwickelt wurde, das später von VMware übernommen wurde. Die Architektur wurde speziell entwickelt, um große Data Warehouses und Business Intelligence-Workloads zu verwalten, indem sie Ihnen die Möglichkeit gibt, Ihre Daten auf eine Vielzahl von Servern zu verteilen.

Diese funktionsreiche Datenbank bietet leistungsstarke und schnelle Analysen von Daten, die bis zu Petabyte-Volumen skaliert werden können.

Auf einen Blick – TLDR

Die Greenplum-Architektur

Greenplum verwendet ein MPP-Datenbankdesign, das Ihnen bei der Entwicklung einer skalierbaren Hochleistungsbereitstellung helfen kann. Jetzt lesen

Greenplum-Vorteile

Hohe Leistung, Abfrageoptimierung, Open Source und polymorphe Datenspeicherung sind die Hauptvorteile von Greenplum. Jetzt lesen

Hauptanwendungsfälle

Erfahren Sie, warum Greenplum die beste Datenbank für Analysen, maschinelles Lernen und KI-Anwendungsfälle ist. Jetzt lesen

Die Greenplum-Architektur

Um ein gutes Verständnis der Greenplum-Architektur zu bekommen, schauen wir uns zuerst an, was eine MPP-Datenbank ist.

Was ist eine MPP-Datenbank?

Bei der Handhabung großer Mengen komplexer Daten oder Big Data besteht die Möglichkeit, dass Ihre Hauptmaschine von all den Daten, die sie verarbeiten muss, um Ihre Analysen zu erstellen, erdrückt wird Ergebnisse. Um diesen Bedarf an schnellerer Verarbeitung zu decken und schnellere Ergebnisse zu ermöglichen, ziehen viele Unternehmen die Einführung einer MPP-Datenbank in Erwägung.

Das MPP-System nutzt eine Shared-Nothing-Architektur, um mehrere Operationen parallel zu handhaben. Es verwendet mehrere verschiedene Verarbeitungseinheiten, die unabhängig voneinander mit ihrem eigenen dedizierten Speicher und ihren eigenen Ressourcen arbeiten, sodass die Arbeitslast auf mehrere Geräte statt nur auf eines verteilt wird. Typischerweise hat ein MPP-System einen Führungsknoten und einen oder mehrere Rechenknoten. Der führende Knoten, in Greenplum „Master“ genannt, teilt allen anderen Knoten, in Greenplum Segmente genannt, mit, was zu tun ist, und führt ihre Antworten zusammen, um die endgültige Antwort zu erstellen.

MPP-Datenbanken horizontal skalieren durch das Hinzufügen weiterer Rechenressourcen (Knoten), anstatt sich Gedanken über ein Upgrade auf immer teurere einzelne Server machen zu müssen (vertikale Skalierung).

Greenplum-Architekturdesign

Basierend auf der PostgreSQL-Architektur nutzt Greenplum im Wesentlichen mehrere PostgreSQL-Datenbankinstanzen gleichzeitig in einem einzigen Greenplum-Cluster. PostgreSQL-Benutzer können sich schnell mit diesem Datenbanktyp vertraut machen, da viele der Features, Konfigurationen und Funktionen in Greenplum gleich sind und Features enthalten, die darauf ausgelegt sind, die Funktionsweise von PostgreSQL für Business Intelligence (BI)-Aufgaben und -Workloads zu optimieren.

Greenplum hat auch viele Funktionen eingeführt, die in PostgreSQL nicht verfügbar sind, wie z. B. paralleles Laden von Daten, Ressourcenverwaltung, Speichererweiterungen und erweiterte Abfrageoptimierung, was es zu einem attraktiven Angebot macht, wenn Sie es vergleichen zwei.

Ähnlich wie PostgreSQL nutzt Greenplum einen Master-Server oder Host, der der Einstiegspunkt zur Datenbank ist und Verbindungen und SQL-Abfragen akzeptiert. Wo PostgreSQL jedoch Standby-Knoten nutzt, um ihre Bereitstellung geografisch zu verteilen, verwendet Greenplum Segment-Hosts, die die Daten speichern und verarbeiten. Greenplum-Segmente sind unabhängig und speichern jeweils einen Teil der Daten, übernehmen jedoch einen Großteil der Abfrageverarbeitung. Sie können nur zwei Segment-Hosts nutzen und auf eine unbegrenzte Kapazität skalieren. Wenn Sie die Spiegelung aktiviert haben, müssen Sie Ihre Segment-Hosts in Schritten von mindestens zwei erhöhen.

Also, wie wird das alles koordiniert? Greenplum Interconnect ist die Netzwerkschicht der Architektur und verwaltet die Kommunikation zwischen den Greenplum-Segmenten und der Master-Host-Netzwerkinfrastruktur.

Greenplum-Vorteile

Hier sind einige der wichtigsten Greenplum-Vorteile, die Ihnen helfen können, Ihre Datenbankleistung zu verbessern:

  • Hohe Leistung

    Greenplum verfügt über eine einzigartig gestaltete Datenpipeline, die Daten effizient von der Festplatte zur CPU streamen kann, ohne sich darauf verlassen zu müssen, dass die Daten in den RAM-Speicher passen, wie in Greenplum Next Generation Big erläutert Datenplattform:Artikel mit den 5 wichtigsten Gründen. Dies bietet Greenplum-Bereitstellungen einen enormen Leistungsschub gegenüber In-Memory-Systemen, die genügend Speicher zum Speichern ihrer Daten benötigen, oder nicht auf RDBMS basierenden Systemen, bei denen es sich um In-Memory-Verarbeitungs-Engines handelt, die RAM für jede gleichzeitige Abfrage zuweisen. Die hohe Leistung von Greenplum eliminiert die Herausforderung, vor der die meisten RDBMS bei der Skalierung auf Petaby-Datenmengen stehen, da sie in der Lage sind, linear zu skalieren, um Daten effizient zu verarbeiten.

  • Suchanfragenoptimierung

    Greenplum bietet einen kostenbasierten Abfrageoptimierer für umfangreiche Big-Data-Workloads. Greenplum nutzt die oben beschriebene Leistung und skaliert interaktive und Batch-Modus-Analysen auf Petabyte-Skala, ohne Ihre Abfrageleistung zu beeinträchtigen. Dadurch kann Greenplum die Last auf die verschiedenen Segmente verteilen und alle Ressourcen des Systems parallel nutzen, um eine Anfrage zu verarbeiten.

    Außerdem hat sich durch die OLTP-Workload-Verbesserungen (Online Transactional Processing) in Greenplum 6 die Leistung einzelner Abfragen gegenüber Greenplum 5 um mehr als 3,5 c verbessert. Mit diesem Update hat Greenplum viele der eliminiert Sperren Sie den Wettbewerb, sodass die Master-CPU-Auslastung 90 % überschreiten kann, wodurch die Leistung der Abfrage verbessert wird, indem die Hardwareleistung des Master-Knotens verbessert wird.

  • Open-Source

    Greenplum-Datenbank ist ein Open-Source-Data-Warehouse-Projekt, das auf dem Open-Source-Kern von PostgreSQL basiert und es Benutzern ermöglicht, die Vorteile der jahrzehntelangen Expertenentwicklung hinter PostgreSQL zusammen mit der gezielten Anpassung von Greenplum zu nutzen für Big-Data-Anwendungen. Greenplum kann auf jedem Linux-Server ausgeführt werden, unabhängig davon, ob er in der Cloud oder vor Ort gehostet wird, und kann in jeder Umgebung ausgeführt werden.

    Während Greenplum von einem Kernteam von Entwicklern mit Commit-Rechten für das Haupt-Repository gepflegt wird, heißt es neue Mitwirkende, die Erfahrung mit der Datenbank haben, bereitwillig willkommen, um die Zukunft von Greenplum mitzugestalten. Erfahren Sie mehr über die Teilnahme auf der Greenplum GitHub-Seite.

  • Polymorphe Datenspeicherung

    Der polymorphe Datenspeicher von Greenplum ermöglicht es Ihnen, die Konfiguration für Ihren Tabellen- und Partitionsspeicher mit der Freiheit zu steuern, Dateien darin jederzeit auszuführen und zu komprimieren. Auf diese Weise können Sie Ihre Tabellen basierend auf der Art und Weise, wie auf Ihre spezifischen Daten zugegriffen wird, entwerfen und wiederum eine zeilen- oder spaltenorientierte Speicherhierarchie haben.

    Wenn Sie eine Tabelle in Greenplum erstellen, können Sie die Ausrichtung steuern, indem Sie entweder spaltenorientierte oder zeilenorientierte Daten auswählen. Spaltenorientiert ist normalerweise besser für vollständige Scans, während zeilenorientiert besser für kleine Scans oder Suchen geeignet ist.

Mit Greenplum können Sie sogar domänenspezifische Datentypen und Funktionen erstellen. Durch die Verwendung halbstrukturierter Datentypen, zu denen XML, HStore und JSON gehören, haben Sie die Möglichkeit, sowohl strukturierte als auch unstrukturierte Daten in einer Datenbank zu speichern und zu analysieren.

Was ist die Greenplum-Datenbank? Einführung in die Big-Data-DatenbankClick To Tweet

Hauptanwendungsfälle

Greenplum bietet eine leistungsstarke Kombination aus massiv parallel verarbeiteten Datenbanken und fortschrittlicher Datenanalyse, die es ermöglicht, einen Rahmen für Datenwissenschaftler und -architekten zu schaffen, um Geschäftsentscheidungen auf der Grundlage von Daten zu treffen, die von künstlicher Intelligenz gesammelt wurden und maschinelles Lernen. Gehen wir die wichtigsten Anwendungsfälle für Greenplum durch:

Analytics

Die von Greenplum bereitgestellten fortschrittlichen Analysen werden in vielen Branchen eingesetzt, darunter Finanzen, Fertigung, Automobil, Regierung, Energie, Bildung, Einzelhandel usw., um eine Vielzahl von Problemen zu lösen von Problemen. Einige der von Pivotal hervorgehobenen Analysefunktionen der Greenplum-Datenbank umfassen die Fähigkeit, eine Vielzahl von Datentypen zu analysieren, vorhandenes SQL-Wissen zu nutzen und mehr Modelle in kürzerer Zeit durch die Verwendung der MPP-Architektur zu trainieren.

Zusätzlich bietet Greenplum datenbankinterne Analysen, mit denen Sie Analysen direkt in der Datenbank ausführen können, anstatt Ihre Daten zu exportieren und in einer externen Analyse-Engine auszuführen. Als Datenbank, die auf Enterprise-Workloads zugeschnitten ist, bietet dies die erforderliche Fähigkeit, große Datensätze zu untersuchen, zusammen mit der hohen Leistung, die durch die Parallelisierung der Analysen über Ihre verfügbaren Segment-Hosts erreicht wird. Sie können mit Greenplum auch eine breite Palette von Power-Analytics-Tools nutzen, darunter MADlib, R Statistical Language, SAS und Predictive Modeling Markup Language (PMML).

Zum Beispiel verwendet ein Internet-Marketing-Unternehmen im Wert von einer Milliarde Dollar erweiterte Analysen von Greenplum, um Zielgruppenprofile zu erstellen, um zu verstehen, wer ihre Zielgruppe ist, was sie kauft, welche Netzwerke und Geräte sie verwenden, und wo sie sich geografisch befinden, damit sie ihren Markt besser verstehen und bedienen können.

Maschinelles Lernen

Greenplum ist eine hervorragende Datenbank für maschinelles Lernen – das Studium von Computeralgorithmen, die sich durch Erfahrung automatisch verbessern. Apache MADlib ist eine SQL-basierte Open-Source-Bibliothek für maschinelles Lernen, die sowohl auf Greenplum als auch auf PostgreSQL in der Datenbank ausgeführt wird. Diese Kombination hilft Ihnen, die Parallelität, Skalierbarkeit und Vorhersagegenauigkeit Ihrer Machine Learning-Bereitstellung von Greenplum zu verbessern. Datentransformations- und Feature-Engineering-Funktionen sind auch über MADlib für maschinelles Lernen verfügbar, einschließlich deskriptiver und inferenzieller Statistik, Pivotisierung, Sitzungsbildung und Codierung kategorialer Variablen.

Zum Beispiel nutzt ein staatliches Unternehmen zur Einbehaltung von Einnahmen aus Betrugsdelikten die maschinellen Lernfunktionen von Greenplum zusammen mit GemFire, um Betrugserkennung in großem Umfang durchzuführen, um Identitätsdiebstahl zu verhindern, jährlich 5 Mrd. USD aufzudecken und einzubehalten und zu verarbeiten 8 Millionen Fälle pro Tag.

KI

Künstliche Intelligenz (KI) ist zwar dem maschinellen Lernen ähnlich, bezieht sich aber auf die allgemeinere Idee, dass Maschinen Aufgaben intelligent ausführen können. Greenplum ist eine großartige Datenbankwahl für Anwendungen, die menschliche Fähigkeiten durch intelligente Maschinen nachahmen möchten. Die Fähigkeit von Greenplum, große Datenmengen mit hoher Geschwindigkeit aufzunehmen, macht diese Datenbank zu einem leistungsstarken Tool für intelligente Anwendungen, die basierend auf einer unbegrenzten Anzahl einzigartiger Szenarien intelligent interagieren müssen.

Zum Beispiel verwendet ein Telekommunikationsunternehmen die KI-Funktionen der Greenplum-Datenbank für die intelligenten Sensoren seines IoT-Betriebsberichtssystems, um Ereignisse zu analysieren und auszuführen, die für Wartung, Sicherheit und Betriebseffizienz verwendet werden.

P>

Also, wer verwendet Greenplum heute? Zu den Kunden von Greenplum gehören American Express, Walmart, Asurian, Bank of America und viele mehr in den Bereichen Banken, professionelle Dienstleistungen, Medien, Versicherungen, Gesundheitswesen, Automobil und Einzelhandel.

Erste Schritte

Wie in diesem Beitrag erwähnt, ist Greenplum eine Open-Source-Datenbank, sodass die Community-Version absolut kostenlos heruntergeladen und verwendet werden kann. Die kleine, aber aktive Community von Greenplum heißt neue Mitwirkende willkommen, akzeptiert Feedback und arbeitet mit Greenplum-Evangelisten zusammen, um die Big-Data-Datenbank zu fördern.

Viele Organisationen, die Greenplum nutzen, suchen nach zusätzlicher Unterstützung und Tools, um ihre DBAs bei der Verwaltung ihrer Bereitstellungen zu unterstützen. Hier sind die zwei verschiedenen Datenbankverwaltungs- und Supportoptionen, die für Greenplum verfügbar sind:

ScaleGrid für Greenplum®-Datenbank – Open-Source-Version

ScaleGrid for Greenplum® Database ist eine vollständig verwaltete Lösung für die Open-Source-Version von Greenplum, die im Mai 2020 eingeführt wird. Die Multi-Cloud-Plattform ermöglicht Ihnen die Bereitstellung und Verwaltung auf AWS, Azure- oder Google Cloud-Cloud-Plattformen (demnächst verfügbar) oder lokale VMware-Umgebungen. ScaleGrid bietet Greenplum-Benutzern die erweiterten Verwaltungstools, die sie benötigen, um sie mit einem einzigen Klick bereitzustellen, Backups zu automatisieren und dynamisch zu skalieren, mit der Möglichkeit, vollständige Superuser-Administratorrechte für ihre Open-Source-Bereitstellungen zu behalten.

Pivotal Greenplum – Kommerzielle Version

Pivotal Greenplum, jetzt VMware Tanzu, ist der Schöpfer hinter der Open-Source-Datenbank, die eine kommerzielle Version der Datenbank anbietet, um Ihnen bei der Bereitstellung und Verwaltung von Greenplum in der Cloud und vor Ort zu helfen. Pivotal Greenplum bietet viele Vorteile, wie z. B. die Möglichkeit, die Betriebszeit zu maximieren, die Datenintegrität zu schützen und Streaming- und Cloud-Daten problemlos zu handhaben.

Sowohl ScaleGrid als auch Pivotal Greenplum bieten erweiterte Supportpakete, um Ihren DBAs bei der Optimierung ihrer Greenplum-Bereitstellungen zu helfen.