Was ist Vertica?

Vertica ist eine MPP-Datenbankplattform mit hoher Nichtsequenzialität, die hochperformante, fortschrittliche analytische Workflows auf enormen Datenmengen priorisiert. Wie viele selbstverwaltete MPP-Datenplattformen ist auch die Plattform von Vertica ausgereift und so konzipiert, dass sie sich in den Stack von Unternehmen integrieren lässt. Die Kernkompetenz von Vertica liegt in einer neuartigen Architektur mit hoher Leistung und Effizienz für extrem große Datensätze.

Vertica ist aufgrund seiner starken Integration mit R und Datenföderationsfähigkeiten mit Hadoop besonders gut für fortgeschrittene analytische und datenwissenschaftliche Workflows geeignet.

Auswahl von Vertica als Datenbank

Kostengünstig

Vertica ist eine kostengünstige und flexible Lösung, denn im Gegensatz zu anderen selbstverwalteten MPP-Datenbanken kann Vertica auf handelsüblicher Hardware bereitgestellt und ausgeführt werden. Dadurch fallen die Bereitstellung neuer Knoten und die Skalierung der Datenbank relativ günstig aus.

Leistung

Der säulenförmige Speicher von Vertica ist auf Geschwindigkeit und Effizienz optimiert, wodurch der Eingabe/Ausgabe-Overhead von Festplatten reduziert und Indizes sowie materialisierte Ansichten überflüssig gemacht werden.

Fortgeschrittene Analysefunktionen

Wie andere selbstverwaltete MPP-Datenbanken ist auch Vertica schon lange verfügbar und hat einen ausgereiften und stabilen SQL-Dialekt. Vertica verfügt jedoch auch über native Unterstützung für georäumliche Analysen, Distributed-R, maschinelles Lernen und andere fortgeschrittene Toolkits, wodurch es den meisten anderen MPP-Plattformen im Hinblick auf fortgeschrittene Analysewerkzeuge überlegen ist.

Wofür ist Vertica besonders gut geeignet?

MPP-Leistung in einer On-Premise-Umgebung

Vertica kann On-Premise auf Standard-Hardware (ähnlich wie Hadoop) eingesetzt werden und ermöglicht es Unternehmen, den Speicher und die Leistung von Vertica planmäßig und linear zu skalieren, ohne auf proprietäre Hardware angewiesen zu sein. Die hochverfügbaren Funktionen von Vertica ermöglichen es Ihnen darüber hinaus, Daten unabhängig von Hardwareausfällen kontinuierlich zu laden und zu analysieren.

Workflows für Data Science und maschinelles Lernen

Unternehmen, die stark auf datenwissenschaftliche und maschinelle Lernprozesse angewiesen sind, sollten Vertica aufgrund der SQL-Engine in Betracht ziehen. Diese kann HDFS (ähnlich wie Presto, Hive und Spark) direkt abfragen und ermöglicht die Integration mit Distributed-R, wodurch Analysten und Datenwissenschaftler R zur Abfrage umfangreicher Datensätze verwenden können.

Preisliche Erwägungen

Lizenzen von Vertica hängen von zahlreichen verschiedenen Faktoren ab, wie zum Beispiel der Laufzeit und der Menge der auf der Plattform gespeicherten Rohdaten.​​​​​​​ Einen genauen Kostenvoranschlag auf der Grundlage Ihrer Spezifikationen erhalten Sie direkt von dem Team von Micro Focus Vertica.

Darüber hinaus können Sie die Vertica Community Edition herunterladen, die bis zu 1 TB auf 3 Knoten kostenlos ist.

Architektur von Vertica

Vertica wurde mit Blick auf die 4 C entwickelt: Column Storage, Compression, Clustering, Continuous Performance (Spaltenspeicherung, Komprimierung, Clustering und kontinuierliche Leistung bzw. Verfügbarkeit).

Spaltenspeicherung

Vertica speichert Spalten aus Tabellen auf Datenbankobjekten. Diese werden als Projektionen bezeichnet. Projektionen funktionieren ähnlich wie materialisierte Ansichten und wurden entwickelt, um die Ausführung von Abfragen zu beschleunigen. Infolgedessen werden Spalten, auf die häufig zugegriffen wird, in einer Projektion zusammengefasst. Dies könnte sogar das Zusammenfügen einiger Spalten in einzelnen Projekten umfassen, wodurch die Abfrageleistung auf verbundene Tabellen drastisch erhöht wird.

Die Spaltengruppierung ist Teil von Verticas FlexStore™. Dabei handelt es sich um eine Kombination aus physischem Design, Datenbankspeicherung und Techniken für die Durchführung von Abfragen. Sie wurde zur Optimierung der Abfrageleistung entwickelt. Ein weiterer wichtiger Aspekt von FlexStore besteht darin sicherzustellen, dass häufig verwendete Daten schneller abgerufen werden können, indem diese Daten auf schnellere und leistungsfähigere Hardware verschoben werden.

Kompression

Spaltenspeicher können aufgrund der Speicherung von Spalten als separate Objekte Daten effektiver komprimieren, da in einer jeweiligen Spalte vorhandene Daten den restlichen Daten innerhalb einer bestimmten Zeile sehr ähnlich sind.

