Vergleich: Amazon Redshift vs. Snowflake

by
Mike Linthe
July 7, 2021

Data Warehousing und Data Analytics erleben derzeit einen starken Wandel. Grund dafür ist die rasante Zunahme der Datenprozesse und -menge. Das Datenvolumen nimmt in sämtlichen Bereichen unseres Alltagslebens (einschließlich der Geschäftswelt) exponentiell zu. Heutzutage basieren immer mehr Entscheidungsprozesse in der Geschäftswelt auf  Datenanalyse und damit einem guten Datenmanagement.

Damit Unternehmen ihre riesigen Datenmengen einfach und effektiv verwalten können und gleichzeitig eine hohe Sicherheit gewährleisten müssen, ist ein Wechsel in die Cloud für viele notwendig und zukunftsweisend. Das wachsende Bewusstsein über diese Fakten war ein maßgeblicher Treiber der Cloud-Entwicklungen in den letzten Jahren. Das Datenmanagement und die Kontrolle von Datenströmen wird immer wichtiger. Unternehmen investieren darum mehr denn je in Cloud Data Warehouses zu investieren.

Die Auswahl des optimalen Cloud-DWH ist eine Herausforderung

Die Frage, welches Cloud-DWH für ein Unternehmen geeignet ist, ist für viele unserer Kunden ein zentrales Thema. Basierend auf unseren zahlreichen Erfahrungen mit verschiedenen DWHs in der Praxis, haben wir Funktionen, Features und die Eignung der verschiedenen Anbieter eingehend analysiert. Die Ergebnisse der Analyse der Data Warehouses von Amazon (AWS Redshift) und Snowflake werden wir in diesem Artikel mit Ihnen teilen. 

Snowflake und Redshift gehören beide zu den führenden Anbietern im Bereich der Cloud-Data-Warehouses. Beide bieten Lösungen für ähnliche Probleme. Im Kern unterstützen sie beide datenbasierte und datengesteuerte Entscheidungen. Redshift ist ein Teil der großen Cloud-Computing-Plattform Amazon Web Services (aws). Snowflake ist ein schnell wachsendes Softwareunternehmen, das sich auf dem DWH-Markt als Pionier bei der Trennung von Speicherung und Berechnung durchsetzen konnte.

Mehr Skalierbarkeit und Performance in der Cloud 

Unterschiede zwischen beiden Technologien existieren, die Gemeinsamkeiten sind definitiv zahlreich:

Skalierbarkeit und Leistung

Zunächst einmal bieten beide  unabhängige Skalierbarkeit und die Trennung von Speicher und Rechenleistung. Vertikale und horizontale Skalierung erleichtern die Bereitstellung der richtigen Anzahl, Größe und Form von Ressourcen und vermeiden zusätzliche Kosten für den Betrieb des Servers. Darüber hinaus bieten beide eine Nebenläufigkeitsskalierung (concurrency scaling). Diese Funktion ermöglicht es mehreren Benutzern, parallele Abfragen mit größtmöglicher Unterstützung und hoher Abfrageleistung durchzuführen. Diese Skalierung fügt den Clustern je nach Bedarf Ressourcen hinzu, indem sie in Spitzenzeiten mehr Rechenleistung zur Verfügung stellt und sie in weniger intensiven Momenten reduziert.

ETL- und BI-Tool-Connections

Zweitens (und drittens) besitzen beide zahlreiche Konnektoren zu ETL- und BI-Tools . Beide verwenden grundsätzlich SQL  als Hauptsprache . Diese breite Palette von ETL- und BI-Tools bietet Nutzern Flexibilität bei der Auswahl des leistungsfähigsten und geeignetsten Tools. In einer modernen Datenarchitektur werden Anwendern für verschiedene Use cases flexibel geeignete Tools zur Verfügung gestellt. Eine einzelne, monolithische Lösung wird man selten finden. Eine höhere Flexibilität an dieser Stelle hat einen starken, positiven Einfluss auf die Nutzerakzeptanz und Demokratisierung des Datenprozesses.

Natives Streaming

Über eine native Streaming-Funktion verfügen sowohl Redshift als auch Snowflake allerdings nicht. Beide unterstützen aber micro-batching . Unter micro-batching versteht man das Sammeln von Daten in kleinen Gruppen (Stapel) zum Zweck der Bearbeitung (Verarbeitung) dieser Daten. Im Gegensatz zum traditionellen "batch-processing", bei dem üblicherweise große Gruppen von Daten verarbeitet werde, findet beim micro-batching eine häufigere Verarbeitung statt.

