Kurs
Was ist Snowflake?
Wenn mich jemand bitten würde, Snowflake mit so wenigen Worten wie möglich zu beschreiben, würde ich diese wählen:
- Data Warehouses
- Groß angelegte Daten
- Multi-Cloud
- Abtrennung
- Skalierbar
- Flexibel
- Einfach
Wenn sie wollten, dass ich etwas ausführlicher werde, habe ich die Wörter so aneinandergereiht:
Snowflake ist eine sehr beliebte Cloud-Plattform für KI-Daten. Es hebt sich von der Konkurrenz ab, weil es große Datenmengen und Arbeitslasten schneller und effizienter verarbeiten kann. Seine überragende Leistung beruht auf seiner einzigartigen Architektur, die getrennte Speicher- und Rechenschichten verwendet und dadurch unglaublich flexibel und skalierbar ist. Außerdem lässt sich das System nativ mit mehreren Cloud-Anbietern integrieren. Trotz dieser fortschrittlichen Funktionen ist es einfach zu erlernen und umzusetzen.
Wenn sie noch mehr Details verlangen, dann würde ich dieses Tutorial schreiben. Wenn du ganz neu auf dem Gebiet bist, ist unser Kurs Einführung in Snowflake ein guter Anfang.
Warum Snowflake benutzen?
Snowflake bedient mehr als 8.900 Kunden weltweit und verarbeitet täglich 3,9 Milliarden Anfragen. Diese Art von Nutzungsstatistiken sind keineswegs ein Zufall.
Nachfolgend sind die besten Vorteile von Snowflake aufgeführt, die so viel Anziehungskraft haben:
1. Cloud-basierte Architektur
Snowflake wird in der Cloud betrieben und ermöglicht es Unternehmen, ihre Ressourcen je nach Bedarf auf- und abzubauen, ohne sich um die physische Infrastruktur (Hardware) kümmern zu müssen. Die Plattform übernimmt auch routinemäßige Wartungsaufgaben wie Software-Updates, Hardware-Management und Leistungsoptimierung. Dadurch wird der Wartungsaufwand verringert und die Unternehmen können sich auf das Wesentliche konzentrieren: die Wertschöpfung aus den Daten.
2. Elastizität und Skalierbarkeit
Snowflake trennt Speicher- und Rechenebenen und ermöglicht es den Nutzern, ihre Rechenressourcen unabhängig von ihrem Speicherbedarf zu skalieren. Diese Elastizität ermöglicht die effiziente Bewältigung unterschiedlicher Arbeitslasten mit optimaler Leistung und ohne unnötige Kosten.
3. Gleichzeitigkeit und Leistung
Snowflake kann problemlos mit hoher Gleichzeitigkeit umgehen: Mehrere Nutzer können ohne Leistungseinbußen auf die Daten zugreifen und sie abfragen.
4. Datenaustausch
Die Sicherheitsvorkehrungen von Snowflake ermöglichen die gemeinsame Nutzung von Daten durch andere Organisationen, interne Abteilungen, externe Partner, Kunden oder andere Interessengruppen. Komplexe Datenübertragungen sind nicht erforderlich.
5. Zeitreise
Snowflake verwendet für die Versionierung von Daten den schicken Begriff "Time Travel". Bei jeder Änderung in der Datenbank erstellt Snowflake einen Snapshot. So können die Nutzer/innen zu verschiedenen Zeitpunkten auf historische Daten zugreifen.
6. Kosteneffizienz
Snowflake bietet ein Pay-as-you-go-Modell, da es die Ressourcen dynamisch skalieren kann. Du zahlst nur für das, was du nutzt.
All diese Vorteile zusammen machen Snowflake zu einer begehrten KI Data Cloud Plattform.
Werfen wir nun einen Blick auf die zugrunde liegende Architektur von Snowflake, die diese Funktionen freischaltet.
Werde Dateningenieur
Was ist ein Data Warehouse?
Bevor wir uns mit der Architektur von Snowflake befassen, sollten wir einen Blick auf die Data Warehouses werfen, um sicherzustellen, dass wir alle auf derselben Seite stehen.
Ein Data Warehouse ist ein zentraler Speicher, der große Mengen an strukturierten und organisierten Daten aus verschiedenen Quellen für ein Unternehmen speichert. Verschiedene Personas (Mitarbeiter/innen) in Organisationen nutzen die Daten, um unterschiedliche Erkenntnisse zu gewinnen.
Zum Beispiel können Datenanalysten in Zusammenarbeit mit dem Marketingteam einen A/B-Test für eine neue Marketingkampagne durchführen und dabei die Tabelle mit den Verkäufen verwenden. Personalspezialisten können die Mitarbeiterdaten abfragen, um die Leistung zu verfolgen.
Dies sind einige Beispiele dafür, wie Unternehmen weltweit Data Warehouses nutzen, um ihr Wachstum voranzutreiben. Aber ohne eine ordnungsgemäße Implementierung und Verwaltung mithilfe von Tools wie Snowflake bleiben Data Warehouses nur ein kompliziertes Konzept.
Mit unserem Kurs Data Warehousing kannst du mehr über dieses Thema erfahren.
Snowflake Architektur
Die einzigartige Architektur von Snowflake, die für schnellere analytische Abfragen entwickelt wurde, beruht auf der Trennung von Speicher- und Rechenebenen. Diese Unterscheidung trägt zu den Vorteilen bei, die wir bereits erwähnt haben.
Speicherschicht
In Snowflake ist die Speicherschicht eine wichtige Komponente, die Daten effizient und skalierbar speichert. Hier sind einige wichtige Merkmale dieser Ebene:
- Cloud-based: Snowflake lässt sich nahtlos in die großen Cloud-Anbieter wie AWS, GCP und Microsoft Azure integrieren.
- Säulenförmiges Format: Snowflake speichert Daten in einem spaltenförmigen Format, das für analytische Abfragen optimiert ist. Im Gegensatz zu den traditionellen zeilenbasierten Formaten, die von Tools wie Postgres verwendet werden, ist das Spaltenformat gut für die Datenaggregation geeignet. Bei der spaltenbasierten Speicherung greifen die Abfragen nur auf die benötigten Spalten zu, was sie effizienter macht. Bei zeilenbasierten Formaten hingegen muss für einfache Operationen wie die Berechnung von Durchschnitten auf alle Zeilen im Speicher zugegriffen werden.
- Mikro-Partitionierung: Snowflake verwendet eine Technik namens Mikropartitionierung, bei der Tabellen in kleinen Teilen im Speicher abgelegt werden. Jeder Chunk ist in der Regel unveränderlich und nur ein paar Megabyte groß, was die Optimierung und Ausführung von Abfragen deutlich beschleunigt.
- Null-Kopie-Klonen: Snowflake verfügt über eine einzigartige Funktion, mit der es virtuelle Klone von Daten erstellen kann. Das Klonen erfolgt sofort und verbraucht keinen zusätzlichen Speicherplatz, bis Änderungen an der neuen Kopie vorgenommen werden.
- Größe und Elastizität: Die Speicherebene ist horizontal skalierbar, d.h. sie kann wachsende Datenmengen bewältigen, indem sie weitere Server hinzufügt, um die Last zu verteilen. Außerdem erfolgt diese Skalierung unabhängig von den Rechenressourcen, was ideal ist, wenn du große Datenmengen speichern, aber nur einen kleinen Teil davon analysieren willst.
Schauen wir uns nun die Rechenschicht an.
Compute-Schicht
Wie der Name schon sagt, ist der Compute Layer die Engine, die deine Abfragen ausführt. Sie arbeitet mit der Speicherschicht zusammen, um die Daten zu verarbeiten und verschiedene Rechenaufgaben durchzuführen. Im Folgenden erfährst du mehr darüber, wie diese Ebene funktioniert:
- Virtuelle Lagerhäuser: Du kannst dir Virtual Warehouses als Teams von Computern (Compute Nodes) vorstellen, die für die Verarbeitung von Abfragen zuständig sind. Jedes Teammitglied bearbeitet einen anderen Teil der Abfrage, was die Ausführung beeindruckend schnell und parallel macht. Snowflake bietet virtuelle Lagerhäuser in verschiedenen Größen und damit auch zu verschiedenen Preisen an (die Größen sind XS, S, M, L, XL).
- Architektur mit mehreren Clustern und Knotenpunkten: Die Rechenschicht nutzt mehrere Cluster mit mehreren Knoten für hohe Gleichzeitigkeit, so dass mehrere Nutzer gleichzeitig auf die Daten zugreifen und sie abfragen können.
- Automatische Abfrageoptimierung: Das System von Snowflake analysiert alle Abfragen und identifiziert anhand historischer Daten Muster, die optimiert werden können. Zu den üblichen Optimierungen gehören das Bereinigen unnötiger Daten, die Verwendung von Metadaten und die Wahl des effizientesten Ausführungspfads.
- Ergebnis-Cache: Die Rechenschicht enthält einen Cache, in dem die Ergebnisse häufig ausgeführter Abfragen gespeichert werden. Wenn dieselbe Abfrage erneut ausgeführt wird, werden die Ergebnisse fast sofort zurückgegeben.
Diese Konstruktionsprinzipien der Rechenschicht tragen alle dazu bei, dass Snowflake unterschiedliche und anspruchsvolle Arbeitslasten in der Cloud bewältigen kann.
Cloud Dienste Schicht
Die letzte Schicht sind die Cloud-Dienste. Da diese Schicht in jede Komponente der Architektur von Snowflake integriert ist, gibt es viele Details zu ihrer Funktionsweise. Zusätzlich zu den Merkmalen der anderen Schichten hat sie die folgenden zusätzlichen Aufgaben:
- Sicherheit und Zugangskontrolle: Diese Schicht setzt Sicherheitsmaßnahmen durch, darunter Authentifizierung, Autorisierung und Verschlüsselung. Administratoren verwenden die rollenbasierte Zugriffskontrolle (Role-Based Access Control, RBAC), um Benutzerrollen und Berechtigungen zu definieren und zu verwalten.
- Datenaustausch: Diese Schicht implementiert sichere Protokolle für den Datenaustausch zwischen verschiedenen Konten und sogar Drittorganisationen. Datenkonsumenten können auf die Daten zugreifen, ohne sie bewegen zu müssen, was die Zusammenarbeit und die Monetarisierung der Daten fördert.
- Unterstützung für halbstrukturierte Daten: Ein weiterer einzigartiger Vorteil von Snowflake ist die Fähigkeit, semi-strukturierte Daten wie JSON und Parquet zu verarbeiten, obwohl es sich um eine Data Warehouse Management Plattform handelt. Es kann leicht halbstrukturierte Daten abfragen und die Ergebnisse in bestehende Tabellen integrieren. Diese Flexibilität ist bei anderen RDBMS-Tools nicht gegeben.
Jetzt, wo wir einen Überblick über die Architektur von Snowflake haben, können wir ein wenig SQL auf der Plattform schreiben.
Einrichten von Snowflake SQL
Snowflake hat seine eigene Version von SQL, Snowflake SQL. Der Unterschied zwischen ihm und anderen SQL-Dialekten ist vergleichbar mit dem Unterschied zwischen englischen Akzenten.
Viele der analytischen Abfragen, die du in Dialekten wie PostgreSQL durchführst, ändern sich nicht, aber es gibt einige Diskrepanzen bei den DDL-Befehlen (Data Definition Language).
Jetzt zeige ich dir, wie du ein paar Abfragen machen kannst!
Snowsight: Web-Interface

