Adaptive Compute

Adaptive Compute ist ein Computedienst, der darauf ausgerichtet ist, eine starke Leistung bei einfachen Operationen zu erzielen. Er ersetzt die feste Compute-Engine durch eine Workload-kompatible Compute-Engine, die sich automatisch an Ihre Abfragen anpasst. Das System entscheidet, wie die Ressourcen für die beste Leistung zugewiesen werden, sodass eine Optimierung der Infrastruktur nicht mehr erforderlich ist.

Durch die automatische Skalierung von Ressourcen und das intelligente Routing von Abfragen beseitigt Adaptive Compute die operative Komplexität, die mit der traditionellen Warehouse-Verwaltung verbunden ist: manuelle Cluster-Dimensionierung, störende Upgrades und aufwendige Leistungsoptimierung. Außerdem enthält es die neueste Hardware- und Leistungsverbesserungen, sodass native Warehouses deutlich mehr Abfragen zu ähnlichen Kosten wie Gen2 ausführen können.

Sie greifen auf Adaptive Compute über adaptive Warehouses zu. Mit einem adaptiven Warehouse müssen Sie Folgendes nicht mehr verwalten:

  • Warehouse-Größe (XSMALL, SMALL, MEDIUM und so weiter).

  • Einstellungen für das Multi-Cluster-Warehouse.

  • Einstellungen für den Abfragebeschleunigungsdienst.

  • Semantik für das Aussetzen und Fortsetzen.

Snowflake übernimmt dies automatisch, sodass sich Ihr Team auf die Arbeit mit den Daten konzentrieren kann, anstatt die zugrunde liegende Infrastruktur zu verwalten.

Alle Aufträge in allen adaptiven Warehouses eines Kontos werden an einen gemeinsamen Pool von Computeressourcen weitergeleitet. Dieser Pool ist nur Ihrem Konto zugeordnet: Er ist nicht für andere Konten in Ihrer Organisation freigegeben und wird nicht von anderen Warehouse-Typen wie Standard-Warehouses, interaktive Warehouses oder für Snowpark-optimierte Warehouses verwendet. Sie können immer noch mehrere adaptive Warehouses pro Konto haben, um Workloads mit ähnlichen Leistungs- und Kostenmerkmalen, Berichterstellung und Governance zu gruppieren.

Adaptive Warehouses verwenden ein abfragebasiertes Abrechnungsmodell, bei dem die Kosten für jede Abfrage von Faktoren wie der Menge der verwendeten Compute- und Softwareressourcen abhängen. Sie können immer noch über Kosten auf Warehouse-Ebene entscheiden, da alle Abfragen, die in einem adaptiven Warehouse ausgeführt werden, sich die Gesamtkosten für dieses Warehouse summieren. Die Kostensichtbarkeit auf Abfrageebene ist während der öffentlichen Vorschau nicht verfügbar, aber für die allgemeine Verfügbarkeit geplant.

Es stehen dieselben Kostenmanagement-Tools zur Verfügung:

Sie können neue Adaptive Warehouses erstellen oder bestehende Standard-Warehouses ohne Ausfallzeiten in adaptive Warehouses konvertieren. Durch die Umwandlung bestehender Warehouses können Sie Ihre bestehenden Chargeback- und Showback-Strukturen und die Trennung von Workloads (Analyse vs. ETL, teambasierte Warehouses usw.) beibehalten. So könnte beispielsweise die Finanzabteilung ein Warehouse und die Entwicklungsabteilung ein anderes verwenden.

Einschränkungen

Adaptive Warehouses erfordern Enterprise Edition (oder höher).

Während der öffentlichen Vorschau sind adaptive Warehouses in den folgenden Regionen verfügbar: US West 2 (Oregon),EU West 1 (Irland) undAP Northeast 1 (Tokio).

Die folgenden Konvertierungen werden ebenfalls noch nicht unterstützt:

  • Konvertieren in oder von einemX5Large- oder X6Large-Warehouse.

  • Konvertieren in oder von einem Snowpark-optimierten oder interaktiven Warehouse.

Verwalten von Leistung und Durchsatz

