Snowflake ist eine Cloud-basierte Datenplattform, die die Datenspeicherung und -analyse revolutioniert hat. Während die meisten Cloud-Plattformen analytische Berechnungen und speicherbezogene Aufgaben wie die Übertragung von Daten auf denselben Ressourcen durchführen, trennt die einzigartige Architektur von Snowflake die Berechnungslast von der Speicherlast. Mit dem wachsenden Datenvolumen wird die Fähigkeit von Snowflake, sich an die Bedürfnisse des Unternehmens anzupassen, in der modernen Datenwirtschaft immer wichtiger.
Dieser Artikel führt dich von Grund auf in Snowflake ein. Du brauchst keine Vorkenntnisse über Datenbanken oder Cloud Computing, um mitzumachen. Wir erklären dir, was Snowflake ist, was es auszeichnet, wie es verwendet wird und wie du noch heute einsteigen kannst. Wenn du nach einem praktischeren Ansatz suchst, schau dir unseren Snowflake Foundations Lernpfad.
Was ist Snowflake?
Bei herkömmlichen On-Premises-Datenbanken befinden sich der gesamte Speicherplatz, die Rechenleistung und die Netzwerkausrüstung in den Räumlichkeiten des Unternehmens (On-Premise).
Snowflake ist eine Cloud-native Datenplattform, die es Unternehmen ermöglicht, Daten in großem Umfang zu speichern, zu verwalten, zu analysieren und zu teilen. Snowflake ist vollständig in der Cloud angesiedelt und bietet leistungsstarke Tools für Data Warehousing, Data Lakes, Business Intelligence und maschinelles Lernen - alles in einer Plattform.
Außerdem macht es den Austausch von Daten zwischen verschiedenen Teams einfach. Dateningenieure und Datenanalysten verwenden häufig eine Programmiersprache namens SQL, um Daten umzuwandeln bzw. zu analysieren. Da Snowflake auf SQL läuft, können diese beiden Gruppen leichter über ihren Datenbedarf kommunizieren.
Sie lässt sich hervorragend mit anderen Cloud-Anbietern integrieren und wird oft wegen ihrer einzigartigen Architektur gewählt, die die Effizienz der Datenverarbeitung unterstützt.
Integration in die Cloud
Snowflake selbst ist eine komplette Cloud-Umgebung, aber das bedeutet nicht, dass die Nutzer/innen komplett an das Ökosystem gebunden sind. Sie lässt sich mit den drei wichtigsten Cloud-Plattformen integrieren:
- Amazon Web Services (AWS)
- Microsoft Azure
- Google Cloud Platform (GCP)
Diese Integrationen ermöglichen es Snowflake-Nutzern, Daten von Snowflake auf einfache Weise mit ihrer bestehenden Cloud-Plattform zu teilen und andersherum. So können Unternehmen Snowflake mit minimalem Entwicklungsaufwand in der Cloud-Umgebung einsetzen, die sie bereits nutzen.
Einzigartige Architektur
Snowflake hat drei Hauptschichten: eine Dienstschicht, eine Rechenschicht und eine Speicherschicht. Die Serviceschicht ist allgemein, sie hostet alle Cloud-Funktionen wie Sicherheit, Zugang und Infrastruktur. Das Besondere an Snowflake ist, dass es die Rechen- und Speicherschicht trennt.
Meistens werden Rechenressourcen wie CPU und Speicher für die Berechnung und Speicherung von Daten gemeinsam genutzt. Die Trennung von Snowflake bietet einige Vorteile, die eine einfache Skalierung und mehr Effizienz ermöglichen. Dies geschieht durch das Konzept der "virtuellen Lagerhäuser", in denen jede Person, die Snowflake nutzt, ihre eigenen virtuellen Ressourcen erhält, die nicht mit anderen geteilt werden.
So ist es zum Beispiel einfach, Daten zu teilen, da du mehr Ressourcen für die Übertragung und das Kopieren von Daten an die Nutzer/innen aufwenden kannst. Anstatt dass jeder in deinem Unternehmen Daten aus einer Kopie der Daten abruft, erstellt Snowflake temporäre Kopien für jede Person.
Da du nun keine wertvollen Ressourcen mehr für die Speicherung und das Kopieren von Daten aufwenden musst, hast du auch mehr CPU für die Analyse und die Datenverarbeitung zur Verfügung. Das bedeutet, dass Dinge wie deine SQL-Abfragen und analytischen Pipelines schneller laufen, solange dein virtuelles Lagerhaus groß genug ist, um die Berechnungen zu bewältigen.
Hier ist eine Zusammenfassung der Vorteile:
- Lagerung: Deine Daten befinden sich in einem zentralen Repository. Alles, was mit den Daten zu tun hat, wie das Partitionieren oder Indizieren der Daten, wird von Arbeitern durchgeführt, die auf gespeicherte Daten spezialisiert sind. Snowflake gibt dann Komponenten der Daten weiter, die für die Sitzung des Nutzers/der Nutzerin notwendig sind.
- Berechne: Die Rechenaufgaben werden von virtuellen Lagerhäusern ausgeführt, die im Grunde genommen ein Cluster von Rechenressourcen (CPU und Speicher) sind, die Dinge wie analytische SQL-Aufgaben, das Laden/Entladen von Daten und so weiter erledigen.
Die Architektur von Snowflake bietet durch die Trennung von Speicher- und Rechenressourcen mehrere entscheidende Vorteile:
- Skalierbarkeit: Skaliere die Rechenleistung und den Speicherplatz ganz einfach unabhängig voneinander. Du brauchst mehr Platz? Füge es ohne zusätzliche CPU-Kosten hinzu. Du brauchst mehr Rechenleistung? Erweitere dein virtuelles Lager, ohne die Datenspeicherung zu beeinträchtigen.
- Gleichzeitigkeit: Mehrere Nutzer und Aufgaben laufen gleichzeitig, ohne um Ressourcen zu konkurrieren, und gewährleisten so eine gleichbleibende Leistung für alle.
- Kosteneffizienz: Bezahle nur für das, was du nutzt. Skaliere deine Ressourcen schnell und bedarfsgerecht, um unnötige Kosten zu vermeiden.
Snowflake Architektur (docs.snowflake.com)
Wenn du tiefer eintauchen willst, schau dir diesen Artikel über Architektur von Snowflake.
Hauptmerkmale von Snowflake
Snowflake ist eine vollständig verwaltete, Cloud-native Datenplattform, die auf die Bedürfnisse moderner Datenteams zugeschnitten ist. Wie wir gesehen haben, bietet es große Skalierbarkeit, Leistung und Sicherheit. Dank der SQL-Unterstützung und der benutzerfreundlichen Oberfläche ist die Plattform auch recht einfach zu bedienen.
Skalierbarkeit
Die Skalierbarkeit bezieht sich darauf, wie gut ein System wachsen und mehr Daten oder mehr Nutzer verarbeiten kann, ohne an Leistung zu verlieren. Snowflake zeichnet sich hier durch seine getrennte Speicher- und Rechenarchitektur aus. Wenn ich mehr Rechenleistung brauche, kann ich die virtuellen Lagerhäuser größer machen. Wenn ich mehr Speicherplatz brauche, kann ich einfach mehr Speicherplatz beantragen.
Bei herkömmlichen Systemen bedeutet Skalierung oft Ausfallzeiten oder eine Neukonfiguration der Hardware. Wenn ich mehr Rechenleistung oder mehr Speicherplatz brauche, kann es ein langwieriger Prozess sein, die alte Hardware auszubauen und Daten oder Software auf die neue Hardware zu kopieren. In Snowflake ist das nur einen Klick (oder einen Befehl) entfernt.
Beispiele:
- Ein kleines Startup könnte mit einem X-Small-Lager für einfache Abfragen und gelegentliche Berichte beginnen.
- Wenn die Daten wachsen, können sie auf ein Large oder X-Large Warehouse aufrüsten, ohne die Daten zu migrieren. Bei herkömmlichen Datendiensten musst du diese Daten möglicherweise erst in ein größeres physisches Lager übertragen, bevor du auf eine größere Rechenleistung zugreifen kannst.
- Bei hoher Gleichzeitigkeit (viele Nutzer greifen gleichzeitig auf das System zu) unterstützt Snowflake Multi-Cluster-Warehouses, die automatisch zusätzliche Cluster aufsetzen, um die Last zu bewältigen.
Außerdem skaliert Snowflake die Rechencluster automatisch nach oben oder unten, je nachdem, wie hoch die Arbeitslast ist. Das garantiert:
- Schnelle Abfrageleistung bei Spitzenbelastungen.
- Kosteneinsparungen während Leerlaufzeiten (Rechenressourcen werden automatisch angehalten).
Leistung
Snowflake ist für anspruchsvolle Daten-Workloads optimiert und bietet konstante Geschwindigkeit, egal ob komplexe Analysen, Batch-Uploads oder Live-Dashboards ausgeführt werden. Zu den Schlüsseltechnologien, die seine hohe Leistungsfähigkeit ausmachen, gehören:
- Säulenspeicher: Daten, die in Spalten statt in Zeilen gespeichert werden, beschleunigen analytische Abfragen, da sie nur auf die benötigten Daten zugreifen.
- Automatische Abfrageoptimierung: Snowflake analysiert und optimiert Abfragen automatisch und verbessert die Leistung, je öfter du es benutzt.
- Ergebnis-Caching: Häufig ausgeführte Abfragen werden sofort aus den zwischengespeicherten Ergebnissen bedient, was sowohl die Berechnungszeit als auch die Kosten reduziert.
- Metadatenmanagement: Die intelligente Verfolgung von Datenstatistiken und Abfragemustern sorgt für eine effiziente Abfrageausführung.
Sicherheit
Snowflake legt Wert auf Sicherheit auf Unternehmensebene mit robusten Maßnahmen zum Schutz deiner Daten:
- End-to-End-Verschlüsselungn: Die AES-256-Verschlüsselung schützt die Daten sowohl im Ruhezustand als auch bei der Übertragung.
- Rollenbasierte Zugriffskontrolle (RBAC): Die granulare Zugriffsverwaltung stellt sicher, dass die Nutzer nur das sehen, was sie brauchen, und minimiert das Risiko.
- Multi-Faktor-Authentifizierung: Fügt eine zusätzliche Sicherheitsebene für den Zugriff auf Snowflake hinzu.
- Datenmaskierung und Sicherheit auf Zeilenebene: Feinkörnige Kontrollen schränken die Sichtbarkeit sensibler Daten nach Rollen ein.
- Konformitätsbescheinigungen: Erfüllt Branchenstandards wie HIPAA und GDPR.
- Zeitreisen und Fail-Safe: Du kannst historische Daten wiederherstellen und gelöschte Datensätze bis zu 90 Tagen wiederherstellen, um sie vor Fehlern oder bösartigen Aktivitäten zu schützen.
Einfachheit der Nutzung
Snowflake wird weithin für sein benutzerfreundliches Design gelobt, das besonders für SQL-erfahrene Anfänger von Vorteil ist. Zu den wichtigsten Funktionen gehören die Benutzerfreundlichkeit:
- Webbasierte Schnittstelle: Eine intuitive Benutzeroberfläche vereinfacht die Datenbanknavigation, das Schreiben von Abfragen und die Benutzerverwaltung.
- Standard-SQL-Kompatibilität: Es wird keine neue Sprache benötigt. Snowflake unterstützt die bekannten SQL-Anweisungen von Anfang an.
- Null Infrastrukturmanagement: Vollständig verwaltet, mit automatischer Skalierung und Optimierung ohne Einrichtung oder Wartung der Infrastruktur.
- Breite Tool-Integration: Verbindet sich nahtlos mit Analysetools (PowerBI, Tableau), ETL-Diensten (Fivetran) und Sprachen (Python, Java).
- Datenmarktplatz: Erkunde und abonniere einfach Datensätze von Drittanbietern, ohne Daten zu verschieben, und verbessere so die Analysefunktionen.
Snowflake ist bestrebt, den Wechsel von einem anderen Dienst oder einer anderen Plattform so einfach wie möglich zu gestalten. Hier ist eine großartige Code-Session um mehr darüber zu erfahren, wie einfach Snowflake für die Datenanalyse mit Sprachen wie Python und SQL verwendet werden kann.
Feature | Beschreibung | Wichtige Vorteile/Beispiele |
---|---|---|
Skalierbarkeit | Skaliert Rechenleistung und Speicherplatz ganz einfach unabhängig voneinander. |
|
Leistung | Optimiert für schnelle Analysen und zuverlässiges Workload-Handling. |
|
Sicherheit | Robuste Sicherheit auf Unternehmensniveau zum Schutz der Datenintegrität. |
|
Benutzerfreundlichkeit | Benutzerfreundliche Oberfläche und vertraute SQL-Kompatibilität. |
|
Wofür wird Snowflake verwendet?
Snowflake ist vielseitig einsetzbar, vom Data Warehouse bis hin zu Echtzeit-Analysen. In diesem Abschnitt gehen wir auf die Grundlagen der Funktion von Snowflake ein.
Data Warehousing
Ein Data Warehouse ist im Wesentlichen eine zentrale Drehscheibe für strukturierte Daten, die aus verschiedenen Quellen gesammelt werden. Snowflake ist beliebt, weil es alle technischen Komplexitäten automatisch erledigt. Du musst dich nicht um die Serverwartung oder die manuelle Optimierung deines Speichers kümmern, Snowflake übernimmt das für dich.
- Automatische Skalierung bedeutet, dass dein Lager je nach Bedarf wächst oder schrumpft.
- Minimaler Aufwand für die Infrastruktur - konzentriere dich einfach auf die Analyse deiner Daten.
- Schnelle Abfrageleistung ohne spezielle Kenntnisse.
Datenseen
Data Lakes speichern rohe, unverarbeitete Daten, die strukturiert (wie Tabellenkalkulationen), halbstrukturiert (wie E-Mails oder JSON-Dateien) oder unstrukturiert (Audio oder Video) sein können. Snowflake vereinfacht diese Aufgabe, indem es verschiedene Datenformate wie JSON, Parquet, ORC, Avro und XML nativ verarbeitet.
- Keine externe Bearbeitung oder komplizierte Einstellungen.
- Kombiniert die Flexibilität von Data Lakes mit dem Komfort von Data Warehouses und schafft so das, was oft als "Lakehouse" bezeichnet wird.
Datenaustausch
Die gemeinsame Nutzung von Daten zwischen Teams oder sogar verschiedenen Organisationen ist normalerweise mit viel Kopieren und Exportieren verbunden. Snowflake macht diesen Prozess mühelos - du behältst deine Daten in deiner eigenen Umgebung und gewährst anderen einfach Echtzeitzugriff.
- Sofortiger und sicherer Datenaustausch.
- Vereinfachte Zusammenarbeit ohne Übertragung von Dateien.
Echtzeit-Analysen
Echtzeit-Analytik bedeutet, dass die Daten verarbeitet und analysiert werden können, sobald sie eintreffen, anstatt auf regelmäßige Batch-Ladungen zu warten. Snowflake ermöglicht dies durch die Unterstützung von Dateningestion und Streaming-Pipelines mit niedriger Latenz. Snowflake bietet eine Reihe von Tools, die Echtzeit-Analysen unterstützen:
- Snowpipe: Ein serverloser Ingestion-Service, der Dateien automatisch lädt, sobald sie im Cloud-Speicher (z. B. S3, Azure Blob) ankommen.
- Snowpipe Streaming: Eine neuere Funktion, die es Anwendungen ermöglicht, Daten zeilenweise über SDKs mit einer Latenzzeit von weniger als einer Sekunde in Snowflake zu übertragen.
- Streams und Tasks: Native Funktionen zum Verfolgen von Änderungen und Automatisieren von Umwandlungen
Erfahre mehr über die verschiedenen Datenpipelines in Snowflake, die Echtzeit-Analysen vereinfachen, mit diesem Einsteigerhandbuch zum Aufbau von Pipelines in Snowflake.
Das Ökosystem von Snowflake erforschen
Snowflake bietet nicht nur leistungsstarke Tools für die Datenpipeline, sondern auch ein ganzes Analyse-Ökosystem. Es bietet KI- und ML-Lösungen und ermöglicht es Entwicklern, in ihrer eigenen Programmiersprache zu schreiben, um Datenumwandlungen zu erstellen.
Snowflake Cortex: Integration von KI und ML
Snowflake Cortex ist die in Snowflake integrierte Schicht für künstliche Intelligenz und maschinelles Lernen (AI/ML). Sie ermöglicht es Teams, generative KI, Vorhersagemodelle und natürlichsprachliche Erfahrungen direkt dort zu erstellen, auszuführen und zu skalieren, wo ihre Daten liegen, ohne sie auf externe KI-Plattformen verschieben zu müssen.
Snowflake bietet sofort einsatzbereite KI-Funktionen, die du mit einfachem SQL ausführen kannst, z. B. die Möglichkeit, LLMs (wie Deepseek oder Facebooks Llama) zu nutzen, um Kundenrezensionen zusammenzufassen, zu übersetzen und zu verstehen. Cortex Analyst ermöglicht es den Nutzern, Daten in natürlicher Sprache abzufragen, was für Nutzer, die weniger SQL-affin sind, sehr hilfreich ist. Du kannst Snowflake einfach Fragen stellen wie "Wie war der Umsatz im letzten Quartal?" und Snowflake fragt die Daten für dich ab.
Snowflake bietet auch ein ML Studio an, das großartige No-/Low-Code-Optionen für das Testen und Evaluieren von Machine-Learning-Modellen auf Snowflake-Live-Daten bietet. Eine praktische Anleitung zu Snowflake Cortex AI findest du in diesem Leitfaden, in dem es um Textverarbeitung in Snowflake.
Snowpark: Entwickler befähigen
Snowpark ist ein Entwickler-Framework, mit dem du komplexe Datenlogik mit bekannten Programmiersprachen wie Python, Java oder Scala direkt in der Snowflake-Umgebung erstellen und ausführen kannst.
Bisher mussten Dateningenieure die Daten aus den Lagern extrahieren, um sie an anderer Stelle zu verarbeiten. Snowpark kehrt dieses Modell um, indem es die Logik zu den Daten bringt und so die Leistung, Sicherheit und Kosteneffizienz verbessert.
Jetzt kannst du eine datenbankinterne Verarbeitung durchführen, bei der dein Python oder Java nativ in Snowflake läuft, ohne dass du eine separate Spark-Sitzung benötigst. Die Teammitglieder können entweder SQL oder Python auf derselben Plattform verwenden und gemeinsam an denselben Daten arbeiten. Außerdem laufen alle Daten in Snowflake, anstatt sie über Konnektoren lokal in diese Programmierumgebungen zu bringen, was das Risiko der Datenexposition verringert.
Wenn du mehr über die Ausführung von Programmiersprachen in Snowflake wissen willst, solltest du mehr über Snowpark erfahren in dieser Snowflake Snowpark Einführung.
Snowflake auf AWS
Snowflake wurde von Grund auf für den Betrieb in der Cloud entwickelt, wobei der erste und ausgereifteste Einsatz auf AWS erfolgte. Dank dieser frühzeitigen und tiefgreifenden Integration verfügt Snowflake über eine enge Interoperabilität mit den wichtigsten AWS-Diensten, so dass Benutzer sichere, skalierbare und hochautomatisierte Datenpipelines mit den vertrauten AWS-Tools und -Infrastrukturen aufbauen können.
Wenn dein Unternehmen bereits AWS nutzt, macht die Bereitstellung von Snowflake auf AWS das Verschieben, Verarbeiten und Analysieren deiner Daten deutlich einfacher. Es gibt viele Dienste, die in Snowflake nahtlos funktionieren.
Wichtige AWS-Services, die mit Snowflake funktionieren
1. Amazon S3 (Einfacher Speicherdienst)
S3 ist das Cloud-Speichersystem von AWS, das häufig zum Speichern von Datendateien wie Logs, CSVs, JSON, Parquet und mehr verwendet wird. Hier ist ein Artikel, der mehr darüber erzählt Amazon S3. Snowflake lässt sich direkt in S3 integrieren und ermöglicht es dir,..:
- Ingest-Daten aus S3: Du kannst
COPY INTO
oder Snowpipe verwenden, um strukturierte oder halbstrukturierte Daten aus S3-Buckets in Snowflake-Tabellen zu laden. - Daten in S3 schreiben: Mit Snowflake kannst du auch Daten in S3 exportieren oder bereitstellen, um sie zu teilen, zu sichern oder weiterzuverarbeiten.
- Null-Kopie-Zugriff (über externe Tabellen): Snowflake kann Daten direkt in S3 abfragen, ohne sie vorher zu kopieren, und dabei externe Tabellen verwenden, was Zeit und Speicherkosten spart.
2. AWS PrivateLink
AWS PrivateLink ist eine Netzwerkfunktion, die private, sichere Verbindungen mit hoher Bandbreite zwischen deiner AWS Virtual Private Cloud (VPC) und Snowflake herstellt.
Ohne PrivateLink würde der Datenverkehr zwischen deinen AWS-Systemen und Snowflake normalerweise über das öffentliche Internet laufen. Sie gewährleistet die strikte Einhaltung von Vorschriften oder Latenzzeiten mit den folgenden Funktionen:
- Deine Daten bleiben innerhalb der Grenzen deines AWS-Netzwerks.
- Du eliminierst den Zugang zum öffentlichen Internet.
- Sie hilft dabei, Sicherheits- und Regulierungsanforderungen zu erfüllen, insbesondere im Finanz-, Gesundheits- und Regierungssektor.
3. AWS Lambda, SNS und S3 Ereignisbenachrichtigungen
Snowflake unterstützt eine ereignisgesteuerte Architektur durch automatisierte Ingestion, die von AWS-Services ausgelöst wird. So funktionieren sie zusammen:
- S3 Ereignisbenachrichtigungen: Jedes Mal, wenn eine Datei in einen S3-Bucket hochgeladen wird, kann AWS eine Benachrichtigung senden.
- SNS (Simple Notification Service): Diese Benachrichtigungen können Nachrichten an andere AWS-Services oder -Systeme auslösen.
- AWS Lambda: Dies ist eine serverlose Funktion, die ein Skript ausführt, wenn ein Ereignis eintritt. Damit kannst du Snowpipe, den kontinuierlichen Datenlader von Snowflake, aufrufen.
Dieser Workflow macht die manuelle Planung von Datenladungen überflüssig und ermöglicht Ingestion-Pipelines nahezu in Echtzeit - perfekt für Log-Analysen, Sensordaten oder Anwendungstelemetrie.
Wenn du mehr über die Feinheiten der AWS-Infrastruktur von Amazon erfahren möchtest, schau dir diese Anleitungen an AWS Lambdaund über AWS SNSund S3 EFS.
Ich empfehle auch diesen Kurs über AWS Cloud- und Service-Konzepte um zu verstehen, wie all diese Komponenten im Detail funktionieren.
Erste Schritte mit Snowflake
Dies ist ein kurzer Überblick über einige grundlegende Schritte für den Einstieg in Snowflake. Um mehr über die wichtigsten Funktionen von Snowflake zu erfahren, besuche diesen Einführung in Snowflake der die Grundlagen der Nutzung von Snowflake zum Laden und Erforschen von Daten behandelt.
Zugriff auf Snowflake
Der allererste Schritt ist, Zugang zu bekommen. Snowflake bietet (zum Zeitpunkt der Erstellung dieses Artikels im Mai 2025) eine Testversion an, mit der du die Funktionen von Snowflake nutzen kannst. Der Einstieg ist ganz einfach:
- Melde dich unter signup.snowflake.com an.
- Wähle einen Cloud-Anbieter (AWS, Azure, GCP)
- Melde dich bei der Snowflake UI an
Daten laden
Du kannst Daten in Snowflake auf verschiedene Weise laden. Du kannst einen unterstützten Dateityp (Parquet, JSON, csv usw.) per Drag-and-Drop in die Benutzeroberfläche ziehen, der dann zu einer Tabelle in der Datenbank und dem Schema deiner Wahl verarbeitet wird, SQL verwenden oder Programme von Drittanbietern einsetzen.
Eine gängige Methode ist, deine Snowflake mit einem Cloud-Speicher wie Amazons S3 zu verbinden und SQL-Befehle wie COPY INTO
zu verwenden, um Daten von deinem Cloud-Speicher in deine Snowflake-Datenbank zu übertragen.
Schließlich kannst du auch ETL-Tools von Drittanbietern wie Fivetran und Matillion verwenden, um Daten zu verarbeiten, bevor du sie in Snowflake einspeist. Diese Tools von Drittanbietern helfen dir dabei, deine Daten zu bereinigen, bevor sie in Snowflake geladen werden. Wenn du mehr darüber erfahren möchtest, wie du Daten in Snowflake einspeisen kannst, schau dir diesen Leitfaden an Snowflake Dateneingabe.
Laufende Abfragen
Snowflake macht es einfach, Abfragen in der Benutzeroberfläche durchzuführen. Zuerst meldest du dich in deinem Snowflake-Konto an und öffnest dann ein Arbeitsblatt. Das Wichtigste ist, dass du bei Snowflake eine bestimmte Kontorolle und virtuelle Lagerhäuser auswählen musst. Dies ist Teil der Architektur von Snowflake, die den Zugriff auf Speicher- und Rechenressourcen trennt.
Wenn du oder die Person, die dein Snowflake verwaltet, dir verschiedene Kontorollen zugewiesen hat, kann jede Rolle unterschiedliche Zugriffsrechte haben. Vielleicht ist eine Rolle für Live-Produktionsdaten und eine Rolle für Tests vorgesehen. So verhinderst du, dass du in deiner Analyse versehentlich Daten aus verschiedenen Quellen vermischst!
Jede Rolle hat ihre eigenen virtuellen Lagerhäuser. Wähle das richtige Lagerhaus, das dir die benötigten Rechenressourcen bietet. Vielleicht brauchen einfache Dinge nur das X-Small Lager, aber größere Dinge brauchen das Large oder sogar X-Large Lager.
Dann kannst du deine Datenbank und dein Schema auswählen und SQL wie gewohnt ausführen. Die Datenbank ist die wichtigste Speichereinheit, in der die Schemata deine Sammlungen von Tabellen sind.
Sobald du das eingerichtet hast, kannst du wie gewohnt SQL-Abfragen durchführen. Eine Beispielabfrage kann zum Beispiel wie folgt aussehen:
use schema snowflake_sample_data.tpch_sf1;
-- or tpch_sf100, tpch_sf1000
SELECT
l_returnflag,
l_linestatus,
sum(l_quantity) as sum_qty,
sum(l_extendedprice) as sum_base_price,
sum(l_extendedprice * (1-l_discount))
as sum_disc_price,
sum(l_extendedprice * (1-l_discount) *
(1+l_tax)) as sum_charge,
avg(l_quantity) as avg_qty,
avg(l_extendedprice) as avg_price,
avg(l_discount) as avg_disc,
count(*) as count_order
FROM
lineitem
WHERE
l_shipdate <= dateadd(day, -90, to_date('1998-12-01'))
GROUP BY
l_returnflag,
l_linestatus
ORDER BY
l_returnflag,
l_linestatus;
Wenn du mehr über Snowflake wissen willst und wissen willst, wie du die Benutzeroberfläche beherrschst, schau dir diesen Artikel an Wie lerne ich Snowflake?. Wenn du mehr SQL lernen willst, schau dir die zahlreichen SQL-Kurse auf DataCamp.
Fazit
Snowflake ist viel mehr als ein Cloud Data Warehouse. Es ist eine leistungsstarke Plattform, die Data Warehousing, Lakes, Sharing, KI und Entwickler-Tools in einem einzigen Erlebnis vereint. Für Anfänger ist es eine der einfachsten und am besten skalierbaren Möglichkeiten, in die Welt der Daten einzusteigen. Mit seiner SQL-freundlichen Oberfläche, Entwickleroptionen wie Snowpark und den KI-Funktionen von Cortex ermöglicht Snowflake Einzelpersonen und Organisationen, mehr aus ihren Daten zu machen. Weitere Informationen über Snowflake findest du in den folgenden Quellen:
Snowflake FAQs
Ist Snowflake eine Datenbank, ein Lagerhaus oder eine Plattform?
Snowflake ist technisch gesehen alles drei. Sie fungiert als relationale Datenbank-Engine, als Data Warehouse und als einheitliche Analyseplattform mit integrierter Unterstützung für SQL, semi-strukturierte Daten und Datenaustausch.
Wie schneidet Snowflake im Vergleich zu Plattformen wie Amazon Redshift, BigQuery oder Azure Synapse ab?
Snowflake zeichnet sich durch die Unterstützung mehrerer Clouds, die unabhängige Skalierung von Computern und Speicher, die automatische Optimierung und die wartungsfreie Architektur aus. Es ist sehr anfängerfreundlich und unternehmenstauglich.
Was bedeutet es, dass Snowflake Storage und Compute trennt?
Das bedeutet, dass du die Rechenleistung (virtuelle Lager) unabhängig davon skalieren kannst, wie viele Daten du speicherst. Du zahlst nur für das, was du nutzt, und mehrere Nutzer oder Teams können Daten abfragen, ohne die Leistung der anderen zu beeinträchtigen.
Wie fange ich mit Snowflake an?
Melde dich zunächst für ein kostenloses Testkonto an, erstelle eine Datenbank, ein Schema und eine Tabelle und verwende die Benutzeroberfläche oder SQL-Befehle, um Daten zu laden und abzufragen. Tutorials und vorinstallierte Beispieldatensätze sind ebenfalls verfügbar.
Ist Snowflake nur für große Unternehmen?
Nein. Snowflake ist dank des Pay-per-Use-Modells und der automatischen Skalierung sowohl für Startups als auch für mittelständische Unternehmen und Großunternehmen geeignet.