WLMÜberspringen von Abfragen - 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.

WLMÜberspringen von Abfragen

Mit Amazon Redshift können Sie Workload-Parallelität und Ressourcenzuweisung verwalten, indem Sie WLM Queue-Hopping (Workload Management) aktivieren. Mit dieser Funktion können Abfragen vorübergehend von einer zugewiesenen Warteschlange zu einer Warteschlange mit höherer Priorität „springen“, wenn Ressourcen verfügbar sind, wodurch die allgemeine Abfrageleistung und die Systemauslastung verbessert werden. Die folgenden Abschnitte enthalten detaillierte Anleitungen zur Konfiguration und Verwendung von WLM Query Queue Hopping in Amazon Redshift.

Eine Abfrage kann aufgrund eines WLMTimeouts oder einer Hop-Aktion zur Abfrageüberwachungsregel () QMR übersprungen werden. In einer manuellen WLM Konfiguration können Sie Abfragen nur überspringen.

Wenn eine Abfrage übersprungen wird, wird WLM versucht, die Abfrage auf der Grundlage der Warteschlangenzuweisungsregeln an die nächste passende WLM Warteschlange weiterzuleiten. Wenn die Abfrage keiner anderen Warteschlangendefinition entspricht, wird sie abgebrochen. Sie wird nicht der Standardwarteschlange zugewiesen.

WLMTimeout-Aktionen

In der folgenden Tabelle wird das Verhalten verschiedener Abfragetypen mit einem WLM Timeout zusammengefasst.

Abfragetyp Action
INSERT, und UPDATE DELETE Abbrechen
Benutzerdefinierte Funktionen () UDFs Abbrechen
UNLOAD Abbrechen
COPY Ausführung wird fortgesetzt
Wartungsoperationen Ausführung wird fortgesetzt
Schreibgeschützte Abfragen mit dem Status returning Ausführung wird fortgesetzt
Schreibgeschützte Abfragen mit dem Status running Neuzuweisung oder Neustart
CREATETABLEALS (CTAS), SELECT INTO Neuzuweisung oder Neustart

WLMTimeout, Warteschlangenwechsel

WLMüberspringt die folgenden Abfragetypen, wenn sie ein Timeout haben:

  • Schreibgeschützte Abfragen, z. B. SELECT Anweisungen, die sich im WLM Zustand von befinden. running Um den WLM Status einer Abfrage zu ermitteln, sehen Sie sich die STATE Spalte in der STV_WLM_QUERY_STATE Systemtabelle an.

  • CREATETABLEAS (CTAS) -Anweisungen. WLMQueue Hopping unterstützt sowohl benutzerdefinierte als auch vom System CTAS generierte Anweisungen.

  • SELECTINTOAussagen.

Abfragen, für die kein WLM Timeout gilt, werden in der ursprünglichen Warteschlange weiter ausgeführt, bis sie abgeschlossen sind. Für die folgenden Abfragetypen gilt kein WLM Timeout:

  • COPYAussagen

  • Wartungsarbeiten wie ANALYZE und VACUUM

  • Schreibgeschützte Abfragen, wie SELECT Anweisungen, die den WLM Status erreicht haben. returning Um den WLM Status einer Abfrage zu ermitteln, sehen Sie sich die STATE Spalte in der STV_WLM_QUERY_STATE Systemtabelle an.

Abfragen, die nach Timeout nicht für das Hopping in Frage kommen, werden abgebrochen, wenn sie das WLM Timeout überschreiten. Die folgenden Abfragetypen kommen nicht für das Hopping bis zum Timeout in Frage: WLM

  • INSERT, und UPDATE Aussagen DELETE

  • UNLOADAussagen

  • Benutzerdefinierte Funktionen () UDFs

WLMTimeout, neu zugewiesene und neu gestartete Abfragen

Wenn für eine Abfrage Hopping ausgeführt, aber keine passende Warteschlange gefunden wird, wird die Abfrage abgebrochen.

Wenn eine Abfrage übersprungen wird und eine passende Warteschlange gefunden wird, wird WLM versucht, die Abfrage der neuen Warteschlange neu zuzuweisen. Wenn eine Abfrage nicht neu zugewiesen werden kann, wird sie in der neuen Wartschlange wie nachfolgend beschrieben neu gestartet.