Adaptive Warehouses bieten zwei primäre Eigenschaften zur Steuerung von Leistung und Durchsatz:

  • MAX_QUERY_PERFORMANCE_LEVEL

  • QUERY_THROUGHPUT_MULTIPLIER

MAX_QUERY_PERFORMANCE_LEVEL

MAX_QUERY_PERFORMANCE_LEVEL drückt die Obergrenze der Leistung für jede einzelne Abfrage aus. Der Wert wird auf Warehouse-Ebene festgelegt und dient als Mechanismus, um dem System mitzuteilen, dass es die Ausführung von Abfragen „beschleunigen“ oder „verlangsamen“ soll.

Die Eigenschaft wird in Einheiten von T-Shirt-Größen ausgedrückt (XSMALL bis X4LARGE). Jede T-Shirt-Größe bietet ein ähnliches oder besseres Leistungsniveau als die entsprechende klassische Warehouse-Größe.

Typ:

{ XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE }

Standard:

XLARGE

Semantik:

  • Größere Werte bieten mehr Compute-Headroom pro Anweisung, verbessern die Latenz bei großen, komplexen Abfragen und erhöhen die potenziellen sofortigen Ausgaben für eine einzelne Anweisung.

  • Niedrigere Werte schränken die Ausgaben pro Anweisung ein, können aber große Abfragen verlangsamen und gleichzeitig mehr Headroom für Parallelität lassen.

  • Dieser Wert ist keiner bestimmten zugrunde liegenden Computekonfiguration zugeordnet. Er gibt nur ein Leistungsniveau an: Snowflake ermittelt die für jede Abfrage tatsächlich benötigten Ressourcen.

Verhalten:

Adaptive Compute bestimmt auf Basis des Abfrageplans die für eine Abfrage optimalen Computeressourcen. Wenn der Service feststellt, dass der Computebedarf für optimale Leistung größer ist als MAX_QUERY_PERFORMANCE_LEVEL, begrenzt Snowflake ihn auf MAX_QUERY_PERFORMANCE_LEVEL. Bei kleineren Abfragen wählt Snowflake Computeressourcen für optimale Leistung unterhalb von MAX_QUERY_PERFORMANCE_LEVEL passend zu den Anforderungen der jeweiligen Abfrage.

Anleitung:

Legen Sie MAX_QUERY_PERFORMANCE_LEVEL auf die höchste Abfrageleistung fest, die Sie für Ihre größten Abfragen als angemessen erachten. Verwenden Sie:doc:Budgets </user-guide/budgets> und Ressourcenmonitore, um die Gesamtausgaben über einen bestimmten Zeitraum zu verwalten.

QUERY_THROUGHPUT_MULTIPLIER

QUERY_THROUGHPUT_MULTIPLIER drückt den Multiplikator aus, der zur Berechnung des maximalen Durchsatzes zu einem bestimmten Zeitpunkt verwendet wird. Anstatt einen absoluten maximalen Durchsatz anzugeben, geben Sie einen ganzzahligen Skalierungsfaktor für das vom System berechnete Minimum an.

Um N-Anweisungen parallel am MAX_QUERY_PERFORMANCE_LEVEL auszuführen, setzen Sie den Multiplikator auf N. Da MAX_QUERY_PERFORMANCE_LEVEL stellt die obere Grenze dar, diese Einstellung unterstützt typischerweise mehr als N-Abfragen, die parallel ausgeführt werden, da viele Abfragen weniger als das Maximum benötigen.

Typ:

Nicht negative Ganzzahl

Standard:

2

Das Festlegen dieses Werts auf 0 bedeutet unbegrenzten Durchsatz: Das Warehouse kann ohne eine Begrenzung so viel Kapazität nutzen, wie verfügbar ist.

Semantik:

Bei einem positiven Wert wird der maximale Durchsatz wie folgt berechnet:

MAX_THROUGHPUT = QUERY_THROUGHPUT_MULTIPLIER * MINIMUM

