Grundlegendes zur Nutzung von Snowflake Virtual Warehouse, Storage und Cloud Services

Snowflake bietet beispiellose Flexibilität und Skalierbarkeit im Data Warehousing. Ziel der Snowflake-Preisgestaltung ist es, die Verwendung dieser Funktionen auf einfachste Weise kostengünstig zu ermöglichen.

Die Snowflake-Cloudarchitektur trennt das Data Warehousing in drei unterschiedliche Funktionsbereiche: Computeressourcen (implementiert als virtuelle Warehouses), Datenspeicherung und Clouddienste. Die mit der Nutzung von Snowflake verbundenen Kosten basieren auf Ihrer Nutzung jeder dieser Funktionen.

Unter diesem Thema:

Credit-Nutzung für virtuelle Warehouses

Ein virtuelles Warehouse besteht aus einem oder mehreren Computeclustern, mit denen Kunden Abfragen ausführen, Daten laden und andere DML-Operationen ausführen können. Snowflake-Credits werden verwendet, um die von jedem virtuellen Warehouse genutzte Verarbeitungszeit zu bezahlen.

Snowflake-Credits werden basierend auf der von Ihnen verwendeten Anzahl virtueller Warehouses, der Dauer ihrer Nutzung und ihrer Größe berechnet.

Warehouses gibt es in acht Größen. Die Größe gibt die Anzahl der Server pro Cluster im Warehouse an. Es besteht eine Eins-zu-Eins-Entsprechung zwischen der Anzahl der Server in einem Warehouse-Cluster und der Anzahl der in Rechnung gestellten Credits für jede volle Stunde, die das Warehouse läuft:

X-Small

X

M

L

X-Large

2X-Large

3X-Large

4X-Large

1

2

4

8

16

32

64

128

Wichtig

  • Warehouses wird die Credit-Nutzung nur in Rechnung gestellt, wenn sie laufen. Wenn ein Warehouse angehalten wird, fällt keine Credit-Nutzung an.

  • Die hier angegebenen Credit-Beträge gelten für eine volle Stunde Nutzung; die Credits werden jedoch pro Sekunde abgerechnet, mit einem Minimum von 60 Sekunden (d. h. 1 Minute):

    • Jedes Mal, wenn ein Warehouse gestartet oder auf eine größere Größe umgestellt wird, wird dem Warehouse eine Nutzungsdauer von 1 Minute auf der Grundlage des oben angegebenen Stundensatzes in Rechnung gestellt.

    • Nach 1 Minute erfolgt die Nachberechnung pro Sekunde.

    • Das Stoppen und Neustarten eines Warehouse innerhalb der ersten Minute ändert nichts an dem fakturierten Betrag: Die Mindestabrechnungsgebühr ist 1 Minute.

    • Wenn ein Warehouse vergrößert wird, werden nur für die zusätzlichen Server, die bereitgestellt werden, Credits in Rechnung gestellt. Wenn Sie beispielsweise von S (2) auf M (4) wechseln, werden Gebühren für 2 Credits im Wert von 1 Minute berechnet.

Weitere Details dazu finden Sie unter Übersicht zu Warehouses und Hinweise zu Warehouses.

Anzeigen der Credit-Nutzung für Warehouses Ihres Kontos

Benutzer mit der Rolle ACCOUNTADMIN können die Snowflake-Weboberfläche oder SQL verwenden, um die monatliche und tägliche Credit-Nutzung für alle Warehouses in Ihrem Konto anzuzeigen.

Um die Verwendung von Warehouse-Credits für Ihr Konto anzuzeigen:

Weboberfläche

Klicken Sie auf Account Account tab » Billing & Usage.

SQL

Führen Sie eine Abfrage auf einer der folgenden Optionen durch:

Credit-Nutzung für Clouddienste

Die Clouddienstschicht ist eine Sammlung von Services, die die Aktivitäten in Snowflake koordinieren. Diese Services verbinden alle Komponenten von Snowflake miteinander, um Benutzeranforderungen von der Anmeldung bis zur Abfrageverarbeitung zu erfüllen. Die Clouddienstschicht wird auch auf Computeinstanzen ausgeführt, die vom Cloudanbieter über Snowflake bereitgestellt werden.

Folgende Services gehören zu dieser Schicht:

  • Authentifizierung

  • Infrastrukturverwaltung

  • Metadatenverwaltung

  • Abfrageanalyse und -optimierung

  • Zugriffssteuerung

Ähnlich wie die Nutzung des virtuellen Warehouse werden Snowflake-Credits verwendet, um für die Nutzung der Clouddienste zu bezahlen, die 10 % der täglichen Nutzung der Computeressourcen übersteigt.