Vertica nutzt für kompressible Spalten LZO-Kompression. Diese ist insbesondere für extrem schnelle Dekompression optimiert. Vertica verwendet auch ganzzahliges Packaging für ganzzahlige Werte. Ganzzahliges Packaging als Kompressionsalgorithmus wird hier vorgestellt.

Clustering

Vertica basiert auf einer verteilten „Shared Nothing“-Architektur, einem grundlegenden Aspekt analytischer MPP-Datenbanken.​​​​​​​ Im Gegensatz zu vielen verteilten MPP-Datenbanken wurde Vertica jedoch so konzipiert, dass es ohne einen Leader-Knoten funktioniert. Stattdessen haben alle Knoten innerhalb eines Vertica-Clusters die Möglichkeit, zu einem Initiatorknoten zu werden, und jeder Knoten innerhalb des Clusters kann eine Verbindung herstellen und einen Ausführungsplan für Abfragen erstellen.

Im Zusammenhang mit einem Load Balancer ermöglicht diese Architektur nicht nur eine hohe Aktualität, sondern auch hohe Verfügbarkeit, denn innerhalb eines Vertica-Clusters gibt es keine einzelnen Fehlerstellen (Single Point of Failure).

Kontinuierliche Leistung

Vertica ist so konzipiert, dass Daten automatisch und kontinuierlich in die Datenbank geladen werden. Im Gegensatz zu anderen, auf regelmäßigen Intervallen von Batch-Uploads der Daten basierenden MPP-Datenbanken, lädt Vertica kontinuierlich Daten mit minimalem Verwaltungsaufwand. Dieser Prozess minimiert die Latenz.

Datentypen

Vertica speichert Daten in einem Spaltenformat. Es kann sowohl tabellarische Daten aufnehmen als auch semistrukturierte Daten über Flex-Tabellen unterstützen. Dazu gehören beispielsweise Daten im Common Event Format (CEF), abgegrenzte Daten, JSON-Daten und das Laden von Übereinstimmungen aus regulären Ausdrücken. Verticas SQL-on-Hadoop-Funktionalität ermöglicht auch die Abfrage von Daten im Text-, ORC- oder Parquet-Format.​​​​​​​

Maximal empfohlene Datengröße

Vertica ist eine Datenbank auf Petabyte-Ebene und kann zur Bearbeitung von Workloads auf Petabyte-Ebene weiter skaliert werden. Es ist jedoch zu beachten, dass die Komplexität und die Erwägungen im Hinblick auf die Kosten entsprechend der Speicher- und Rechenkapazität skaliert werden.

Nutzung von Vertica

Prozess für neue Daten

Bevor Sie Daten in Ihre Datenbank laden, müssen Sie Tabellen erstellen und den Datentyp für jede Spalte in jeder Tabelle definieren.​​​​​​​ Sie müssen sich dann überlegen, wie diese Tabellen verwendet werden sollen, um gültige Projektionen erstellen und Spalten in diesen Tabellen effektiv gruppieren zu können.

Wartung und was für die Implementierung benötigt wird

Zwar kann die Hardware-Komponente von Vertica vollständig verwaltet werden, jedoch ist dies bei der Tabellenarchitektur und Abfrageoptimierung nicht der Fall.​​​ Zur Erreichung einer akzeptablen Leistung von Vertica müssen Sie Spaltenkodierung, Partitionierung, Indizes und Statistiken anwenden. Beim Tuning einer Teradata-Datenbank kann die allgemeine MPP-Tuning-Strategie angewendet werden.

Distributed-R

Vertica ermöglicht R die Skalierung auf enorm große Datensätze. So können Sie benutzerdefinierte Funktionen (UDFs) in R erstellen und in die Vertica-Datenbank laden.​​​​​​​ Dieser Blog-Post zeigt das Beispiel einer Realisierung.

Verticas SQL-on-Hadoop-Engine

Die Vertica-Plattform wird mit einer SQL-Engine ausgeliefert, die anderen SQL-on-Hadoop-Dialekten wie Presto, Hive und Spark in nichts nachsteht. So können Sie die ausgereiften SQL-Abfragefähigkeiten von Vertica auf Hadoop-Daten nutzen und zugleich die Leistungsfähigkeit des Hadoop-Clusters voll ausschöpfen. Sie können sowohl die Leistung als auch die analytischen Funktionen von Vertica in nativen Vertica- und Hadoop-Umgebungen von einem zentralen Standort aus nutzen.

Weitere Fakten über Vertica

Verticas Entwickler Michael Stonebraker weiß einiges über Datenbanken. Der Preisträger des A.M. Turing Awards war außer an der Entwicklung von Vertica auch an der Entwicklung der Datenbanken Postgres und Ingres beteiligt. Er ist derzeit als außerordentlicher Professor und Forscher am MIT​​​​​​​ tätig.

Entdecken Sie Ihre Liebe zur Analytik.

Business Intelligence, Big-Data-Analyse oder eine 360°-Ansicht Ihrer Kunden.
Was auch immer Sie benötigen, Looker steht Ihnen zur Seite. Sprechen Sie einfach mit unseren Datenexperten.

Demo anfordern