Datensicherheit

Zu guter Letzt betonen beide DWH-Anbieter die Sicherheit der Daten. Sie bieten beide Sicherheitsfunktionen und Maßnahmen auf einem hohen Niveau. Für komplexe Verschlüsselungen setzen beide auf die Verwendung branchenführender Technologie. Die Sicherheitsmerkmale von Snowflake sind an die jeweiligen Editionen geknüpft: Standard Edition, Enterprise Edition, Business Critical Edition und Virtual Private Snowflake (VPS). Die erste Edition ist die so genannte Einführungsstufe mit dem Standardschutzniveau. Die zweite Edition bietet die gleichen Funktionen wie die Standard-Edition und zusätzliche Funktionen, die insbesondere für große Unternehmen erforderlich sind. Mit der dritten Edition, der Business Critical Edition, erhalten Kunden ein hohes Schutzniveau für Ihre sensiblen Daten. Dieses muss mit den HIPAA- und HITRUST CSF-Vorschriften übereinstimmen. Die letzte Edition bietet das höchste Maß an Sicherheit. Sie wird für Unternehmen mit sehr strengen, speziellen Vorschriften empfohlen, wie sie z.B. im Finanzsektor zu finden sind.    

Individuelle Kriterien spielen bei der Auswahl die entscheidende Rolle

Wie wir gesehen haben, haben Redshift und Snowflake viele Funktionen gemein. Für die Entscheidungsfindung lohnt sich daher der Blick auf die Unterschiede:   

  1. Auto-Scaling
  2. Pricing-Modelle
  3. Wartung
  4. Automatisierung & Management
  5. Konnektoren & APIs 

1. Auto-Scaling

Redshift hat keine automatische Skalierung. Das liegt daran, dass bei jeder zusätzlichen Abfrage neue Knoten zu jedem Cluster hinzugefügt oder entfernt werden. Je nach Größe des Clusters kann die Skalierung und Größenänderung Minuten bis Stunden dauern.

Wenn viele Abfragen mit einem höchst flexiblen Abfrageplan in einem kurzen Zeitraum durchgeführt werden sollen, bietet Snowflake ein optimales System. Wenn hingegen konstante Arbeitslasten und gleichbleibende Nutzungsmuster vorliegen, bietet Redshift eine hervorragende Leistung. Ein weiterer entscheidender Faktor hier ist die Art der Abfragen. Für komplexe Abfragen oder Big-Data-Analysen bietet Snowflake einen ausgefeilten SQL-Dialekt.

2. Pricing-Modelle

Einer der Hauptunterschiede zwischen den beiden Plattformen ist die Preisstruktur.

Snowflake verwendet ein zeitbasiertes Modell und rechnet nach Nutzungsdauer ab. Sprich: die Zeit, in der Abfragen ausgeführt werden. Darüber hinaus berechnet Snowflake die Rechennutzung und die Speicherkosten separat. 

Bei Redshift wird der Preis pro Stunde und Knoten berechnet, und zwar für Speicher und Rechenleistung kombiniert. Kunden zahlen pro Cluster oder für eine bestimmte Kapazität. Bei der Wahl des On-Demand-Preismodell, können die Kosten durch Pausierungs- und Wiederaufnahmeaktionen gesenkt werden. Befindet sich das Cluster im Ruhemodus, wird die Abrechnung der On-Demand-Rechenleistung angehalten und auf Sekundenbasis wieder aufgenommen. Diese Pausierung wird bei der Abfrageplanung mit geplant. Mit einem passenden Pausierungsmodell ausgestattet, kann bei Redshift die günstigere Variante sein, selbstverständlich immer abhängig von der Nutzung.

3. Wartung 

Die Einfachheit der Wartung hängt unter Anderem von der Leistungsfähigkeit der einzelnen Rechen- und Speichereinheiten ab.

Bei Redshift müssen Benutzer das selbe Cluster betrachten und um die verfügbaren Ressourcen konkurrieren. Die Notwendigkeit, Abfragen über WLM-Warteschlangen zu verwalten, bringt eine zusätzliche Arbeitsbelastung mit sich. Bei WLM (Workload Management) handelt es sich um eine anpassbare, flexible Funktion, mit der  Prioritäten innerhalb der Workloads gesetzt werden können.

