Ansicht TABLE_STORAGE_METRICS¶
In dieser Ansicht werden Informationen zur Speichernutzung auf Tabellenebene angezeigt. Diese Informationen werden zur Berechnung der Speicherabrechnung für die einzelnen Tabellen im Konto verwendet. Dies gilt auch für Tabellen, die entfernt wurden, für die jedoch weiterhin Speicherkosten anfallen.
Zusätzlich zu den Tabellenmetadaten wird in der Ansicht die Anzahl der für einzelne Tabellen abgerechneten Speicherbytes angezeigt. Snowflake schlüsselt die Bytes in die folgenden Kategorien auf:
Aktive Bytes, die Daten in der Tabelle darstellen, die abgefragt werden können.
Gelöschte Bytes, die noch Speicherkosten verursachen, da sie noch nicht aus dem System gelöscht wurden. Diese Bytes werden in folgende Unterkategorien eingeteilt:
Bytes in Time Travel (d. h. kürzlich gelöscht, aber noch innerhalb der Time Travel-Aufbewahrungsfrist für die Tabelle).
Bytes in Fail-safe (d. h. gelöschte Bytes, die über die Aufbewahrungsfrist von Time Travel hinausgehen, aber innerhalb der Frist von Fail-safe für die Tabelle liegen).
Bytes, die für Klone aufbewahrt werden (d. h. gelöschte Bytes, die sich nicht mehr in Time Travel oder Fail-safe befinden, aber trotzdem erhalten bleiben, da Klone der Tabelle auf die Bytes verweisen).
Das heißt, Zeilen werden in dieser Ansicht so lange gepflegt, bis die entsprechenden Tabellen für keinen Speicher mehr abgerechnet werden, unabhängig von verschiedenen Zuständen, in denen sich die Daten in den Tabellen befinden können (d. h. aktiv, Time Travel, Fail-safe oder für Klone aufbewahrt).
Weitere Informationen zur Datenspeicherung in Tabellen finden Sie unter Hinweise zur Datenspeicherung.
Bemerkung
Um diese Ansicht abzufragen, müssen Sie die Rolle ACCOUNTADMIN verwenden. Die Ansicht ist für andere Ansichten sichtbar und kann abgefragt werden. Die Abfragen geben jedoch keine Zeilen zurück.
Spalten¶
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
TABLE_CATALOG |
TEXT |
Datenbank, zu der die Tabelle gehört. |
TABLE_SCHEMA |
TEXT |
Schema, zu dem die Tabelle gehört. |
TABLE_NAME |
TEXT |
Name der Tabelle. |
ID |
NUMBER |
Eindeutiger Bezeichner für die Tabelle. |
CLONE_GROUP_ID |
NUMBER |
Eindeutiger Bezeichner für den ältesten Klonvorfahren dieser Tabelle. Gleich der ID, wenn die Tabelle kein Klon ist. |
IS_TRANSIENT |
TEXT |
‚YES‘, wenn die Tabelle transient oder temporär ist, ansonsten ‚NO‘. Transiente und temporäre Tabellen haben keine Fail-safe-Frist. |
ACTIVE_BYTES |
NUMBER |
Bytes, die dieser Tabelle gehören (und ihr in Rechnung gestellt werden) und sich für die Tabelle im aktiven Zustand befinden. |
TIME_TRAVEL_BYTES |
NUMBER |
Bytes, die dieser Tabelle gehören (und ihr in Rechnung gestellt werden) und sich für die Tabelle im Zustand Time Travel befinden. |
FAILSAFE_BYTES |
NUMBER |
Bytes, die sich im Besitz dieser Tabelle befinden (und ihr in Rechnung gestellt werden) und sich für die Tabelle im Fail-safe-Status befinden. |
RETAINED_FOR_CLONE_BYTES |
NUMBER |
Bytes, die sich im Besitz dieser Tabelle befinden (und ihr in Rechnung gestellt werden) und die nach dem Löschen erhalten bleiben, weil ein oder mehrere Klone dieser Tabelle auf sie verweisen. |
TABLE_CREATED |
TIMESTAMP_LTZ |
Datum und Uhrzeit, zu denen die Tabelle erstellt wurde. |
TABLE_DROPPED |
TIMESTAMP_LTZ |
Datum und Uhrzeit, zu denen die Tabelle entfernt wurde. NULL, wenn die Tabelle nicht gelöscht wurde. |
TABLE_ENTERED_FAILSAFE |
TIMESTAMP_LTZ |
Datum und Uhrzeit, zu denen die Tabelle (falls entfernt) in den Fail-safe-Status übergegangen ist, oder NULL. In diesem Zustand kann die Tabelle mit UNDROP nicht wiederhergestellt werden. |
CATALOG_CREATED |
TIMESTAMP_LTZ |
Datum und Uhrzeit, zu denen die Datenbank, die die Tabelle enthält, erstellt wurde. |
CATALOG_DROPPED |
TIMESTAMP_LTZ |
Datum und Uhrzeit, zu denen die Datenbank, die die Tabelle enthält, entfernt wurde. |
SCHEMA_CREATED |
TIMESTAMP_LTZ |
Datum und Uhrzeit, zu denen das Schema, das die Tabelle enthält, erstellt wurde. |
SCHEMA_DROPPED |
TIMESTAMP_LTZ |
Datum und Uhrzeit, zu denen das Schema, das die Tabelle enthält, entfernt wurde. |
COMMENT |
TEXT |
Kommentar zur Tabelle. |
Nutzungshinweise¶
Es kann eine Verzögerung von 1-2 Stunden bei der Aktualisierung der speicherbezogenen Statistiken für
active_bytes
,time_travel_bytes
,failsafe_bytes
undretained_for_clone_bytes
geben.ID und CLONE_GROUP_ID:
ID ändert sich bei einer Tabelle während ihres gesamten Lebenszyklus nicht, auch wenn die Tabelle umbenannt oder gelöscht wird.
CLONE_GROUP_ID ist die ID des ältesten Vorfahren eines Klons, auch wenn die Tabelle gelöscht wurde, aber immer noch Speicherkosten anfallen. Beispiel:
Tabelle
t2
wird aust1
geklont.Tabelle
t3
wird aust2
geklont.
In allen drei Tabellen wird die ID für
t1
als ihre CLONE_GROUP_ID angezeigt, auch wennt1
gelöscht und schließlich von Snowflake bereinigt wurde.Wenn ID und CLONE_GROUP_ID identisch sind, ist die Tabelle kein Klon.
Speicherbytes sind immer im Besitz der Tabelle, in der die Bytes ursprünglich hinzugefügt wurden, und werden der Tabelle daher in Rechnung gestellt. Wenn die Tabelle dann geklont wird, werden die Speichermetriken für diese anfänglichen Bytes niemals an die Klone übertragen, auch wenn die Bytes aus der Quelltabelle gelöscht werden.
Geklonte Tabellen teilen sich den gleichen zugrunde liegenden Speicher (auf der Mikropartitionsebene), bis entweder die ursprüngliche Tabelle oder die geklonte Tabelle geändert wird. Mit jeder Änderung an einer der beiden Tabellen übernimmt die Tabelle den „Besitz“ der geänderten Bytes.
Gelöschte Tabellen werden in der Ansicht angezeigt, solange durch sie noch Speicherkosten entstehen:
Gelöschte Tabellen behalten ihre aktiven Speichermetriken bei, die angeben, wie viele Bytes aktiv sein werden, wenn die Tabelle wiederhergestellt wird.
Tabellen, die während der Time Travel-Aufbewahrungsfrist für die Tabelle entfernt wurden, können mit UNDROP wiederhergestellt werden.
Bei gelöschten Tabellen in Fail-safe (TABLE_ENTERED_FAILSAFE ist nicht NULL) werden möglicherweise in den meisten Spalten NULL-Werte angezeigt, mit Ausnahme von:
- ID-Spalten:
ID , CLONE_GROUP_ID
- Byte-Spalten:
ACTIVE_BYTES , TIME_TRAVEL_BYTES , FAILSAFE_BYTES , RETAINED_FOR_CLONE_BYTES
Diese Tabellen können nicht mit UNDROP wiederhergestellt werden.
Wenn Daten aus einer Tabelle mit einer Time Travel-Aufbewahrungsfrist von 0 Tagen gelöscht werden, bereinigen asynchrone Hintergrundprozesse die aktiven Bytes oder verschieben sie direkt in den Fail-safe-Speicher, je nach Tabellentyp. Diese Ausführung kann etwas Zeit in Anspruch nehmen. Während dieser Zeit kann die Spalte
TIME_TRAVEL_BYTES
einen Wert ungleich Null enthalten, auch wenn die Time Travel-Aufbewahrungsfrist 0 Tage beträgt.FAILSAFE_BYTES
kennzeichnet Bytes, deren Time Travel-Zeit verstrichen ist. Alle diese Bytes werden für die aktuelle Tabelle abgerechnet.Wenn mehrere Zeilen in der Spalte TABLE_NAME den gleichen Wert haben, bedeutet das, dass mehrere Versionen der Tabelle existieren. Eine Version wird jedes Mal erstellt, wenn eine Tabelle gelöscht und eine neue Tabelle mit dem gleichen Namen erstellt wird. Dies gilt auch, wenn für eine vorhandene Tabelle ein CREATE OR REPLACE TABLE-Befehl ausgegeben wird. Beachten Sie, dass in der aktuellen Version die Spalte TABLE_DROPPED einen NULL-Wert hat. Alle anderen Versionen haben einen Zeitstempelwert. Dies sollte beachtet werden, da jede Version einer Tabelle Speicherkosten im Zusammenhang mit Time Travel verursacht (und auch mit Fail-safe, wenn die Tabelle permanent ist).
In einigen Fällen können die aktiven Bytes auch Bytes für Daten in einer gelöschten Spalte enthalten. Weitere Informationen dazu finden Sie in den Nutzungshinweisen für ALTER TABLE.