Schlüsselkonzepte und Architektur

Die Data Cloud von Snowflake basiert auf einer hochmodernen Datenplattform, die als Software-as-a-Service (SaaS) bereitgestellt wird. Snowflake ermöglicht Lösungen für Datenspeicherung, Datenverarbeitung und Datenanalyse, die schneller, einfacher zu bedienen und wesentlich flexibler sind als herkömmliche Angebote.

Die Snowflake-Datenplattform basiert nicht auf einer bestehenden Datenbanktechnologie oder „Big Data“-Softwareplattformen wie Hadoop. Stattdessen kombiniert Snowflake ein völlig neuartiges SQL-Abfragemodul mit einer innovativen Architektur, die systemintern für die Cloud entwickelt wurde. Für den Benutzer bietet Snowflake nicht nur die gesamte Funktionalität einer analytischen Unternehmensdatenbank, sondern auch eine Vielzahl an zusätzlichen speziellen Features und einzigartigen Möglichkeiten.

Unter diesem Thema:

Datenplattform als Clouddienst

Snowflake ist ein echtes SaaS-Angebot. Genauer gesagt:

  • Es gibt keine Hardware (virtuell oder physisch), die Sie auswählen, installieren, konfigurieren oder verwalten müssen.

  • Es muss praktisch keine Software installiert, konfiguriert oder verwaltet werden.

  • Laufende Wartung, Verwaltung, Aktualisierung und Anpassung werden von Snowflake übernommen.

Snowflake wird komplett auf Cloudinfrastruktur ausgeführt. Alle Komponenten des Snowflake-Dienstes (mit Ausnahme der optionalen Befehlszeilenclients, Treiber und Konnektoren) werden in öffentlichen Cloudinfrastrukturen ausgeführt.

Snowflake verwendet virtuelle Computeinstanzen für seine Verarbeitungsanforderungen und einen Speicherservice für die persistente Speicherung von Daten. Snowflake kann nicht auf privaten Cloudinfrastrukturen (lokal oder gehostet) betrieben werden.

Snowflake ist kein Softwarepaket, das von einem Benutzer installiert werden kann. Snowflake verwaltet alle Aspekte der Softwareinstallation und Updates.

Snowflake-Architektur

Die Architektur von Snowflake ist eine Mischung aus herkömmlichen Shared-Disk- und Shared-Nothing-Datenbankarchitekturen. Ähnlich wie bei Shared-Disk-Architekturen verwendet Snowflake ein zentrales Datenrepository für persistente Daten, das von allen Serverknoten der Plattform zugänglich ist. Aber ähnlich wie bei Shared-Nothing-Architekturen verarbeitet Snowflake Abfragen mit MPP-Computeclustern (massive parallele Verarbeitung), wobei jeder Knoten im Cluster einen Teil des gesamten Datasets lokal speichert. Dieser Ansatz bietet die Einfachheit der Datenverwaltung einer Shared-Disk-Architektur, aber mit den Performance- und Skalierungsvorteilen einer Shared-Nothing-Architektur.

Architecture overview

Die einzigartige Architektur von Snowflake besteht aus drei Hauptschichten:

Datenbankspeicher

Wenn Daten in Snowflake geladen werden, ordnet Snowflake diese Daten in sein intern optimiertes, komprimiertes, spaltenförmiges Format um. Snowflake speichert diese optimierten Daten in einem Cloudspeicher.

Snowflake verwaltet alle Aspekte der Speicherung dieser Daten wie Organisation, Dateigröße, Struktur, Komprimierung, Metadaten, Statistiken usw. Die von Snowflake gespeicherten Datenobjekte sind weder direkt sichtbar noch für Kunden zugänglich; sie sind nur durch SQL-Abfrageoperationen zugänglich, die mit Snowflake ausgeführt werden.

Abfrageverarbeitung

Die Ausführung der Abfrage erfolgt in der Verarbeitungsschicht. Snowflake verarbeitet Abfragen mithilfe von „virtuellen Warehouses“. Jedes virtuelle Warehouse ist ein MPP-Computecluster, der aus mehreren Serverknoten besteht, die von einem Cloudanbieter über Snowflake zugewiesen werden.

Jedes virtuelle Warehouse ist ein unabhängiger Computecluster, der keine Computeressourcen mit anderen virtuellen Warehouses teilt. Dadurch hat keines der virtuellen Warehouses Einfluss auf die Leistung irgendeines anderen virtuellen Warehouses.

Weitere Informationen dazu finden Sie unter Virtuelle Warehouses.

Clouddienste

Die Clouddienstschicht ist eine Sammlung von Services, die die Aktivitäten in Snowflake koordinieren. Diese Services verbinden alle Komponenten von Snowflake miteinander, um Benutzeranforderungen von der Anmeldung bis zur Abfrageverarbeitung zu erfüllen. Die Clouddienstschicht wird auch auf Computeinstanzen ausgeführt, die vom Cloudanbieter über Snowflake bereitgestellt werden.

Folgende verwaltete Dienste gehören zu dieser Schicht:

  • Authentifizierung

  • Infrastrukturverwaltung

  • Metadatenverwaltung

  • Abfrageanalyse und -optimierung

  • Zugriffssteuerung

Verbinden mit Snowflake

Snowflake unterstützt folgende Verbindungsmöglichkeiten mit dem Service:

  • Webbasierte Benutzeroberfläche, über die alle Aspekte der Verwaltung und Nutzung von Snowflake zugänglich sind.

  • Befehlszeilenclients (z. B. SnowSQL), die ebenfalls Zugang zu allen Aspekten der Verwaltung und Nutzung von Snowflake bieten.

  • ODBC- und JDBC-Treiber, die von anderen Anwendungen (z. B. Tableau) für die Verbindung mit Snowflake verwendet werden können.

  • Native Konnektoren (z. B. Python, Spark), die zur Entwicklung von Anwendungen für das Verbinden mit Snowflake verwendet werden können.

  • Konnektoren von Drittanbietern, die zur Verbindung von Anwendungen wie ETL-Tools (z. B. Informatica) und BI-Tools (z. B. ThoughtSpot) mit Snowflake verwendet werden können.

Weitere Informationen dazu finden Sie unter Anmelden bei Snowflake.