Bei Snowflake ist es möglich, mit verschiedenen, unabhängigen Data Warehouses dieselben Daten zu überprüfen, ohne dass diese dupliziert oder kopiert werden müssen. Dementsprechend kann jedes DWH einen eigenes Set von Pflichten und Aufgaben erfüllen.

4. Automatisierung & Management

Snowflake wird als Service betrieben. Es besteht daher theoretisch keine Notwendigkeit, sich als Kunde um Hardware zu kümmern. Alle Prozesse können verwaltet werden, indem man sich  mit Snowflake verbindet, die Daten bereitstellt und Abfragen ausführt. 

Redshift hingegen muss konfiguriert werden. Bei der Implementierung von Redshift müssen Konfigurationen von Clustern vorgenommen und Speicher- sowie Berechnungszuweisungen von Mitarbeitern mit entsprechendem Know-How vorgenommen werden.

Snowflake kann auf den Cloud-PlattformenAWS, Google Cloud Platform (GCP) und Microsoft Azure gehostet werden. Insbesondere für das Hosting auf AWS ist etwas mehr Aufwand erforderlich, um typische Dienste von Amazon wie Kinesis, Glue, S3 zu integrieren.

5. Konnektoren & APIs

Die wichtigsten Konnektoren und APIs für Snowflake sind

  • ODBC
  • JDBC-Zugriff über Treiber
  • Zugriff über Spark-Plugin (spark-snowflake) einschließlich Spark v3
  • Zugriff über Kafka Python
  • Node.js
  • Go
  • .NET
  • PHP PDO-Treiber
  • Native Konnektoren (z. B. Python, Spark)
  • Konnektoren von Drittanbietern (für die Verbindung von Anwendungen wie ETL-Tools  und BI-Tools)
  • SQL API (RESTful API) über Snowpark. 

Redshift bietet die besten Integrationsmöglichkeiten mit der gesamten Amazons Suite von Cloud-Services wie

  • Kinesis
  • Data Firehose
  • SageMaker
  • EMR
  • Glue
  • DynamoDB
  • Athena
  • Database Migration Service (DMS)
  • Schema Conversion Tools (SCT)
  • CloudWatch

und zudem

  • ODBC
  • JDBC (über von AWS bereitgestellte Treiber)
  • Data Access API
  • psql

In Kombination mit den beiden unterschiedlichen Hosting-Umgebungen kann Snowflake insbesondere für Kunden, die Tools aus verschiedenen Umgebungen verwenden, die bessere Wahl sein. Wenn der data stack eines Unternehmens hauptsächlich AWS-Dienste enthält, ist Redshift die unkompliziertere und weniger arbeitsaufwendige Wahl. 

 

Fazit

Data Warehousing ist ein wichtiger Aspekt von Datenmanagement. Wenn Sie Redshift und Snowflake in Betracht ziehen, sind Sie mit keinem der beiden "auf dem Holzweg". Beide sind starke DWHs mit leistungsstarken Funktionen und einer exzellenten Performance. Der entscheidende Faktor sind damit die individuellen, sehr spezifischen Anforderungen Ihres Unternehmens. Die folgenden Schritte haben sich für die Vorbereitung und Migration etabliert:

Unserer Erfahrung nach ist es darum unerlässlich, mit einer Untersuchung des Status quo zu beginnen. Helfen können die folgenden Fragen:

  • Wie hoch ist das vorhandene Fachwissen?
  • Wie ist die Arbeitslast strukturiert?
  • Wie sind die Abfragen gestaltet?
  • Wie sind die Aufgaben und die Arbeit innerhalb des Teams strukturiert und verteilt?

Der nächste Schritt ist die Definition Ihres Ziels und des Umfangs: Was wollen Sie kurz- und langfristig erreichen? Was ist realistisch? Was können Sie investieren (Zeit, Geld)? 

Nachdem Sie das Ziel festgelegt haben, sollten Sie klären, welche Ressourcen Sie zur Erreichung Ihres Ziels benötigen.

Anschließend sollte ein Tool entsprechend dem ermittelten Bedarf ausgewählt werden. Im Rahmen der Wahl sollte unbedingt ein Pilotprojekt durchgeführt werden.

Der letzte Schritt ist die strategische Planung der Migration.

Wie Contiamo Sie bei den einzelnen Schritten optimal unterstützen kann, können Sie detaillierter auf der Seite: https://www.contiamo.com/en/use-cases/cloud-dwh-migration entdecken.

Sie sind interessiert an weiteren Informationen?
Lassen Sie uns über Ihre aktuellen Themen und Fragestellungen sprechen!
kontakt