DataDatenarchitektur

lag_tolerance ist jetzt eine Budgetentscheidung, und die meisten Teams haben sie nicht getroffen

dbt State ist im September 2026 allgemein verfügbar geworden und macht aus „alles nach Zeitplan neu bauen“ ein „nur neu bauen, was sich geändert hat“. Die Einsparungen sind real, aber sie kommen nur an, wenn Sie Modell für Modell entscheiden, wie alt Ihre Daten sein dürfen.

A hand turns a brass valve on a pipe, slowing drips falling into a glass jar.

Öffnen Sie an einem Dienstagmorgen die Query-History eines ausgereiften Warehouse, und ein großer Teil dessen, wofür Sie zahlen, hat ein Ergebnis produziert, das mit dem vorherigen Lauf identisch ist. Die Quelltabellen hatten sich nicht aktualisiert. Das SQL hatte sich nicht geändert. Der Job lief, weil eine Cron-Expression es so vorsah. Laut dem State of FinOps Survey 2026 der FinOps Foundation, der auf rund tausend Antworten von Praktikern mit mehr als 83 Milliarden Dollar jährlicher Cloud-Ausgaben beruht, bleiben Workload-Optimierung und Waste Reduction die wichtigste aktuelle Priorität, während Praktiker berichten, dass sie die „big rocks“ der Verschwendung bereits gehoben haben und nun vor einer großen Zahl kleinerer, schwierigerer Gelegenheiten stehen. Flexeras State of the Cloud Report 2026, eine Anbieterbefragung von mehr als 750 Cloud-Entscheidern und deshalb neben unabhängigen Quellen zu lesen, beziffert den selbst geschätzten Waste auf 29 %, den ersten Anstieg seit fünf Jahren, den der Report auf AI-Workloads und neue Services zurückführt, die der Governance davonlaufen.

Redundante Neuberechnung ist eine dieser kleineren Gelegenheiten, nur ist sie nicht klein. Die These dieses Beitrags: Der nächste spürbare Schnitt in Ihrer Warehouse-Rechnung kommt daher, Rebuilds an tatsächliche Änderungen und an ein erklärtes Freshness-Limit zu koppeln, nicht aus einer weiteren Runde Warehouse-Right-Sizing. Das Tooling hat im September 2026 aufgeschlossen. Fivetran und dbt Labs haben die allgemeine Verfügbarkeit von dbt v2 und dbt State am 16. September 2026 auf dem dbt Summit in Las Vegas angekündigt, und dbt State läuft jetzt auf Snowflake, BigQuery, Databricks und Redshift, lokal, auf der dbt-Plattform sowie unter Airflow, Dagster oder GitHub Actions. Was das Tooling nicht kann: entscheiden, wie alt jedes Ihrer Modelle sein darf. Das ist die Arbeit.

Wie senken Sie Warehouse-Compute, ohne veraltete Daten auszuliefern?

Hören Sie auf, nach Uhrzeit neu zu bauen, und bauen Sie nach Änderung neu, mit einem expliziten Staleness-Budget pro Modell. dbt State vergleicht das kompilierte SQL jedes Node und die Freshness der vorgelagerten Daten mit dem letzten erfolgreichen Build und baut dann, überspringt, klont oder verschiebt. dbt Labs, das das Feature verkauft, berichtet, dass frühe Anwender im Schnitt 15-30 % Compute gespart haben und dass täglich mehr als 22 Millionen Modelle auf dbt gebaut werden, die meisten davon mit Ergebnissen, die mit dem Lauf davor identisch sind. Behandeln Sie beide Zahlen als Anbieterangaben und prüfen Sie sie gegen Ihre eigene Run-History. Hier ist die Abfolge, mit der sie tragen.

Schritt 1. Messen Sie den Rebuild, nicht die Rechnung

Bevor Sie an der Konfiguration drehen, messen Sie den Anteil Ihrer Model-Builds, die keine Änderung erzeugen. Auf BigQuery fragen Sie INFORMATION_SCHEMA.JOBS gefiltert auf total_bytes_processed ab, um wiederkehrende Jobs ohne Partition-Filter und die geplanten Transformationen zu finden, die Ihr Scan-Volumen dominieren. Auf Snowflake ziehen Sie den Credit-Verbrauch des Warehouse, aufgeschlüsselt nach Job und Stunde. Sie suchen eine Zahl: Credits oder Bytes, die für geplante Transformationsläufe ausgegeben wurden, bei denen sich seit dem vorherigen Lauf keine Quelle geändert hat. Diese Zahl ist Ihr adressierbares Budget. Alles Weitere in diesem Playbook ist der Versuch, sie zu bewegen.

