Übersicht zu Warehouses

Warehouses sind für Abfragen sowie für alle DML-Operationen erforderlich, einschließlich des Ladens von Daten in Tabellen. Neben der Definition seines Typs als Standard- oder Snowpark-optimiertes Warehouse wird ein Warehouse auch durch seine Größe sowie andere Eigenschaften definiert, die festgelegt werden können, um die Warehouse-Aktivitäten zu steuern und zu automatisieren.

Warehouses können jederzeit gestartet und gestoppt werden. Auch deren Größe kann jederzeit geändert werden, auch wenn das Warehouse aktiv ist, um so den Bedarf an Computeressourcen an die jeweils vom Warehouse ausgeführten Operationen anzupassen.

Unter diesem Thema:

Warehouse-Größe

Die Größe gibt an, wie viele Computeressourcen pro Cluster in einem Warehouse zur Verfügung stehen. Snowflake unterstützt die folgenden Warehouse-Größen:

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-Regionen allgemein verfügbar und in Regionen von US-Regierungsbehörden und in Azure-Regionen als Vorschau verfügbar.

6X-Large

512

0,1422

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

Größere Warehouse-Größen

Die größeren Warehouse-Größen 5X-Large und 6X-Large sind in allen AWS-Regionen (Amazon Web Services) allgemein verfügbar. Und in folgenden Regionen sind sie als Vorschau verfügbar:

  • US-Regierungsregionen (erfordert FIPS-Unterstützung auf ARM)

  • Azure-Regionen

Auswirkungen auf Credit-Nutzung und Abrechnung

Wie in der obigen Tabelle gezeigt, verdoppelte sich bei Erhöhung auf die nächste höhere Warehouse-Größe die Credit-Nutzung in jeder vollen Stunde, die das Warehouse aktiv ist. Beachten Sie jedoch, dass Snowflake die Abrechnung pro Sekunde (mit einem Minimum von 60 Sekunden bei jedem Start des Warehouses) verwendet, sodass für Warehouses nur die tatsächlich verbrauchten Credits in Rechnung gestellt werden.

Die Gesamtanzahl der in Rechnung gestellten Credits hängt davon ab, wie lange das Warehouse kontinuierlich ausgeführt wird: Zu Vergleichszwecken zeigt die folgende Tabelle die Abrechnungssummen für drei Warehouses unterschiedlicher Größe, basierend auf ihrer Laufzeit (auf ein Tausendstel eines Credit gerundete Beträge):

Laufzeit

Credits . (X-Small)

Credits . (X-Large)

Credits . (5X-Large)

0–60 Sekunden

0,017

0,267

4,268

61 Sekunden

0,017

0,271

4,336

2 Minuten

0,033

0,533

8,532

10 Minuten

0,167

2,667

42,668

1 Stunde

1,000

16,000

256,000

Bemerkung

  • Bei einem Multi-Cluster-Warehouse wird die Anzahl der abzurechnenden Credits auf Basis der Größe des Warehouses und der Anzahl der Cluster berechnet, die innerhalb des Zeitraums ausgeführt werden.

    Wenn zum Beispiel ein 3X-Large-Multi-Cluster-Warehouse 1 Cluster für eine volle Stunde und dann 2 Cluster für die nächste volle Stunde ausführt, beträgt die Gesamtanzahl der in Rechnung gestellten Credits 192 (d. h. 64 + 128).

    Multi-Cluster-Warehouses stehen nur in der Enterprise Edition zur Verfügung.

Auswirkungen auf das Laden von Daten

Wenn Sie die Größe eines Warehouse erhöhen, verbessert sich nicht immer die Leistung beim Laden von Daten. Die Leistung beim Laden von Daten wird mehr durch die Anzahl der geladenen Dateien (und die Größe jeder Datei) als durch die Größe des Warehouse beeinflusst.

Tipp