Dabei ist MINIMUM eine vom System berechnete Basiskapazität für das MAX_QUERY_PERFORMANCE_LEVEL, das für das Warehouse festgelegt ist.

  • Dient als Skalierungsfaktor für diese vom System berechnete Basiskapazität.

  • Höhere Werte erhöhen den Spitzendurchsatz (mehr gleichzeitige Arbeit) und reduzieren Wartezeiten, können jedoch zu höheren kurzfristigen Kosten führen.

  • Niedrigere Werte schränken den Durchsatz ein und verringern das Risiko von plötzlichen Ausgabenspitzen, können aber zu Wartezeiten führen.

Verhalten:

Snowflake berechnet eine interne Basiskapazitätsrate für das Warehouse auf Grundlage von MAX_QUERY_PERFORMANCE_LEVEL, Migrationsverlauf (klassische Größe, maximale Anzahl der Cluster, QAS-Skalierungsfaktor) und anderen Parametern für die Systemoptimierung.

QUERY_THROUGHPUT_MULTIPLIER wirkt als Multiplikator für die Basiskapazität und legt fest, wie viele Abfragen parallel ausgeführt werden können. Wenn das System unter diesem Ziel liegt, wird die Ausführung der Abfrage zugelassen. Wenn das Ziel erreicht ist, wird die Abfrage in die Warteschlange gestellt.

Anleitung:

Wenn Sie regelmäßig Wartezeiten beim Laden beobachten und einen höheren Durchsatz wünschen, erhöhen Sie den Wert für QUERY_THROUGHPUT_MULTIPLIER. Wenn Ihnen die Begrenzung kurzfristiger Kosten wichtiger ist, reduzieren Sie den Wert für QUERY_THROUGHPUT_MULTIPLIER und nutzen Sie Budgets und Ressourcenmonitore für eine absolute Kostenkontrolle.

Erstellen eines adaptiven Warehouses

Sie können ein adaptives Warehouse mit Snowsight, SQL oder Cortex Code erstellen.

So erstellen Sie ein adaptives Warehouse mit Snowsight:

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie im Navigationsmenü die Option Compute » Warehouses aus.

  3. Wählen Sie +Warehouse aus.

  4. Wählen Sie in der Dropdown-Liste Type die Option Adaptive aus.

  5. Optional können Sie Advanced auswählen und Folgendes konfigurieren:

    • Maximum query performance level (Standard: XLarge)

    • Query throughput multiplier (Standard: 2)

Das Warehouse wird erstellt und kann normal verwendet werden.

Konvertieren eines Standard-Warehouses in ein adaptives Warehouse

Sie können ein Standard-Warehouse mit Snowsight, SQL oder Cortex Code in ein adaptives Warehouse konvertieren.

Bemerkung

Die Konvertierung eines Warehouse in oder von einem adaptiven Warehouse ist ein Online-Vorgang, was bedeutet, dass sie keine Ausfallzeiten verursacht. Durch diese Konvertierung wird das Warehouse nicht deaktiviert bzw. keine der in Ausführung befindlichen Abfragen unterbrochen.

Wenn Sie ein Warehouse in ein adaptives Warehouse oder zurück in ein Standard-Warehouse konvertieren, werden bestehende Abfragen, die bisher in diesem Warehouse ausgeführt wurden, unter Verwendung der vorhandenen Computeressourcen weiter ausgeführt. Gleichzeitig führt das Warehouse alle neuen Abfragen für die Computeressourcen des neuen Warehouse-Typs aus. Während die vorhandenen Abfragen ausgeführt werden, werden Ihnen beide Computeressourcen in Rechnung gestellt. Wenn Sie das Warehouse wieder in ein Standard-Warehouse konvertieren, wird das Warehouse während dieses Zeitraums nicht automatisch ausgesetzt, unabhängig davon, ob Abfragen die neuen Computeressourcen nutzen oder nicht. Wenn die vorhandenen Abfragen abgeschlossen sind, verlagert sich der Workload vollständig auf die neuen Computeressourcen.

So konvertieren Sie mit Snowsight ein Standard-Warehouse in ein adaptives Warehouse:

  1. Melden Sie sich bei Snowsight an.

  2. Wählen Sie im Navigationsmenü Compute » Warehouses » <warehouse_identifier> aus.

  3. Wählen Sie das Mehr-Menü () » Convert to Adaptive aus.

  4. Bestätigen Sie den Vorgang.

