Bezeichnen von Verteilungsstilen - 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.

Bezeichnen von Verteilungsstilen

Die Überlegungen und Empfehlungen für die Bezeichnung von Verteilungsstilen in diesem Abschnitt verwenden ein Sternschema als Beispiel. Ihr Datenbankdesign könnte auf einem Sternschema, einer Sternschemavariante oder einem ganz anderen Schema beruhen. Amazon Redshift wurde entwickelt, um effektiv mit jedem Schemadesign zu arbeiten, das Sie wählen. Die Grundsätze in diesem Abschnitt können auf jedes Schemadesign angewendet werden.

  1. Geben Sie die Primär- und Fremdschlüssel für alle Ihre Tabellen an.

    Amazon Redshift setzt keine Einschränkungen für Primär- und Fremdschlüssel durch. Der Abfrageoptimierer verwendet sie jedoch beim Generieren von Abfrageplänen. Wenn Sie Primär- und Fremdschlüssel festlegen, muss Ihre Anwendung die Gültigkeit der Schlüssel wahren.

  2. Verteilen Sie die Faktentabelle und ihre größte Dimensionstabelle anhand ihrer gemeinsamen Spalten.

    Wählen Sie die größte Dimension basierend auf der Größe des Datensatzes aus, der am häufigsten Join beteiligt ist, nicht nur basierend auf der Größe der Tabelle. Wenn eine Tabelle häufig mithilfe einer WHERE Klausel gefiltert wird, nimmt nur ein Teil ihrer Zeilen an der Verknüpfung teil. Eine solche Tabelle wirkt sich weniger auf die Umverteilung aus als eine kleinere Tabelle, die mehr Daten beiträgt. Geben Sie sowohl den Primärschlüssel der Dimensionstabelle als auch den entsprechenden Fremdschlüssel der Faktentabelle als DISTKEY an. Wenn mehrere Tabellen denselben Verteilungsschlüssel verwenden, werden sie ebenfalls zusammen mit der Faktentabelle platziert. Ihre Faktentabelle kann nur einen Verteilungsschlüssel haben. Alle Tabellen, die auf einem anderen Schlüssel verbunden werden, werden nicht mit der Faktentabelle zusammengestellt.

  3. Bezeichnen Sie die Verteilungsschlüssel für die anderen Dimensionstabellen.

    Verteilt die Tabellen anhand ihrer Primär- oder Fremdschlüssel, abhängig davon wie sie am häufigsten Joins mit anderen Tabellen ausführen.

  4. Prüfen Sie, ob Sie einige der Dimensionstabellen so ändern sollten, dass sie die ALL Verteilung 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 den Speicherplatzbedarf und verlängert die Ladezeiten und die Wartungsarbeiten. Daher sollten Sie alle Faktoren abwägen, bevor Sie sich für die ALL Verteilung entscheiden. Im folgenden Abschnitt wird erläutert, wie Sie anhand der Auswertung des ALL EXPLAIN Plans die für den Vertrieb geeigneten Kandidaten identifizieren können.

  5. Verwenden Sie die AUTO Verteilung für die übrigen Tabellen.

    Wenn eine Tabelle weitgehend denormalisiert ist und nicht an Verknüpfungen teilnimmt, oder wenn Sie keine klare Wahl für einen anderen Verteilungsstil haben, verwenden Sie Verteilung. AUTO

Wenn Sie möchten, dass Amazon Redshift einen geeigneten Verteilungsstil auswählt, geben Sie keinen Verteilungsstil an.