Wenn Sie nicht eine große Anzahl von Dateien gleichzeitig laden (d. h. Hunderte oder Tausende von Dateien), ist ein kleineres Warehouse (Small, Medium, Large) in der Regel ausreichend. Die Verwendung eines größeren Warehouse (X-Large, 2X-Large usw.) verbraucht mehr Credits und kann zu keiner Leistungssteigerung führen.

Weitere Tipps und Richtlinien zum Laden von Daten finden Sie unter Hinweise zum Laden von Daten.

Auswirkungen auf die Abfrageverarbeitung

Die Größe eines Warehouses kann sich auf die Zeit auswirken, die für die Ausführung von an das Warehouse übermittelten Abfragen erforderlich ist, insbesondere bei größeren und komplexeren Abfragen. Im Allgemeinen skaliert die Abfrageleistung mit der Größe des Warehouses, da größere Warehouses mehr Computeressourcen für die Verarbeitung von Abfragen zur Verfügung haben.

Wenn von einem Warehouse verarbeitete Abfragen nur langsam ausgeführt werden, können Sie die Größe des Warehouses jederzeit ändern, um weitere Computeressourcen bereitzustellen. Die zusätzlichen Ressourcen wirken sich nicht auf bereits in Ausführung befindliche Abfragen aus. Wenn die Server aber vollständig bereitgestellt sind, stehen sie für alle Abfragen zur Verfügung, die sich in der Warteschlange befinden oder neu übermittelt werden.

Tipp

Größer bedeutet bei kleinen Basisabfragen nicht unbedingt schneller.

Weitere Tipps und Richtlinien zu Warehouses finden Sie unter Hinweise zu Warehouses.

Automatisches Anhalten und Fortsetzen

Ein Warehouse kann so eingestellt werden, dass es je nach Aktivität automatisch angehalten oder fortgesetzt wird:

  • Standardmäßig ist das automatische Anhalten aktiviert. Snowflake hält das Warehouse automatisch an, wenn es den angegebenen Zeitraum lang inaktiv war.

  • Standardmäßig ist das automatische Fortsetzen aktiviert. Snowflake setzt die Ausführung des Warehouse automatisch fort, wenn eine Anweisung, die ein Warehouse erfordert, übermittelt wird und das Warehouse das aktuelle Warehouse der Sitzung ist.

Diese Eigenschaften können verwendet werden, um die Überwachung und Nutzung von Warehouses entsprechend der anfallenden Workload zu vereinfachen und zu automatisieren. Durch das automatische Anhalten wird sichergestellt, dass ein Warehouse nicht weiter ausgeführt wird (und Credits verbraucht), obwohl keine eingehenden Abfragen vorliegen. In ähnlicher Weise sorgt das automatische Fortsetzen dafür, dass das Warehouse sofort wieder startet, sobald es benötigt wird.

Bemerkung

Automatisches Anhalten und Fortsetzen gelten nur für das gesamte Warehouse und nicht für die einzelnen Cluster im Warehouse. Für ein Multi-Cluster-Warehouse gilt Folgendes:

  • Das automatische Anhalten erfolgt nur, wenn die minimale Anzahl von Clustern ausgeführt wird und einen angegebenen Zeitraum lang keine Aktivitäten stattfinden. Das Minimum ist normalerweise 1 (Cluster), könnte jedoch größer als 1 sein.

  • Das automatische Fortsetzen wird nur angewendet, wenn das gesamte Warehouse angehalten wurde (d. h. wenn keines der Cluster ausgeführt wird).

Abfrageverarbeitung und Parallelität

Die Anzahl der Abfragen, die ein Warehouse gleichzeitig verarbeiten kann, ist von der Größe und Komplexität der einzelnen Abfragen abhängig. Wenn Abfragen übermittelt werden, berechnet das Warehouse die für die Verarbeitung der Abfragen erforderlichen Computeressourcen und reserviert diese. Wenn das Warehouse nicht über genügend verbleibende Ressourcen zum Verarbeiten einer Abfrage verfügt, wird die Abfrage in die Warteschlange gestellt. Ausstehende Ressourcen werden verfügbar, sobald andere ausgeführte Abfragen abgeschlossen sind.

