Was gefällt dir am besten IBM Netezza Performance Server?
Die rohe Geschwindigkeit des Systems ermöglicht einen Entwicklungsprozess, der normalerweise nicht durchgeführt wird. Zum Beispiel ist es möglich, vollständige Leistungstests durchzuführen, während Sie Komponententests durchführen. Sie können auch Tabellen erstellen, die viel größer sind, als Sie es in einer typischen Datenbank tun würden (z. B. das Speichern von aktuellen und archivierten Zeilen in denselben Tabellen).
Die Einfachheit des Systems ermöglicht minimalen Wartungsaufwand. Die Beteiligung eines Datenbankadministrators kann nahezu null sein. Bewertung gesammelt von und auf G2.com gehostet.
Was gefällt Ihnen nicht? IBM Netezza Performance Server?
Die Einfachheit des Systems kann auch in gemischten Anwendungsfällen Probleme verursachen.
In anderen Datenbanken hat man auch die Möglichkeit, die Leistung auf verschiedene Weise zu verbessern, wie z.B. durch Partitionierung, Indizierung, Zuweisung von Server-Hardware usw. Netezza hat im Wesentlichen nur zwei Möglichkeiten, was die physische Architektur betrifft, um die Leistung zu handhaben: Sortieren von Daten und Verteilen von Daten.
Das Sortieren von Daten erfolgt direkt in der Tabelle, wodurch die Notwendigkeit von gruppierten Indizes vermieden wird. Aber das ist nur hilfreich, wenn die von Ihnen ausgeführte Abfrage diese Sortierung nutzt. Wenn Sie beispielsweise nach Datum sortieren, indem Sie das Datumsfeld als ORGANIZE BY-Schlüssel festlegen, muss jede Abfrage, die das Datum nicht in der WHERE-Klausel verwendet, einen Tabellenscan durchführen. Sie können materialisierte Ansichten erstellen, die im Wesentlichen wie Indizes wirken, aber Sie können nicht sowohl MVs als auch ORGANIZE BY-Schlüssel verwenden. Mit anderen Worten, wenn Sie auch nur eine MV zum Sortieren verwenden, können Sie die Daten in der Tabelle nicht erzwingen, es sei denn, Sie laden die Daten tatsächlich mit einer ORDER BY-Klausel in der INSERT-Anweisung neu. Das Problem mit den MVs ist, dass sie, obwohl sie wie ein Index wirken, wie eine typische MV aktualisiert werden müssen, um neue Daten zu sortieren. In einem System, das innerhalb eines Tages geladen oder aktualisiert wird, kann das Probleme verursachen.
Die Verteilung hat zwei Komponenten, die manchmal im Widerspruch zueinander stehen können: das gleichmäßige Hashen der Daten zur Arbeitslastverteilung und das Zusammenlegen von Daten für Joins. Aber wenn die Spalte, die für die Zusammenlegung sinnvoll ist, die Daten nicht gleichmäßig verteilt, müssen Sie einen Kompromiss eingehen.
Darüber hinaus können Sie in einem Sternschema den Fremdschlüssel der Faktentabelle mit einem Primärschlüssel einer Dimension zusammenlegen, aber das ist am besten, wenn Sie mit einem Parameter auf dieser Dimension in der WHERE-Klausel abfragen. Wenn Sie eine Abfrage ausführen, die nicht auf dieser Dimension filtern kann, könnte der Verteilungsschlüssel Ihnen nicht helfen. Außerdem können Sie immer nur eine Dimension zur Zusammenlegung mit dem Faktum auswählen. Die Wahl einer Mehrspaltenverteilung des Faktums basierend auf mehreren Dimensionsschlüsseln legt das Faktum nicht mit _jeder_ Dimension zusammen. Stattdessen wird das Faktum mit einem Hash-Schlüssel basierend auf der verketteten Kombination der Werte des Mehrspaltenverteilungsschlüssels verteilt (d.h. das Faktum wird mit _keiner_ Dimension zusammengelegt).
Auch die Tatsache, dass Netezza keine In-Memory- oder Spaltenoptionen herausgebracht hat, lässt mich fragen, ob die Architektur des Geräts solche Möglichkeiten überhaupt zulässt. Mit anderen Worten, der Mangel an Flexibilität könnte erneut auftreten, wenn die Natur des Geräts eine so vielfältige Funktionalität nicht zulässt. Bewertung gesammelt von und auf G2.com gehostet.