Willkommen zur Juni-Ausgabe 2025 von Last Month in Snowflake. Hier fassen wir die wichtigsten Ankündigungen des vergangenen Monats zusammen. Dank des Snowflake Summit war der Juni außergewöhnlich ankündigungsreich. Die mehr als 30 Neuerungen, die wir in unserem Summit-2025-Recap bereits dokumentiert haben, wiederholen wir hier nicht. Stattdessen greifen wir die Ankündigungen aus dem Juni 2025 heraus, die für den durchschnittlichen Snowflake-Nutzer am relevantesten sind (mit einigen Überschneidungen zu den Summit-Themen). Los geht's!
Snowsight-Updates
Das sind die Snowsight-Updates, auf die wir uns am meisten freuen!
Workspaces — Public Preview
Eine der spannendsten Ankündigungen vom Summit war ein neues Feature namens Workspaces: eine moderne, dateibasierte IDE in Snowsight mit Anbindung an Git (GitHub, GitLab usw.). Sie bringt IDE-Funktionen wie Ordnerstrukturen, Git-Integration, KI-gestützte Code-Vorschläge und native Unterstützung für dbt direkt in die Snowflake-Oberfläche. Mit Workspaces lässt sich Code in Projekten organisieren, leichter im Team bearbeiten und per Push/Pull mit GitHub (oder anderen Git-Anbietern) synchronisieren – Entwicklungs-Workflows laufen damit komplett innerhalb der Snowflake-Plattform.
Ihre volle Stärke entfalten Workspaces, sobald Sie ein Git-Repo verbinden. Voraussetzung dafür sind lediglich eine API Integration (sowie ein Secret, falls das Repo nicht öffentlich ist); der Rest läuft komplett über die GUI.
Die Git-Integration der Workspaces ist angenehm bedienbar: Branches auswählen, pushen, pullen und Diffs vergleichen – alles direkt in der UI:
Gesamteindruck zu Workspaces
Ich persönlich habe Worksheets komplett hinter mir gelassen und arbeite nur noch mit Workspaces – allein schon, weil ich Dateien in Ordnern ablegen und im Dateibaum sehr viel komfortabler navigieren kann als in der Worksheets-Oberfläche. Auch ohne verbundenes Git-Repo bevorzuge ich Workspaces, denn das Layout ist besser, die Query History ist direkt verfügbar und der Inline-Copilot ist eine echte Hilfe.
Workspaces bieten zu viele Features, um sie hier alle abzudecken; in einem späteren Beitrag widmen wir uns ausführlich Tipps und Tricks zu Workspaces (inklusive dbt-Projekten).
dbt Projects in Snowflake — Public Preview
In Workspaces lassen sich dbt-Projekte direkt in der Snowsight-UI ausführen. Am einfachsten geht das, indem Sie wie oben gezeigt ein bestehendes Repo verbinden. Sobald Ihr Workspace mit einem dbt-Repo verknüpft ist, fordert Snowflake Sie zum Anlegen einer profiles.yml auf. Danach können Sie dbt-Befehle direkt aus der GUI heraus ausführen!
Im unteren Bereich wechseln Sie zwischen Query History, DAG View und Output.
Die Query-History-Ansicht verlinkt direkt auf das Query Profile. Hinweis: Dieses Feature ist nicht auf dbt-Projekte beschränkt – jeder Workspace zeigt die Query History an. Besonders nützlich finde ich aber, die dbt-Query-History direkt in der IDE zu sehen.
Aus jedem Modell heraus können Sie über die Schaltfläche "Compile SQL" das kompilierte SQL neben dem Template-SQL einblenden. "Show in DAG" hebt das jeweilige Modell im DAG-Bereich darunter hervor.
Sobald Sie deployen möchten, klicken Sie oben rechts auf "Connect" und anschließend auf "Deploy dbt".
Nach dem Deployment finden Sie das dbt-Projekt unter Data → Database / Schema → dbt projects; die Run-Historie aller dbt-Projekte liegt unter Monitoring → dbt.
Beobachtungen und Einschätzungen:
- Pro: Die Idee, dbt-Projekte direkt in Snowsight zu erstellen, zu planen und zu überwachen, gefällt mir richtig gut.
- Contra: Befehle wie
dbt depsunddbt buildhaben offenbar eine sehr lange Kaltstartzeit. - Contra: Die Logs erscheinen erst nach Abschluss des Runs. Dadurch ist schwer nachvollziehbar, wo die Zeit verloren geht.
- Contra: Dass jeder Build-Befehl über die GUI laufen muss, ist etwas umständlich. Ich vermisse die Möglichkeit, DAG-Slices auf der Kommandozeile auszuführen. (Auch die Übergabe von Argumenten an den Build-Befehl ist über die Oberfläche extrem hakelig – hier ist Luft nach oben.)
Zu dbt-Projekten in Snowflake gibt es noch viel mehr zu sagen. Ein dedizierter Beitrag dazu folgt – bleiben Sie dran!
Task Overview und Graph auf Account-Ebene — GA
Den Task Graph auf Datenbank-Ebene gibt es schon länger. Neu ist, dass Nutzer – abhängig von ihren Task-Monitoring-Berechtigungen – nun eine Übersicht aller Tasks im gesamten Account aufrufen können.
Klicken Sie in der linken Seitenleiste auf Monitoring und anschließend auf Task History. Dort sehen Sie eine filterbare Liste aller Tasks im Account, inklusive visueller Statusanzeige der bisherigen Runs.
Auf dem Tab "Task Runs" finden Sie eine Auflistung sämtlicher Task-Runs im Account.
Hier lässt sich der DAG eines abgeschlossenen Runs zusammen mit dem "Total Duration Breakdown" einsehen.
Insgesamt fühlt sich diese UI richtig gut an! Besonders gut gefällt mir der Tooltip für "Previous Runs". Ein wirklich nützliches Observability-Feature.
Integrationen in Snowsight verwalten — GA
In Snowflake dienen Integrationen dazu, Verbindungen zu externen Ressourcen wie Storage-Accounts oder Git-Repos herzustellen, Network Rules anzulegen, API-Zugriffe einzurichten und vieles mehr. Bislang ließen sich Integrationen ausschließlich per SQL verwalten und überwachen. Snowflake hat nun die Möglichkeit ergänzt, Integrationen direkt in der Snowsight-UI zu erstellen, zu verwalten und zu überwachen – ein deutlicher Fortschritt in Sachen Observability.
Über Data → Integrations erhalten Sie eine Account-weite Übersicht aller Integrationen. Über das Drei-Punkte-Menü lassen sich bestehende Integrationen verwalten.
Im Create-Screen legen Sie neue Integrationen unkompliziert an:
Die GUI "create integration" leitet Sie letztlich auf eine SQL-Seite weiter, die wie ein Worksheet aussieht, aber flüchtig ist – es sei denn, Sie klicken auf "Open in Worksheets".
Ich hätte mir von Snowflake einen 100-prozentigen GUI-Flow für das Anlegen von Integrationen gewünscht, kann aber nachvollziehen, dass dies angesichts der vielen möglichen Eigenschaften herausfordernd ist.
Weitere Details finden Sie in der Dokumentation.
SQL-Updates
Während des Summit hat Snowflake mehrere Erweiterungen des SQL-Dialekts rund um KI-bezogenes SQL angekündigt. Diese greifen wir hier nicht erneut auf. Stattdessen schauen wir uns eine der nützlichsten SQL-Erweiterungen genauer an: UNION BY NAME.
Union [all] by Name Operator — GA
In SQL setzen union und union all üblicherweise voraus, dass alle Teile der Union dieselbe Spaltenanzahl haben und die Spalten in der richtigen Reihenfolge stehen. Die neue Union-by-Name-Syntax richtet die Spalten automatisch anhand ihrer Namen aus. Existiert ein Spaltenname nicht oder weicht die Spaltenanzahl ab, liefert Snowflake für den betreffenden Teil der Union automatisch null-Werte für die fehlenden Spalten. Ein Beispiel:
with data1 as
(
select
'jeff' as first_name,
'engineering' as department,
),
data2 as
(
select
'skoldberg' as last_name,
'engineering' as department,
)
select * from data1
union all by name
select * from data2;
Als jemand, der das Makro dbt_utils.union_relations öfter eingesetzt hat, als er zählen kann, begrüße ich dieses native Snowflake-Feature ausdrücklich – denn es funktioniert nicht nur auf Views und Tabellen, sondern auch auf CTEs. Ein riesiger Gewinn!
Data-Engineering-Updates
Im Bereich Data Engineering gab es im Juni eine wesentliche Neuerung (außerhalb der Summit-Ankündigungen).
Artifact Repository — GA
Das Artifact Repository ermöglicht es, Python-Pakete aus dem Python Package Index (PyPI) innerhalb von Snowpark-Python-User-Defined-Functions (UDFs) und Stored Procedures zu nutzen. Für Notebooks und Python Worksheets steht dieses Feature leider nicht zur Verfügung – die populärsten Pakete waren dort allerdings ohnehin schon immer verfügbar.
Um das Feature zu nutzen, muss einer User Role die eingebaute Rolle pypi_repository_user zugewiesen werden.
1GRANT DATABASE ROLE SNOWFLAKE.PYPI_REPOSITORY_USER TO ROLE data_engineering;
Anschließend können Sie ein beliebiges PyPI-Paket in der Procedure-Signatur angeben, sofern Sie das Argument ARTIFACT_REPOSITORY mitliefern. Zum Beispiel:
CREATE OR REPLACE FUNCTION sklearn_udf()
RETURNS FLOAT
LANGUAGE PYTHON
RUNTIME_VERSION = 3.9
ARTIFACT_REPOSITORY = snowflake.snowpark.pypi_shared_repository
PACKAGES = ('scikit-learn')
HANDLER = 'udf'
AS
$$
Das ist eine enorme Verbesserung gegenüber dem bisherigen Vorgehen, bei dem Python-Wheels erst auf Snowflake Stages kopiert werden mussten. Snowflake macht die Nutzung populärer Bibliotheken damit deutlich einfacher!
Weitere Informationen finden Sie unter Artifact Repository overview.
Weitere Updates (außerhalb des Summit):
- Snowflake hat die Größenlimits für Datenbankobjekte angehoben.
- Sie können nun Nested Stored Procedures verwenden, also eine Stored Procedure aus einer anderen heraus aufrufen.
- Snowflake Streams auf Iceberg-Tabellen, inklusive Row-Level-Deletes (Standard Streams).
- Malicious IP Protection schützt alle Snowflake-Accounts, indem Traffic von bekannten schädlichen IPs blockiert wird.
- Updates am Native App Framework.
- Notebooks bieten nun mehr vorkonfigurierte Runtimes.
Fazit
Wie eingangs erwähnt: Viele Ankündigungen aus dem Juni 2025 tauchen hier nicht auf, weil sie bereits im Summit Recap behandelt wurden. Künftige Ausgaben von "Last Month in Snowflake" werden wieder nahezu lückenlos sein. Wir halten Sie auch weiterhin über die wichtigsten Snowflake-Änderungen auf dem Laufenden!
Jeff ist Data & Analytics Consultant mit über 15 Jahren Erfahrung in der Automatisierung von Insights und der datenbasierten Steuerung von Geschäftsprozessen. Technologisch ist er auf Snowflake + dbt + Tableau spezialisiert. Inhaltlich bringt er Erfahrung aus den Bereichen Public Utility, Clinical Trials, Publishing, CPG und Manufacturing mit. Sie erreichen ihn jederzeit unter [email protected].