Schritt 2. Geben Sie jedem Modell ein Freshness-Versprechen

Die lag_tolerance-Config von dbt State legt fest, wie lange gewartet wird, bevor ein Node neu gebaut wird, nachdem sich seine vorgelagerten Daten geändert haben, und laut dbt-Dokumentation wird ein Node nur dann neu gebaut, wenn sein letzter Build älter als dieses Fenster ist und sich die vorgelagerten Daten tatsächlich geändert haben. Dieser Parameter ist eine Geschäftsentscheidung im Engineering-Kostüm.

Die Regel fürs Whiteboard:kein geplanter Rebuild ohne eine Entscheidung, die darauf wartet. Benennen Sie für jedes Modell die Entscheidung, die es speist, und wie oft jemand (oder ein System) danach handelt. Ein Finance-Close-Modell, nach dem monatlich gehandelt wird, braucht keine stündlichen Rebuilds. Eine Feature-Tabelle für Fraud Screening, nach der laufend gehandelt wird, schon. Setzen Sie lag_tolerance auf die Entscheidungsfrequenz, nie kürzer. Modelle, bei denen niemand die Entscheidung benennen kann, sind Ihre ersten Kandidaten für ein langes Toleranzfenster oder für die Löschung.

Schritt 3. Lassen Sie es im Audit-Modus laufen, bevor Sie ihm vertrauen

dbt hat vor dem Summit einen Explain-Tab in den Run-Details ausgeliefert, der zeigt, warum jede Ressource neu gebaut, wiederverwendet oder geklont wurde, mit einem passenden `dbt state explain`-Befehl in der CLI. Aktivieren Sie dbt State auf einem unkritischen Deployment-Job, lassen Sie die Toleranzen konservativ und verbringen Sie eine Woche damit, die Erklärungen zu lesen. Sie prüfen genau eines: dass die Reuse-Entscheidungen dem entsprechen, was Ihre Analysten über diese Tabellen gesagt hätten. Wenn dbt State ein Modell wiederverwendet hat, das Ihr Controller frisch erwartet hat, haben Sie ein Freshness-Versprechen gefunden, das nie jemand aufgeschrieben hat.

Schritt 4. Korrigieren Sie das physische Layout der Modelle, die weiterhin neu gebaut werden

State-Awareness entfernt Arbeit, die nie hätte laufen sollen. Für die Arbeit, die laufen muss, tut sie nichts. Dort zahlen die älteren Hebel weiterhin: Auf BigQuery partitionieren Sie große Fact-Tables auf einer Datumsspalte, setzen require_partition_filter auf true, damit ungefilterte Queries fehlschlagen, statt die Tabelle zu scannen, und ergänzen zwei bis vier Clustering-Keys, sortiert nach Filterhäufigkeit. Googles eigene Guidance bevorzugt Clustering gegenüber Partitionierung, wenn die Kardinalität sehr hoch ist oder Partitionen winzig wären. Die Rechnung ist unerbittlich: Bei einer 10-TB-Tabelle mit einem Jahr an Tagespartitionen scannt eine Query für einen einzelnen Tag zehn Gigabyte statt der ganzen Tabelle. Hat Ihr Team nie geprüft,welche Partition- und Cluster-Keys Ihre schwersten Tabellen nutzen, dann schlägt dieses Audit die meisten Einkaufsverhandlungen.

Schritt 5. Schicken Sie die gesparten Credits dorthin, wo eine Person sie verantwortet

Compute-Reduktionen verdampfen, wenn niemand dafür verantwortlich ist. Der State of FinOps 2026 ergab, dass 78 % der FinOps-Teams inzwischen an den CTO oder CIO berichten statt an Finance, und dass Architektur-Kostenschätzung vor dem Deployment eine der meistgewünschten Tool-Fähigkeiten ist. Legen Sie die zurückgewonnenen Credits auf eine benannte Budgetzeile, mit einem monatlichen Review der Credits pro Domain und pro Job. Hier hörtKostendisziplin mit benannten Verantwortlichen auf, eine Folie zu sein, und wird zur Reporting-Routine.

Schritt 6. Setzen Sie eine Obergrenze für agentengetriebene Queries

Geplante Pipelines sind inzwischen der berechenbare Teil Ihrer Rechnung. Autonome Agenten sind es nicht: Sie entscheiden anhand des Kontexts, was sie abfragen, fächern parallel auf und wiederholen bei Fehlern mit breiterem Scope, alles ohne einen Menschen, der auf den Credit-Zähler schaut. Resource Monitors auf Snowflake mit Suspend-Triggern und maximumBytesBilled auf BigQuery-Jobs kosten nichts in der Einrichtung und deckeln den Schaden einer Schleife, die um 3 Uhr nachts niemandem auffällt.