Um mit Snowsight zu beginnen, rufe die 120-tägige kostenlose Testseite von Snowflake auf und erstelle ein Konto. Gib deine persönlichen Daten ein und wähle einen der aufgeführten Cloud-Anbieter aus. Das bedeutet, dass du 120 Tage lang kostenlos testen kannst und nicht wie sonst üblich nur 30 Tage. Die Studie beinhaltet außerdem Gutschriften im Wert von 400 $.
Wenn du dich für eine Testversion anmeldest, solltest du AWS und die Region US-Oregon West wählen. Unter anderem ist Oregon eine der Regionen mit den niedrigsten Kosten für AWS-Infrastruktur, weshalb die Testgutschriften länger gelten.
Nachdem du deine E-Mail verifiziert hast, wirst du auf die Seite mit den Arbeitsblättern weitergeleitet. Arbeitsblätter sind interaktive Live-Coding-Umgebungen, in denen du deine SQL-Abfragen schreiben, ausführen und die Ergebnisse ansehen kannst.

Um einige Abfragen durchzuführen, brauchen wir eine Datenbank und eine Tabelle (wir werden die Beispieldaten in Snowsight nicht verwenden). Für den Anfang empfehle ich dir, eine neue Datenbank zu erstellen (du könntest sie z.B. test_db nennen) und eine Tabelle mit einer lokalen CSV-Datei zu erstellen. Du kannst die CSV-Datei herunterladen, indem du den Code in diesem GitHub gist in deinem Terminal ausführst.
Danach wirst du zu einem neuen Arbeitsblatt weitergeleitet, auf dem du jede beliebige SQL-Abfrage ausführen kannst. Ich finde, die Arbeitsblattschnittstelle ist ziemlich einfach und sehr funktional. Nimm dir ein paar Minuten Zeit, um dich mit den Bedienfeldern, den Tasten und ihren jeweiligen Positionen vertraut zu machen.
Fazit und weiteres Lernen
Uff! Wir haben mit einfachen Konzepten angefangen, aber zum Ende hin haben wir uns in die knorrigen Details gestürzt. Das ist meine Vorstellung von einem anständigen Lernprogramm.
Du hast wahrscheinlich schon geahnt, dass Snowflake noch viel mehr zu bieten hat als das, was wir hier beschrieben haben. Die Snowflake-Dokumentation enthält sogar Schnellstartanleitungen, die 128 Minuten lang sind! Aber bevor du diese in Angriff nimmst, empfehle ich dir, dich mit einigen anderen Ressourcen vertraut zu machen. Wie wäre es mit diesen:
- Einführung in Snowflake
- Ein Webinar zur Modernisierung der Vertriebsanalyse mit Snowflake
- Datenanalyse in Snowflake mit Python Code-along
- Offizielle Snowflake-Benutzerhandbücher
- Snowflake Northstar, um mehr über die langfristige Vision von Snowflake zu erfahren.
Danke fürs Lesen!
Lass dich für deine Traumrolle als Data Engineer zertifizieren
Unsere Zertifizierungsprogramme helfen dir, dich von anderen abzuheben und potenziellen Arbeitgebern zu beweisen, dass deine Fähigkeiten für den Job geeignet sind.


Ich bin ein Data Science Content Creator mit über 2 Jahren Erfahrung und einem der größten Follower auf Medium. Ich schreibe gerne ausführliche Artikel über KI und ML mit einem etwas sarkastischen Stil, denn man muss etwas tun, damit sie nicht so langweilig sind. Ich habe mehr als 130 Artikel verfasst und einen DataCamp-Kurs gemacht, ein weiterer ist in Vorbereitung. Meine Inhalte wurden von über 5 Millionen Augenpaaren gesehen, von denen 20.000 zu Followern auf Medium und LinkedIn wurden.