Die Nutzung von Clouddiensten wird nur berechnet, wenn der tägliche Verbrauch von Clouddiensten 10 % des täglichen Verbrauchs der Computeressourcen überschreitet. Die Gebühr wird täglich berechnet (in der Zeitzone UTC). Auf diese Weise wird sichergestellt, dass die 10 %-Anpassung jeden Tag genau zum Creditpreis für diesen Tag angewendet wird.

Erläuterung der Abrechnung für die Nutzung der Clouddienste

  • Die 10 %-Anpassung für Clouddienste wird täglich (in der UTC-Zeitzone) durch Multiplizieren der Nutzung der Computeressourcen mit 10 % berechnet.

  • Die Anpassung des monatlichen Nutzungsnachweises entspricht der Summe dieser täglichen Berechnungen.

  • Wenn der Verbrauch durch Clouddienste an einem bestimmten Tag weniger als 10 % der Compute-Credits beträgt, ist die Anpassung für diesen Tag gleich der vom Kunden genutzten Clouddienste. Die tägliche Anpassung überschreitet niemals die tatsächliche Nutzung von Clouddiensten für diesen Tag. Daher kann die monatliche Gesamtanpassung erheblich unter 10 % liegen.

Beispiel:

Datum

Compute-Credits

Credits Clouddienste

Credits-Anpassung für enthaltene Clouddienste (Minimum an Clouddiensten oder 10 % der Compute-Nutzung)

Abgerechnete Credits (die Summe aus Compute, Clouddiensten und Anpassung)

Nov 1

100

20

-10

110

Nov 2

120

10

-10

120

Nov 3

80

5

-5

80

Nov 4

100

13

-10

103

Gesamt

400

48

-35

413

Anzeigen der Credit-Nutzung durch Clouddienste

Benutzer mit der Rolle ACCOUNTADMIN können die Snowflake-Weboberfläche oder SQL verwenden, um die tägliche und monatliche Credit-Nutzung von Clouddiensten nach Warehouse und Auftrag anzuzeigen.

So zeigen Sie die Credit-Nutzung durch Clouddienste für Ihr Konto an:

Weboberfläche

Klicken Sie auf Account Account tab » Billing & Usage.

SQL

ACCOUNT_USAGE:

INFORMATION_SCHEMA:

Bemerkung

Die Anpassung für integrierte Clouddienste (bis zu 10 % der Berechnung) wird nur auf der monatlichen Nutzungserklärung und in der METERING_DAILY_HISTORY-Ansicht angezeigt. Die in den UI- und WAREHOUSE_METERING_HISTORY-Ansichten angezeigten Informationen berücksichtigen diese Anpassung nicht und können daher höher sein als Ihre tatsächlicher Credit-Verbrauch.

Ermitteln der Quelle für die Nutzung Ihrer Clouddienste

Verwenden Sie die folgenden Abfragen, um die Nutzung Ihrer Clouddienste zu überprüfen.

Abfrageverlauf

Beispiel: Suchen von Abfragen nach Typ, die die meisten Credits für Clouddienste verbrauchen

-- The current role must have access to the account usage share
use schema snowflake.account_usage;

select query_type, sum(credits_used_cloud_services) cs_credits, count(1) num_queries
from query_history
where true
and start_time >= timestampadd(day, -1, current_timestamp)
group by 1
order by 2 desc
limit 10;

Beispiel: Suchen von Abfragen eines bestimmten Typs, die die meisten Clouddienste-Credits verbrauchen

-- The current role must have access to the account usage share
use schema snowflake.account_usage;

select *
from query_history
where true
  and start_time >= timestampadd(day, -1, current_timestamp)
  and query_type = 'COPY'
order by credits_used_cloud_services desc
limit 10;

Beispiel: Sortieren nach verschiedenen Komponenten der Nutzung von Clouddiensten

-- The current role must have access to the account usage share
use schema snowflake.account_usage;

select *
from query_history
where true
  and start_time >= timestampadd(minute, -60, current_timestamp)
  and query_type = 'COPY'   --- optional
order by compilation_time desc,
               execution_time desc,
               list_external_files_time desc,
               queued_overload_time desc,
               credits_used_cloud_services desc
limit 10;

Warehouse-Historie

Beispiel: Suchen von Warehouses, die die meisten Clouddienste-Credits verbrauchen

-- The current role must have access to the account usage share
use schema snowflake.account_usage;

select warehouse_name,
       sum(credits_used_cloud_services) credits_used_cloud_services,
       sum(credits_used_compute) credits_used_compute,
       sum(credits_used) credits_used