Eigenschaftsverhalten während der Konvertierung

Wenn Sie ein Standard-Warehouse in ein angepasstes Warehouse konvertieren, müssen Sie nur die Eigenschaft WAREHOUSE_TYPE ändern. Snowflake berechnet automatisch die geeigneten Werte für MAX_QUERY_PERFORMANCE_LEVEL und QUERY_THROUGHPUT_MULTIPLIER.

Das System leitet diese aus der bestehenden Konfiguration des Standard-Warehouses ab:

  • Warehouse-Größe.

  • MAX_CLUSTER_COUNT (für Multi-Cluster-Warehouses).

  • QAS-Skalierungsfaktor.

  • Warehouse-Generierung (Hardware-/Software-Generierung)

Ziel ist es, die Leistung im Vergleich zum ursprünglichen Standard-Warehouse beizubehalten oder zu verbessern, genügend Kapazität für typische Lastspitzen bereitzustellen und eine manuelle Optimierung beim Wechsel zu einem adaptiven Warehouse zu vermeiden.

Nach der Konvertierung können Sie optional MAX_QUERY_PERFORMANCE_LEVEL und QUERY_THROUGHPUT_MULTIPLIER unter Verwendung von ALTERWAREHOUSE überschreiben. Eigenschaften für Standard-Warehouses wie WAREHOUSE_SIZE undMAX_CLUSTER_COUNT gelten nach der Konvertierung in ein adaptives Warehouse nicht mehr (und umgekehrt).

Abrechnung und Preise

Adaptive Warehouses verwenden ein abfragebasiertes Abrechnungsmodell. Die Kosten für jede Abfrage hängen von Faktoren wie der Menge der verwendeten Compute- und Softwareressourcen ab, einschließlich der Clustergrößen und der zusätzlichen Kapazität, die von Funktionen wie dem Query Acceleration Service (QAS). Die Erstellung eines adaptiven Warehouses wird Ihnen nicht in Rechnung gestellt: Gebühren fallen ab der Ausführung der ersten Abfrage an.

Alle Abfragen, die in einem adaptiven Warehouse ausgeführt werden, summieren sich zu den Gesamtkosten für dieses Warehouse, sodass Sie bestehende Chargeback- und Showback-Strukturen weiter nutzen können. Die Nutzung von adaptiven Warehouses wird als Teil von COMPUTE in USAGE-Anweisungen mit Credits für virtuelle Warehouses gemeldet.

Sie kontrollieren die Leistung und die Ausgaben vor allem durch folgende Werte:

  • MAX_QUERY_PERFORMANCE_LEVEL: Begrenzt das Leistungsniveau pro Anweisung.

  • QUERY_THROUGHPUT_MULTIPLIER: Begrenzt die gesamte Burst-Kapazität zu jedem Zeitpunkt.

  • Budgets und Ressourcenmonitore: Verwalten der Gesamtausgaben im Zeitverlauf auf Konto- oder Warehouse-Ebene.

Typische Konfigurationsmuster:

Workload-Typ

Konfiguration

Latenzsensitive, kritische Workloads

Höherer Wert für MAX_QUERY_PERFORMANCE_LEVEL (XLARGE oder höher). Höherer Wert für QUERY_THROUGHPUT_MULTIPLIER. Ressourcenmonitore oder Budgets, um die Gesamtausgaben im Plan zu halten.

Kostensensitive Workloads mit hohem Durchsatz

Mittlerer Wert für MAX_QUERY_PERFORMANCE_LEVEL (MEDIUM oderLARGE). Mittlerer Wert für QUERY_THROUGHPUT_MULTIPLIER, um den Durchsatz im Vergleich zu Ausgabenspitzen auszugleichen.

Workloads mit engem Budget

Niedriger Wert für MAX_QUERY_PERFORMANCE_LEVEL. Niedriger Wert für QUERY_THROUGHPUT_MULTIPLIER. Strenge Angaben für Budgets und Ressourcenmonitore.

