Erhöhen der Warehouse-Größe

Unter diesem Thema wird erörtert, wie ein Warehouse-Eigentümer oder -Administrator die Größe eines Warehouses anpassen kann, um die Performance von Abfragen, die in dem Warehouse ausgeführt werden, zu verbessern.

Je größer ein Warehouse ist, desto mehr Computeressourcen stehen für die Ausführung einer Abfrage oder eines Satzes von Abfragen zur Verfügung. Daher stellt die Vergrößerung eines Warehouses eine unkomplizierte Strategie zur Verbesserung der Abfrage-Performance dar: Vergrößern Sie einfach das Warehouse, führen Sie die Abfrage erneut aus, und wenn die gesteigerte Performance die erhöhten Kosten für die Ausführung der Abfrage nicht rechtfertigt, setzen Sie das Warehouse auf seine ursprüngliche Größe zurück.

Die Verwendung eines größeren Warehouses wirkt sich am stärksten auf größere, komplexere Abfragen aus, während es die Performance von kleinen, einfachen Abfragen kaum verbessert.

Bemerkung

Sie müssen Zugriff auf die freigegebene SNOWFLAKE-Datenbank haben, um die unter diesem Thema beschriebenen Diagnoseabfragen ausführen zu können. Standardmäßig verfügt nur die Rolle ACCOUNTADMIN über die erforderlichen Berechtigungen zum Ausführen der Abfragen.

Ermitteln der Auslastung des Warehouses

Durch Untersuchen der Auslastung eines Warehouses lässt sich feststellen, ob eine Vergrößerung des Warehouses die Performance tatsächlich verbessern kann. Wenn ein Warehouse stark ausgelastet ist, konkurrieren möglicherweise gleichzeitige Abfragen um dessen Computeressourcen, sodass eine Vergrößerung des Warehouses möglicherweise nicht zu der erwarteten Performance-Steigerung führt. Wenn Sie jedoch feststellen können, dass die Auslastung gering ist, besteht eine gute Chance, dass eine Vergrößerung des Warehouses die Performance einer komplexen Abfrage verbessert.

Abfrage: Gesamte Warehouse-Auslastung

Diese Abfrage bietet einen Einblick in die Gesamtlast eines Warehouses hinsichtlich ausgeführter und in der Warteschlange befindlicher Abfragen. Diese Lastwerte repräsentieren das Verhältnis der Gesamtausführungszeit (in Sekunden) aller Abfragen mit einem bestimmten Status innerhalb eines bestimmten Intervalls zur Gesamtzeit (in Sekunden) für dieses Intervall.

Beispiel: Wenn die Gesamtzeit von 4 Abfragen in einem Intervall von 5 Minuten (300 Sekunden) 276 Sekunden betrug, dann ist der Abfragelastwert 276 / 300 = 0,92.

 SELECT TO_DATE(start_time) AS date,
  warehouse_name,
  SUM(avg_running) AS sum_running,
  SUM(avg_queued_load) AS sum_queued
FROM snowflake.account_usage.warehouse_load_history
WHERE TO_DATE(start_time) >= DATEADD(month,-1,CURRENT_TIMESTAMP())
GROUP BY 1,2
HAVING SUM(avg_queued_load) >0;
Copy

Hinweise zu Kosten

Ein größeres Warehouse verbraucht in einer gegebenen Zeitspanne mehr Credits:

Warehouse-Größe

Credits/Stunde

Credits/Sekunde

Anmerkungen

X-Small

1

0,0003

Standardgröße für Warehouses, die in Snowsight erstellt wurden und CREATE WAREHOUSE verwenden.

Small

2

0,0006

Medium

4

0,0011

Large

8

0,0022

X-Large

16

0,0044

Standardgröße für Warehouses, die über die klassische Weboberfläche erstellt werden.

2X-Large

32

0,0089

3X-Large

64

0,0178

4X-Large

128

0,0356

5X-Large

256

0,0711

In Amazon Web Services (AWS)- und Microsoft Azure-Regionen allgemein verfügbar und in Regionen von US-Regierungsbehörden als Vorschau verfügbar.

6X-Large

512

0,1422

In Amazon Web Services (AWS)- und Microsoft Azure-Regionen allgemein verfügbar und in Regionen von US-Regierungsbehörden als Vorschau verfügbar.

Wenn das Ausführen einer Abfrage in einem größeren Warehouse weniger Zeit in Anspruch nimmt, werden die höheren Kosten für das größere Warehouses möglicherweise durch die kürzere Ausführungszeit ausgeglichen. Wenn eine Abfrage beispielsweise doppelt so schnell auf dem nächstgrößeren Warehouse ausgeführt wird, bleiben die Gesamtkosten für die Ausführung der Abfrage gleich.

Tipp

Am besten ist es, die Anzahl der Personen zu begrenzen, die die Größe eines Warehouses anpassen können. Wenn Benutzer die Möglichkeit haben, ein Warehouse zu vergrößern, um den Anforderungen einer einzelnen Abfrage gerecht zu werden, kann dies zu unerwarteten Kosten führen, wenn sie vergessen, das Warehouse nach Ausführung der Abfrage wieder auf seine ursprüngliche Größe zurückzusetzen.

Erhöhen der Warehouse-Größe

Um die Größe eines Warehouses zu erhöhen, führen Sie einen der folgenden Schritte aus:

Snowsight:
  1. Melden Sie sich bei Snowsight an.

  2. Navigieren Sie zu Admin » Warehouses.

  3. Suchen Sie das Warehouse, und wählen Sie » Edit aus.

  4. Verwenden Sie das Dropdown-Menü Size, um die neue Warehouse-Größe auszuwählen.

  5. Wählen Sie Save Warehouse aus.

SQL:

Verwenden Sie den Befehl ALTER WAREHOUSE, um die Warehouse-Größe zu ändern. Beispiel:

ALTER WAREHOUSE my_wh SET WAREHOUSE_SIZE = large;
Copy