Wie die Zahlen in der Praxis aussehen

Mit der GA-Ankündigung wurden zwei Kundenergebnisse veröffentlicht, beide von dbt Labs und seinen Kunden geliefert, also als Anbieterquelle zu lesen. Gordon Curzon, Head of Analytics Engineering bei Virgin Media O2, berichtete von 25 % Einsparung sowohl bei der Job-Laufzeit als auch bei den BigQuery-Compute-Kosten. Chris Shepherd, Principal Data Engineer bei RxBenefits, berichtete von 59 % geringeren Warehouse-Kosten bei geplanten Jobs auf einem Snowflake Adaptive Warehouse, im Wert von 8.173,23 Dollar in den ersten 60 Tagen, mit mehr als 700.000 wiederverwendeten statt neu gebauten Modellen und zwei Wochen eingesparter Query-Laufzeit in diesem Zeitraum.

Rechnet man die RxBenefits-Zahlen durch, wird die Größenordnung klar: Ein Schnitt von 59 % im Wert von 8.173 Dollar impliziert eine Basis von rund 13.850 Dollar Compute für geplante Jobs über 60 Tage, etwa 231 Dollar pro Tag, mit einer annualisierten Einsparung von knapp 49.000 Dollar, falls die Rate hält. Das ist ein Team, auf einem Warehouse, für eine mittelgroße Pipeline. Skalieren Sie es gegen Ihre eigene Baseline aus Schritt 1, nicht gegen deren.

Wo state-aware Pipelines leise schiefgehen

Reuse unterdrückt Tests. Laut dbt-Dokumentation laufen Tests für wiederverwendete Modelle nicht, mit der Logik, dass sie bereits bestanden wurden. Das ist vertretbar, bis ein Quellsystem still seine Semantik ändert, ohne das Volumen zu ändern. dbt hat Anfang 2026 zwei Sicherungen ergänzt: Ein Modell, das einen Data Test nicht besteht, wird bei den folgenden Läufen neu gebaut, statt aus dem vorherigen State wiederverwendet zu werden, und Modelle, deren Tabellen im Warehouse gelöscht wurden, werden auch ohne Code- oder Datenänderung neu gebaut. Lassen Sie Source-Freshness-Checks unabhängig davon nach eigenem Zeitplan laufen, denn sie sind das Einzige, was zwischen Reuse und stiller Veralterung steht.

Committed Spend verdeckt Ihre Einsparungen. Wenn Sie in einem Snowflake-Kapazitätsvertrag stecken, der laut Pricing-Guides der Anbieter die Raten pro Credit typischerweise um 15-40 % senkt, zeigt sich ein Verbrauchsrückgang von 30 % nicht als kleinere Rechnung. Er zeigt sich als Unterverbrauch gegenüber einem Commitment, das Sie bereits bezahlt haben. Sichern Sie die Effizienz jetzt und nehmen Sie die gemessene Verbrauchskurve mit in die Verlängerungsgespräche.

Das Feature selbst ist eine Kostenposition. dbt Labs veröffentlicht zwei Distributionen von dbt v2, und die Superset-Distribution ist kostenlos mit optionalen kostenpflichtigen Features, darunter dbt State. Verrechnen Sie die Lizenzkosten mit der Compute-Einsparung, bevor Sie Ihrem CFO eine Zahl präsentieren, und beachten Sie: Engine-GA ist nicht Adapter-GA. Snowflake, BigQuery, Databricks, Redshift und DuckDB sind auf v2 GA, während Postgres, Athena und Fabric noch ausstehen, abhängig von der Verfügbarkeit des ADBC-Treibers, nicht von Rust.

Die Migration birgt eine Config-Falle. Teams, die die frühere Preview der state-aware Orchestrierung genutzt haben, müssen alte build_after-Werte auf die neue lag_tolerance-Semantik abbilden. Eine falsch gemappte Toleranz scheitert nicht laut. Sie liefert die Zahlen von gestern an ein Dashboard, das gut aussieht.

Verkaufen Sie das intern schließlich nicht als Ende des Kostenprogramms. Der FinOps-Survey 2026 sagt ausdrücklich, dass Optimierung inzwischen Pflicht statt Differenzierungsmerkmal ist, wobei Scope-Erweiterung, Governance, organisatorische Ausrichtung und Forecasting zusammen schwerer wiegen als Optimierung allein. Ein einmaliger Compute-Schnitt von 20 % verschafft Ihnen Glaubwürdigkeit für die schwierigere Arbeit, keine Erlaubnis aufzuhören.