Snowflake bietet einige Parameter auf Objektebene, mit denen die Abfrageverarbeitung und die Parallelität gesteuert werden können:

Bemerkung

Wenn sich mehr Abfragen als gewünscht in der Warteschlange befinden, kann ein weiteres Warehouse erstellt und Abfragen können manuell an das neue Warehouse umgeleitet werden. Durch die Größenänderung eines Warehouse kann außerdem eine eingeschränkte Skalierung für die Parallelität der Abfragen und das Warteschlangenmanagement ermöglicht werden. Eine Größenänderung des Warehouse ist jedoch hauptsächlich dazu gedacht, die Abfrageleistung zu verbessern.

Um eine vollautomatische Skalierung für Parallelität zu ermöglichen, empfiehlt Snowflake die Verwendung von Multi-Cluster-Warehouses. Diese bieten im Wesentlichen die gleichen Vorteile wie die Erstellung eines zusätzlichen Warehouse gefolgt von der Umleitung der Abfragen, allerdings erfordern sie kein manuelles Eingreifen.

Multi-Cluster-Warehouses stehen nur in der Enterprise Edition zur Verfügung.

Warehouse-Nutzung in Sitzungen

Wenn eine Sitzung in Snowflake initiiert wird, ist der Sitzung standardmäßig kein Warehouse zugeordnet. Solange einer Sitzung kein Warehouse zugeordnet ist, können innerhalb der Sitzung auch keine Abfragen übermittelt werden.

Standard-Warehouse für Benutzer

Um das Abfragen unmittelbar nach dem Beginn einer Sitzung zu erleichtern, unterstützt Snowflake die Angabe eines Standard-Warehouse für jeden einzelnen Benutzer. Das Standard-Warehouse eines Benutzers wird als Warehouse für alle von diesem Benutzer initiierten Sitzungen verwendet.

Ein Standard-Warehouse kann beim Erstellen oder Ändern des Benutzers angegeben werden, entweder über die Weboberfläche oder mit CREATE USER/ALTER USER.

Standard-Warehouse für Clientdienstprogramme/-treiber/-konnektoren

Zusätzlich zu den Standard-Warehouses für Benutzer kann jeder der Snowflake-Clients (SnowSQL, JDBC-Treiber, ODBC-Treiber, Python-Konnektor usw.) ein eigenes Standard-Warehouse haben:

  • Zum Angeben des Standard-Warehouse unterstützt SnowSQL sowohl eine Konfigurationsdatei als auch eine Befehlszeilenoption.

  • Die Treiber und Konnektoren unterstützen die Angabe eines Standard-Warehouse als Verbindungsparameter, wenn eine Sitzung initiiert wird.

Weitere Informationen dazu finden Sie unter Mit Snowflake verbinden.

Vorrang für Warehouse-Standardeinstellungen

Wenn ein Benutzer eine Verbindung zu Snowflake herstellt und eine Sitzung startet, bestimmt Snowflake das Standard-Warehouse für die Sitzung in der folgenden Reihenfolge:

  1. Standard-Warehouse für den Benutzer,

    » overridden by…

  2. Standard-Warehouse in der Konfigurationsdatei für das Clientdienstprogramm (SnowSQL, JDBC-Treiber usw.), das für die Verbindung zu Snowflake verwendet wird (wenn der Client Konfigurationsdateien unterstützt),

    » overridden by…

  3. Standard-Warehouse, das in der Clientbefehlszeile oder über die an Snowflake übergebenen Treiber-/Konnektor-Parameter angegeben ist.

Bemerkung

Darüber hinaus kann das Standard-Warehouse einer Sitzung jederzeit geändert werden, indem der Befehl USE WAREHOUSE innerhalb der Sitzung ausgeführt wird.