Sie können ACCOUNT_USAGE-Ansichten verwenden, um detaillierte Daten zum Credit-Verbrauch für ein bestimmtes angepasstes Warehouse abzurufen. Verwenden Sie Ansicht WAREHOUSE_METERING_HISTORY, um den Credit-Verbrauch für Ihr Warehouse anzuzeigen. Eine vollständige Liste der relevanten Ansichten finden Sie unter Account Usage-Ansichten.

Weitere Informationen zu Computekosten finden Sie unter Erläuterungen zu den Computekosten.

SQL-Referenz

CREATE ADAPTIVE WAREHOUSE

Erstellt ein neues adaptives virtuelles Warehouse.

CREATE [ OR REPLACE ] ADAPTIVE WAREHOUSE [ IF NOT EXISTS ] <name>
  [ [ WITH ] adaptiveProperties ]
  [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
  [ objectParams ]

adaptiveProperties ::=
  COMMENT = '<string_literal>'
  MAX_QUERY_PERFORMANCE_LEVEL = { XSMALL | SMALL | MEDIUM | LARGE
                                | XLARGE | XXLARGE | XXXLARGE | X4LARGE }
  QUERY_THROUGHPUT_MULTIPLIER = <integer>

objectParams ::=
  STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num>
  STATEMENT_TIMEOUT_IN_SECONDS = <num>

Sie können auch ein adaptives Warehouse mit der CREATE WAREHOUSE-Standardsyntax mit WAREHOUSE_TYPE = 'ADAPTIVE' erstellen:

CREATE [ OR REPLACE ] WAREHOUSE [ IF NOT EXISTS ] <name>
  [ [ WITH ] WAREHOUSE_TYPE = 'ADAPTIVE'
    [ adaptiveProperties ]
  ]
  [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , ... ] ) ]
  [ objectParams ]

Bemerkung

Eigenschaften von Standard-Warehouses, wie WAREHOUSE_SIZE, MIN_CLUSTER_COUNT, MAX_CLUSTER_COUNT und SCALING_POLICY, können nicht für ein adaptives Warehouse festgelegt werden. Gleichermaßen können Eigenschaften für adaptive Warehouses, wie MAX_QUERY_PERFORMANCE_LEVEL und QUERY_THROUGHPUT_MULTIPLIER, nicht für ein Standard-Warehouse festgelegt werden.

Erforderliche Parameter

name

Bezeichner für das adaptive virtuelle Warehouse. Dieser muss für Ihr Konto eindeutig sein. Muss mit einem Buchstaben beginnen und darf keine Leerzeichen oder Sonderzeichen enthalten, es sei denn, er ist in doppelte Anführungszeichen eingeschlossen. Weitere Informationen dazu finden Sie unter Objektbezeichner.

Optionale Eigenschaften

MAX_QUERY_PERFORMANCE_LEVEL = { XSMALL | SMALL | MEDIUM | LARGE | XLARGE | XXLARGE | XXXLARGE | X4LARGE }

Obere Grenze für das Leistungsniveau für eine einzelne Anweisung, ausgedrückt als T-Shirt-Größe. Standard: XLARGE.

Snowflake wählt auf der Grundlage von Anweisungsmerkmalen ein Leistungsniveau bis zu dieser Grenze aus. Kleinere Anweisungen können auf einem niedrigeren Leistungsniveau ausgeführt werden, um die Ausgaben zu reduzieren. Wählen Sie einen Wert, der für Ihre größten Abfragen geeignet ist.

Weitere Details dazu finden Sie unter Verwalten von Leistung und Durchsatz.

QUERY_THROUGHPUT_MULTIPLIER = <integer>

Multiplikator, der verwendet wird, um den maximalen Durchsatz zu einem bestimmten Zeitpunkt zu berechnen, ausgedrückt als nicht-negativer, ganzzahliger Skalierungsfaktor relativ zum systemseitig berechneten Minimum. Höhere Werte erhöhen den Spitzendurchsatz (mehr gleichzeitige Arbeit) und reduzieren Wartezeiten, können jedoch zu höheren kurzfristigen Kosten führen. Niedrigere Werte schränken den Durchsatz ein und verringern das Risiko von plötzlichen Ausgabenspitzen, können aber zu Wartezeiten führen. Der Wert 0 steht für unbegrenzten Durchsatz.