Was Sie am Montag tun sollten

  • Ziehen Sie die geplanten Transformationsläufe des letzten Monats und berechnen Sie, welcher Anteil Modelle neu gebaut hat, deren vorgelagerte Quellen sich nicht geändert hatten. Eine Query, eine Zahl, Ihre Baseline.
  • Nehmen Sie die zehn teuersten Modelle aus dieser Liste und schreiben Sie neben jedes eine Entscheidungsfrequenz. Jedes Modell ohne benannte Entscheidung wird für ein Löschungs-Review markiert.
  • Aktivieren Sie dbt State auf einem Non-Production-Deploy-Job mit konservativen Toleranzen und lesen Sie eine Woche lang täglich den Explain-Output, bevor Sie ausweiten.
  • Setzen Sie require_partition_filter auf Ihren drei größten BigQuery-Fact-Tables, oder Resource Monitors mit Suspend-Triggern auf Ihren zwei größten Snowflake-Warehouses.
  • Fragen Sie Ihr Account-Team, was mit Ihrem Committed Spend passiert, wenn der Verbrauch um 25 % fällt, und holen Sie die Antwort vor der Verlängerungssaison schriftlich ein.

Die Modelle, über die zu streiten sich lohnt, sind die, die stündlich laufen, um eine wöchentliche Entscheidung zu speisen. Finden Sie sie diese Woche, setzen Sie eine Toleranz, die zur Entscheidung passt statt zur Gewohnheit, und die Compute-Einsparung folgt, ohne dass jemand einen Unterschied in den Dashboards bemerkt. Länger dauert der Teil, jemanden zu finden, der die Budgetzeile verantwortet, auf der die Einsparungen landen.

Häufige Fragen

Brauche ich die dbt-Plattform für dbt State, oder funktioniert es mit meinem eigenen Orchestrator?

dbt State ist im September 2026 überall allgemein verfügbar geworden, wo dbt läuft, einschließlich Airflow, Dagster, GitHub Actions und einer lokalen Maschine, mit Unterstützung für Snowflake, BigQuery, Databricks und Redshift. Es ist nativ in dbt v2 und als Plugin für dbt v1.7 bis v1.12 verfügbar, ein selbst verwaltetes Deployment wird also unterstützt.

Laufen Data-Quality-Tests weiterhin, wenn ein Modell wiederverwendet statt neu gebaut wird?

Nein. Tests laufen für wiederverwendete Modelle nicht, da sie beim vorherigen Build bestanden wurden. dbt hat 2026 Sicherungen ergänzt, sodass ein Modell, das einen Data Test nicht besteht, bei späteren Läufen neu gebaut statt wiederverwendet wird, und Modelle, deren Warehouse-Tabellen gelöscht wurden, ohnehin neu gebaut werden. Lassen Sie unabhängig davon ein eigenes Source-Freshness-Monitoring laufen.

Wie viel Compute kann ein Team realistisch sparen, wenn es unveränderte Rebuilds überspringt?

dbt Labs, das dbt State verkauft, berichtet von durchschnittlich 15-30 % weniger Warehouse-Compute bei frühen Anwendern, wobei Virgin Media O2 25 % auf BigQuery nennt und RxBenefits 59 % bei geplanten Jobs auf einem Snowflake Adaptive Warehouse. Das sind vom Anbieter veröffentlichte Kundenzahlen, prüfen Sie sie also zuerst gegen Ihre eigene Run-History.

Was ist lag_tolerance in dbt State und wie sollte ich es setzen?

lag_tolerance ist die Freshness-Schwelle auf Modellebene, die steuert, wie lange dbt State wartet, bevor es einen Node neu baut, nachdem sich dessen vorgelagerte Daten geändert haben. Setzen Sie sie auf die Frequenz der Entscheidung, die das Modell speist, nie kürzer: Ein monatliches Close-Modell rechtfertigt keine stündlichen Rebuilds, eine laufend genutzte Feature-Tabelle schon.

Mehr dazu

Die Lektionen, die diesen Artikel weiterführen, frei zugänglich.

  1. 1Data FinOps: Cloud-Datenkosten im GriffModerne Datenarchitektur
  2. 2dbt (data build tool): industrialisierte SQL-TransformationModerne Datenarchitektur
  3. 3Performance & Skalierbarkeit: Partitioning, Clustering & KostenoptimierungModerne Datenarchitektur
  4. 4Cloud-Dateninfrastruktur: Services, Kosten & MigrationModerne Datenarchitektur
  5. 5Chargeback- & Showback-ModelleDatenprodukte & Monetarisierung

Artikel gelesen?

Bestätigen Sie Ihre Lektüre, um XP zu sammeln und Ihr Radar zu füttern.