Auswahl des besten Verteilungsstils - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Auswahl des besten Verteilungsstils

Wenn sie eine Abfrage ausführen, führt der Abfrageoptimierer nach Bedarf eine Neuverteilung der Zeilen zu den Datenverarbeitungsknoten durch, um Join- oder Aggregierungsoperationen durchführen zu können. Das Ziel der Auswahl eines Tabellenverteilungsstils besteht darin, die Auswirkungen des Neuverteilungsschritts dadurch zu minimieren, dass die Daten dort platziert werden, wo sie benötigt werden, bevor die Abfrage ausgeführt wird.

Anmerkung

Wenn Sie die automatische Tabellenoptimierung verwenden, müssen Sie den Verteilungsstil Ihrer Tabelle nicht auswählen. Weitere Informationen finden Sie unter Arbeiten mit automatischer Tabellenoptimierung.

Einige Vorschläge für den besten Ansatz folgen:

  1. Verteilen der Faktentabelle und einer Dimensionstabelle auf ihren gemeinsamen Spalten.

    Ihre Faktentabelle kann nur einen Verteilungsschlüssel haben. Alle Tabellen, die auf einem anderen Schlüssel verbunden werden, werden nicht mit der Faktentabelle zusammengestellt. Wählen Sie eine Dimension für die Zusammenstellung auf der Grundlage der Join-Häufigkeit und der Größe der Joining-Zeilen. Bezeichnen Sie den Primärschlüssel der Dimensionstabelle und den entsprechenden Fremdschlüssel der Faktentabelle als DISTKEY.

  2. Wählen Sie die größte Dimension auf der Grundlage der Größe des gefilterten Datasets.

    Nur die in dem Join verwendeten Zeilen müssen verteilt werden. Berücksichtigen Sie daher die Größe des Datensatzes nach der Filterung und nicht die Größe der Tabelle.

  3. Wählen Sie eine Spalte mit hoher Kardinalität im gefilterten Ergebnissatz.

    Wenn Sie beispielsweise eine Vertriebstabelle auf einer Datumsspalte verteilen, erhalten Sie wahrscheinlich eine ziemlich gleichmäßige Datenverteilung, wenn nicht der Großteil Ihres Vertriebs saisongebunden ist. Wenn Sie jedoch üblicherweise ein bereichseingeschränktes Prädikat für die Filterung für einen engen Zeitbereich verwenden, befinden sich die meisten der gefilterten Zeilen auf einem begrenzten Satz von Slices, und der Abfrageworkload wird verzerrt.

  4. Ändern einiger Dimensionstabellen, um die ALL-Verteilung zu verwenden.

    Wenn eine Dimensionstabelle nicht mit der Faktentabelle oder anderen wichtigen Joining-Tabellen zusammengestellt werden kann, können Sie die Abfrageleistung dadurch erheblich verbessern, dass Sie die gesamte Tabelle zu allen Knoten verteilen. Die Verwendung der ALL-Verteilung vervielfacht die Speicheranforderungen, verlängert Ladezeiten und erhöht den Aufwand für Wartungsoperationen. Sie sollten daher alle Faktoren sorgfältig abwägen, bevor Sie die ALL-Verteilung wählen.

Wenn Amazon Redshift den geeigneten Verteilungsstil auswählt, geben Sie AUTO für den Verteilungsstil an.

Für weitere Informationen zur Auswahl von Verteilungsstilen vgl. Arbeiten mit Datenverteilungsstilen.