Standard: 2.

Weitere Details dazu finden Sie unter Verwalten von Leistung und Durchsatz.

STATEMENT_QUEUED_TIMEOUT_IN_SECONDS = <num>

Maximale Zeit in Sekunden, die eine SQL-Anweisung für ein Warehouse in der Warteschlange verbleiben kann, bevor Snowflake sie abbricht. Weitere Informationen dazu finden Sie unter Parameter.

STATEMENT_TIMEOUT_IN_SECONDS = <num>

Maximale Zeit in Sekunden, die eine aktive SQL-Anweisung ausgeführt werden kann, bevor Snowflake sie abbricht. Weitere Informationen dazu finden Sie unter Parameter.

Beispiele

Erstellen eines adaptiven Warehouses mit Standardeinstellungen:

CREATE ADAPTIVE WAREHOUSE my_adaptive_wh;

Erstellen mit einem bestimmten Leistungsniveau:

CREATE ADAPTIVE WAREHOUSE my_adaptive_wh
  WITH MAX_QUERY_PERFORMANCE_LEVEL = XXLARGE;

Erstellen mit beiden Eigenschaften:

CREATE ADAPTIVE WAREHOUSE my_adaptive_wh
  WITH MAX_QUERY_PERFORMANCE_LEVEL = MEDIUM
       QUERY_THROUGHPUT_MULTIPLIER = 6;

Erstellen mit der CREATE WAREHOUSE-Standardsyntax:

CREATE WAREHOUSE my_adaptive_wh
  WITH WAREHOUSE_TYPE = 'ADAPTIVE'
       MAX_QUERY_PERFORMANCE_LEVEL = LARGE
       QUERY_THROUGHPUT_MULTIPLIER = 3;

ALTER WAREHOUSE (adaptiv)

Sie können ALTER WAREHOUSE verwenden, um ein Standard-Warehouse in ein adaptives Warehouse zu konvertieren, die Eigenschaften des adaptiven Warehouses zu ändern oder ein adaptives Warehouse wieder in ein Standard-Warehouse zu konvertieren.

Konvertieren eines Standard-Warehouses in ein adaptives Warehouse:

ALTER WAREHOUSE my_warehouse SET WAREHOUSE_TYPE = 'ADAPTIVE';

Ändern der Eigenschaften eines adaptiven Warehouses nach dem Erstellen oder Konvertieren:

ALTER WAREHOUSE my_adaptive_wh SET
  MAX_QUERY_PERFORMANCE_LEVEL = XLARGE
  QUERY_THROUGHPUT_MULTIPLIER = 8;

Konvertieren eines adaptiven Warehouses zurück in ein Standard-Warehouse:

ALTER WAREHOUSE my_warehouse SET WAREHOUSE_TYPE = 'STANDARD';

SHOW WAREHOUSES

Mit dem Feature für adaptive Warehouses werden neue Spalten in den Befehl SHOW WAREHOUSES aufgenommen. Eigenschaften, die nicht für adaptive Warehouses gelten, werden als NULL angezeigt.

Zu den für adaptive Warehouses spezifischen Spalten gehören:

Spaltenname

Beschreibung

STATE

Eine der folgenden Optionen:

  • ENABLED (aktiv/wird ausgeführt)

  • DISABLED (inaktiv)

MAX_QUERY_PERFORMANCE_LEVEL

Ausgedrückt als T-Shirt-Größe. Obere Grenze für das Leistungsniveau pro Anweisung.

QUERY_THROUGHPUT_MULTIPLIER

Ganzzahliger Skalierungsfaktor, der steuert, wie viel Kapazität das Warehouse zu einem bestimmten Zeitpunkt nutzen kann.

DISABLED_REASONS

Ein oder mehrere Gründe, warum das adaptive Warehouse deaktiviert wurde.

