Zuordnen von Kosten¶
Eine Organisation kann einen Einblick in die Kosten für die Nutzung von Snowflake gewinnen, indem sie diese Kosten logischen Einheiten innerhalb der Organisation zuordnet (z. B. Abteilungen, Umgebungen und Projekten). Dieses Chargeback- oder Showback-Modell ist für Buchhaltungszwecke nützlich, ermöglicht es einer Organisation aber auch festzustellen, welche Einheiten die höchsten Ausgaben haben. Diese Erkenntnisse helfen dabei, Bereiche im Unternehmen zu identifizieren, die von Kontrollelementen und Optimierungen profitieren könnten, um die Kosten zu senken.
Kosten einzelnen Ressourcen zuordnen¶
Die direkteste und leistungsfähigste Methode, Kosten verschiedenen Gruppierungen wie Abteilungen, Umgebungen oder Projekten zuzuordnen, ist das Kennzeichnen bestimmter Ressourcen mithilfe des Features Objekt-Tagging. Bei dieser Strategie erstellt ein Administrator ein Tag (z. B. cost_center
) und definiert dann eine Liste möglicher Werte für das Tag (z. B. sales
, finance
). In diesem Beispiel erhält jede Kostenstelle einen eindeutigen Tag-Wert. Die Tag/Wert-Kombination wird dann den von einer Kostenstelle verwendeten Ressourcen zugeordnet. Da diese Ressourcen Credits verbrauchen, können Sie Berichte gruppiert nach dem Tag-Wert erstellen. Da dieser Tag-Wert direkt einer bestimmten Gruppierung innerhalb der Organisation entspricht, lassen sich die Kosten genau zuordnen.
Mithilfe des Objekt-Taggings können Sie Kosten auf Basis allgemeiner Elemente wie einem Konto oder spezifischer Elemente wie einer Tabelle zuordnen. Beachten Sie, dass nicht alle Tagging-fähigen Objekte Kosten akkumulieren. Aus Sicht des Kostenmanagements ist das Tagging eines Objekts nur dann sinnvoll, wenn es eine Schemaansicht gibt, die Nutzungs- oder Kostendaten zu diesem Objekt enthält. Eine Liste der Snowflake-Ansichten, die Nutzungs- und Kostendaten enthalten, finden Sie unter Untersuchen der Gesamtkosten.
Zuordnungs-Workflow¶
Das Verwenden von Objekt-Tags zur Zuordnung von Kosten besteht aus drei grundlegenden Aufgaben:
Entwerfen einer Tagging-Strategie und Erstellen der entsprechenden Tags
Zuordnen der korrekten Tag/Wert-Paare zu den entsprechenden Ressourcen
Ausführen der Berichterstellung auf Basis der Nutzungs- und Tag-Daten
Zur Veranschaulichung dieses Workflows betrachten wir ein Snowflake-Konto mit folgenden Eigenschaften:
Hat zwei Kostenstellen: Vertrieb (Sales) und Finanzen (Finance).
Hat drei Warehouses. Der Vertrieb verwendet Warehouse1 und Warehouse2, die Finanzabteilung verwendet Warehouse3.
In diesem Beispiel besteht das Ziel darin, die mit jedem Warehouse verbundenen Warehouse-Kosten den entsprechenden Abteilungen zuzuordnen.
Bemerkung
Im folgenden Beispiel wird davon ausgegangen, dass der Rolle tag_admin
die entsprechenden Berechtigungen erteilt wurden. Eine Organisation kann die detaillierten Tagging-Berechtigungen nutzen, um eine sichere Tagging-Strategie zu entwickeln.
- Aufgabe 1: Entwerfen einer Tagging-Strategie und Erstellen der entsprechenden Tags
In diesem Beispiel erstellt ein Administrator mit den entsprechenden Berechtigungen ein einzelnes Tag namens
cost_center
(Kostenstelle).USE ROLE tag_admin; USE SCHEMA my_db.my_schema; CREATE TAG cost_center;
- Aufgabe 2: Taggen von Objekten mit den korrekten Tag/Wert-Paaren
Der Tag-Administrator ordnet den Warehouses das entsprechende Tag/Wert-Paar zu. Da beispielsweise die Vertriebsabteilung sowohl
warehouse1
als auchwarehouse2
verwendet, wird auf diese beiden Ressourcen dieselbe Tag/Wert-Kombination angewendet.USE ROLE tag_admin; ALTER WAREHOUSE warehouse1 SET TAG cost_center='SALES'; ALTER WAREHOUSE warehouse2 SET TAG cost_center='SALES'; ALTER WAREHOUSE warehouse3 SET TAG cost_center='FINANCE';
Bemerkung
Wenn Administratoren steuern möchten, welche Werte für das Objekt festgelegt werden können, können sie beim Erstellen des Tags den optionalen Parameter
allowed_values
(zulässige Werte) verwenden. Weitere Details dazu finden Sie unter CREATE TAG.- Aufgabe 3: Ausführen der Berichterstellung auf Basis der Nutzungs- und Tag-Daten
Sie können Kosten zuordnen, indem Sie Berichte über die Verwendung von Ressourcen erstellen, die das
cost_center
-Tag aufweisen. Diese Daten sind in Snowsight verfügbar oder können über das SchemaSNOWFLAKE.ACCOUNT_USAGE
abgefragt werden.- Snowsight:
Wechseln Sie zu einer Rolle, die Zugriff auf das ACCOUNT_USAGE-Schema hat.
Navigieren Sie zu Admin » Cost Management.
Wählen Sie Consumption aus.
Wählen Sie in der Dropdown-Liste Tags das Tag
cost_center
aus.Um sich auf eine bestimmte Kostenstelle zu fokussieren, wählen Sie einen Wert aus der Liste der Werte des Tags aus.
Wählen Sie Apply aus.
Weitere Informationen zum Filtern in Snowsight finden Sie unter Nach Tag filtern.
- SQL:
Das Account Usage-Schema enthält Daten sowohl zur Ressourcennutzung als auch zu den Tags des Schemas. Beim Ausführen einer Abfrage auf Ansichten dieses Schemas wird der Credit-Verbrauch jedes Warehouses der entsprechenden Kostenstelle zugeordnet.
USE snowflake.account_usage; SELECT tag_value AS cost_center, SUM(credits_used) FROM warehouse_metering_history, tag_references WHERE warehouse_name=object_name AND tag_name='COST_CENTER' GROUP BY 1 ORDER BY 2 DESC;
Die Abfrage gibt einen Bericht wie den folgenden zurück:
COST_CENTER
CREDITS_USED
SALES
17,173333333
FINANCE
8,14444444
Ausführliche Informationen zur Verwendung von Objekt-Tags finden Sie unter Objekt-Tagging.