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.
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.
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.
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.
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.
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.
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.
Vertica wurde mit Blick auf die 4 C entwickelt: Column Storage, Compression, Clustering, Continuous Performance (Spaltenspeicherung, Komprimierung, Clustering und kontinuierliche Leistung bzw. Verfügbarkeit).
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.