Account Usage-Ansichten

Die folgenden ACCOUNT_USAGE-Ansichten sind für angepasste Warehouses verfügbar:

Bemerkung

Für adaptive Warehouses ist die QAS-Nutzung in den Compute-Credits enthalten und wird nicht als separate Credit-Spalte angezeigt. Verwenden Sie Ansicht WAREHOUSE_LOAD_HISTORY, um das Verhalten in der Warteschlange zu überwachen und zu verstehen, ob eine Anpassung von MAX_QUERY_PERFORMANCE_LEVEL oder QUERY_THROUGHPUT_MULTIPLIER erforderlich ist.

Die folgende Beispielabfrage erstellt eine Zeitreihe von Leistungsdaten auf Warehouse-Ebene für jedes Warehouse, das mindestens eine Abfrage im ADAPTIVE-Status innerhalb eines bestimmten Lookback-Zeitraums ausgeführt hat.

WITH adaptive_whs AS (
  SELECT DISTINCT warehouse_name
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY q
  WHERE q.warehouse_size = 'ADAPTIVE'
    AND q.start_time >= DATEADD(day, -7, CURRENT_DATE())
)
SELECT
  q.end_time::DATE AS ds,
  q.warehouse_name,
  IFF(q.warehouse_size = 'ADAPTIVE', 'ADAPTIVE', 'STANDARD') AS warehouse_type,
  AVG(q.total_elapsed_time) AS avg_query_time,
  AVG(q.execution_time) AS avg_exec_time,
  AVG(q.queued_overload_time) AS avg_queued_overload_time,
  AVG(q.queued_provisioning_time) AS avg_queued_provisioning_time
FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY q
WHERE q.start_time >= DATEADD(day, -7, CURRENT_DATE())
  AND q.warehouse_name IN (SELECT warehouse_name FROM adaptive_whs)
GROUP BY ALL;

Massenmigration von Standard-Warehouses zu adaptiven Warehouses

Wenn Sie viele Standard-Warehouses gleichzeitig zu adaptiven Warehouses migrieren möchten, können Sie die SYSTEM$BULK_UPDATE_WH-Funktion verwenden.

Parameter für die SYSTEM$BULK_UPDATE_WH-Funktion

Parameter

Beschreibung

Zulässige Werte

property_name

Die zu aktualisierende Warehouse-Eigenschaft.

'WAREHOUSE_TYPE'

new_value

Neuer Wert für die Eigenschaft.

'ADAPTIVE' oder 'STANDARD'

property_filter

JSON-Filter nach Warehouse-Eigenschaften (z. B. Namensmuster, Größe). Warehouses, die allen Filtern entsprechen, werden für die Aktualisierung berücksichtigt.

'{"name": "TEST.*"}'

tag_filter

JSON-Filter nach Tags. Warehouses müssen mit allen angegebenen Tags übereinstimmen, um ausgewählt zu werden.

'{"cost-centre": "sales"}'

execution_mode

Operationsmodus: Ausführen der Aktualisierung oder des Testlaufs.

'ACTIVE', 'DRY_RUN'

Vorgeschlagene Verwendung:

  1. Führen Sie zunächst einen Testlauf durch, und überprüfen Sie die Ergebnisse:

    SELECT SYSTEM$BULK_UPDATE_WH(
      'WAREHOUSE_TYPE',
      'ADAPTIVE',
      '{"WAREHOUSE_TYPE": "STANDARD"}',
      'DRY_RUN'
    );
    
  2. Überprüfen Sie die Ausgabe, und passen Sie die Filter bei Bedarf an.

  3. Nachdem Sie den Testlauf überprüft haben, rufen Sie die Funktion erneut im aktiven Modus auf:

    SELECT SYSTEM$BULK_UPDATE_WH(
      'WAREHOUSE_TYPE',
      'ADAPTIVE',
      '{"WAREHOUSE_TYPE": "STANDARD"}',
      'ACTIVE'
    );
    
  4. Überprüfen Sie die Ergebnisse und etwaige Fehler sorgfältig, bevor Sie den Migrationsbereich erneut testen oder erweitern.