from warehouse_metering_history
where true
  and start_time >= timestampadd(day, -1, current_timestamp)
group by 1
order by 2 desc
limit 10;

Datenspeichernutzung

Der Datenspeicher wird monatlich berechnet, basierend auf der durchschnittlichen Anzahl der Bytes auf der Festplatte für alle Daten, die jeden Tag in Ihrem Snowflake-Konto gespeichert sind, einschließlich:

  • Dateien, die an Snowflake-Speicherorten (d. h. Benutzer- und Tabellen-Stagingbereiche oder intern benannte Stagingbereiche) zum Laden/Entladen von Massendaten gespeichert sind. Der Benutzer, der eine Datei bereitstellt, kann wählen, ob er die Datei komprimieren möchte oder nicht, um den Speicherplatz zu reduzieren.

  • In Datenbanktabellen gespeicherte Daten, einschließlich historischer Daten, die für Time Travel gepflegt werden. Snowflake komprimiert automatisch alle in Tabellen gespeicherten Daten und berechnet anhand der komprimierten Dateigröße den gesamten für ein Konto verwendeten Speicherplatz.

  • Historische Daten werden für Fail-safe gepflegt.

Die monatlichen Kosten für die Datenspeicherung in Snowflake basieren auf einer Pauschale pro Terabyte (TB). Der pro TB berechnete Betrag hängt von Ihrem Kontotyp (Capacity oder On-Demand) und der Region (US oder EU) ab. Informationen zur Preisgestaltung für Datenspeicher finden Sie auf der Preisseite (auf der Snowflake-Website).

Anzeigen der Datennutzung für Ihr Konto

Benutzer mit der Rolle ACCOUNTADMIN können die Snowflake-Weboberfläche oder SQL verwenden, um den durchschnittlichen monatlichen und täglichen Datenspeicher (in Bytes) für Ihr Konto anzuzeigen.

So rufen Sie den Datenspeicher (für Tabellen, Stagingbereiche und Fail-safe) für Ihr Konto auf:

Weboberfläche

Klicken Sie auf Account Account tab » Billing & Usage.

SQL

Fragen Sie Folgendes ab:

Datennutzung für eine Tabelle anzeigen

Benutzer mit den entsprechenden Zugriffsrechten können entweder die Weboberfläche oder SQL verwenden, um die Größe (in Byte) einzelner Tabellen eines Schemas bzw. einer Datenbank anzuzeigen:

Weboberfläche

Klicken Sie auf Databases Databases tab » <DB-Name> » Tables

SQL

Führen Sie einen SHOW TABLES-Befehl aus.

Darüber hinaus können Benutzer der Rolle ACCOUNTADMIN mit SQL Informationen zur Tabellengröße anzeigen:

SQL

Führen Sie eine Abfrage auf einer der folgenden Optionen durch:

Wichtig

Die Größe, die für eine Tabelle angezeigt wird, stellt die Anzahl der Bytes dar, die gescannt werden, wenn die gesamte Tabelle in einer Abfrage gescannt wird. Diese Anzahl kann jedoch von der Anzahl der physischen Bytes (d. h. der auf der Festplatte gespeicherten Bytes) für die Tabelle abweichen, insbesondere bei geklonten Tabellen und Tabellen mit gelöschten Daten:

  • Eine geklonte Tabelle verbraucht keinen zusätzlichen Speicherplatz (bis Zeilen zur Tabelle hinzugefügt oder bestehende Zeilen in der Tabelle geändert oder gelöscht werden). Daher kann die angezeigte Tabellengröße größer als die tatsächlich für die Tabelle gespeicherten physischen Bytes sein, d. h. die Tabelle trägt weniger zum gesamten Datenspeicher des Kontos bei, als die Größe angibt.

  • Daten, die aus einer Tabelle gelöscht wurden, sind nicht in der angezeigten Tabellengröße enthalten. Die Daten werden jedoch in Snowflake gewartet, bis sowohl die Aufbewahrungsfrist für Time Travel (Standard ist 1 Tag) als auch die Fail-safe-Frist (7 Tage) für die Daten abgelaufen sind. Während dieser zwei Zeiträume ist die angezeigte Tabellengröße kleiner als die tatsächlich für die Tabelle gespeicherten physischen Bytes, d. h. die Tabelle trägt mehr zum gesamten Datenspeicher des Kontos bei, als die Größe angibt.

Weitere Informationen zum Speichern von geklonten Tabellen und gelöschten Daten finden Sie unter Hinweise zur Datenspeicherung.