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:

  1. Entwerfen einer Tagging-Strategie und Erstellen der entsprechenden Tags

  2. Zuordnen der korrekten Tag/Wert-Paare zu den entsprechenden Ressourcen

  3. 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.

Drei Warehouses in einem Konto

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;
Copy
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 auch warehouse2 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';
Copy

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 Schema SNOWFLAKE.ACCOUNT_USAGE abgefragt werden.

Snowsight:
  1. Wechseln Sie zu einer Rolle, die Zugriff auf das ACCOUNT_USAGE-Schema hat.

  2. Navigieren Sie zu Admin » Cost Management.

  3. Wählen Sie Consumption aus.

  4. Wählen Sie in der Dropdown-Liste Tags das Tag cost_center aus.

  5. Um sich auf eine bestimmte Kostenstelle zu fokussieren, wählen Sie einen Wert aus der Liste der Werte des Tags aus.

  6. 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;
Copy

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.