Eine Abfrage wird nur dann neu zugewiesen, wenn alle folgenden Bedingungen zutreffen:

  • Es wird eine passende Warteschlange gefunden.

  • Die neue Warteschlange enthält ausreichend freie Slots zum Ausführen der Warteschlange. Eine Abfrage benötigt möglicherweise mehrere Slots, wenn der wlm_query_slot_count-Parameter einen höheren Wert als 1 enthält.

  • Die neue Warteschlange verfügt über mindestens soviel Arbeitsspeicher wie derzeit von der Abfrage verwendet.

Wenn die Abfrage neu zugewiesen wird, wird sie in der neuen Warteschlange weiter ausgeführt. Da Zwischenergebnisse beibehalten werden, gibt es nur minimale Auswirkungen auf die gesamte Ausführungszeit.

Wenn die Abfrage nicht neu zugewiesen werden kann, wird sie abgebrochen und in der neuen Warteschlange neu gestartet. Zwischenergebnisse werden gelöscht. Die Abfrage wird in die Warteschlange eingereiht und ausgeführt, sobald ausreichend Slots verfügbar sind.

QMRHop-Aktionen

In der folgenden Tabelle wird das Verhalten verschiedener Abfragetypen mit einer QMR Hop-Aktion zusammengefasst.

Abfragetyp Action
COPY Ausführung wird fortgesetzt
Wartungsoperationen Ausführung wird fortgesetzt
Benutzerdefinierte Funktionen () UDFs Ausführung wird fortgesetzt
UNLOAD Neuzuweisung oder Fortsetzung der Ausführung
INSERT, UPDATE und DELETE Neuzuweisung oder Fortsetzung der Ausführung
Schreibgeschützte Abfragen mit dem Status returning Neuzuweisung oder Fortsetzung der Ausführung
Schreibgeschützte Abfragen mit dem Status running Neuzuweisung oder Neustart
CREATETABLEALS (CTAS), SELECT INTO Neuzuweisung oder Neustart

Um herauszufinden, ob eine Abfrage, von der ein Sprung unterbrochen QMR wurde, neu zugewiesen, neu gestartet oder abgebrochen wurde, fragen Sie die STL_WLM_RULE_ACTION Systemprotokolltabelle ab.

QMRDie Hop-Aktion wurde neu zugewiesen und Abfragen neu gestartet

Wenn für eine Abfrage Hopping ausgeführt, aber keine passende Warteschlange gefunden wird, wird die Abfrage abgebrochen.

Wenn eine Abfrage übersprungen wird und eine passende Warteschlange gefunden wird, wird WLM versucht, die Abfrage der neuen Warteschlange neu zuzuweisen. Wenn eine Abfrage nicht neu zugewiesen werden kann, wird sie in der neuen Wartschlange neu gestartet oder in der ursprünglichen Warteschlange weiter ausgeführt, wie nachfolgend beschrieben.

Eine Abfrage wird nur dann neu zugewiesen, wenn alle folgenden Bedingungen zutreffen:

  • Es wird eine passende Warteschlange gefunden.

  • Die neue Warteschlange enthält ausreichend freie Slots zum Ausführen der Warteschlange. Eine Abfrage benötigt möglicherweise mehrere Slots, wenn der wlm_query_slot_count-Parameter einen höheren Wert als 1 enthält.

  • Die neue Warteschlange verfügt über mindestens soviel Arbeitsspeicher wie derzeit von der Abfrage verwendet.

Wenn die Abfrage neu zugewiesen wird, wird sie in der neuen Warteschlange weiter ausgeführt. Da Zwischenergebnisse beibehalten werden, gibt es nur minimale Auswirkungen auf die gesamte Ausführungszeit.

Wenn eine Abfrage nicht neu zugewiesen werden kann, wird sie entweder neu gestartet oder in der ursprünglichen Warteschlange weiter ausgeführt. Wenn die Abfrage neu gestartet wird, wird sie abgebrochen und in der neuen Warteschlange neu gestartet. Zwischenergebnisse werden gelöscht. Die Abfrage wartet in der Warteschlange und wird ausgeführt, sobald ausreichend Slots verfügbar sind.