Die heißeste Data Warehouse-Technologie, die seit langem auf den Markt gekommen ist, ist Snowflake.
Der Börsengang des Unternehmens wird voraussichtlich einer der größten Software-Börsengänge aller Zeiten sein, wenn nicht sogar der werden Snowflake und seine Errungenschaften große Aufmerksamkeit zuteil. Und das zu Recht. In den letzten fünf Jahren hat das Unternehmen der ansonsten eher biederen Data Warehouse- und Analysetechnologiebranche neues Leben eingehaucht - ein Bereich, in dem es keine bahnbrechenden Innovationen mehr gegeben hat seit Bill Inmon vor über 40 Jahren das Konzept des Data Warehouse eingeführt hat.
Wenn der Umsatz des Unternehmens vor dem Börsengang (laut S1-Einreichung 408 Mio. USD für die letzten vier Quartale) und die Wachstumsprognosen (133 % für das erste Halbjahr 2020) zutreffen, wird Snowflake innerhalb von zwei Jahren einen Jahresumsatz von 1 Mrd. USD erzielen. Zum Vergleich: Keines der immer noch florierenden Hadoop-basierten Unternehmen, die in der Hadoop-Ära (dem letzten großen Hype im Bereich "Analytik") vor über zehn Jahren auf den Markt kamen, hat jemals eine Milliarde Umsatz erzielt. Außerdem wird das einzige unabhängige Datenbank-/Data-Warehouse-Unternehmen, das in einigen Jahren größer sein wird als Snowflake, Oracle sein.
Wenn Sie Snowflake noch nicht eingeführt haben und den ganzen Rummel um das Unternehmen mitbekommen haben, fragen Sie sich vielleicht, ob die Technologie von Snowflake die richtige für Ihre Datenumgebung ist.
Als Anbieter einer Daten- und Application Integration Plattform bietet SnapLogic vorgefertigte Konnektoren für Snowflake und für viele der gängigen Datenbanken. Aus unserer Integrationserfahrung heraus sind hier ein paar Makrofaktoren zu beachten:
- Planen Sie, eine Data Warehouse-Lösung vor Ort oder in der Cloud zu implementieren? Snowflake ist eine reine Cloud-basierte Software-as-a-Service-Lösung. Wenn Sie eine Cloud-basierte Data Warehouse-Lösung suchen, ist Snowflake eine mögliche Lösung.
- Haben Sie Unternehmensrichtlinien gegen mandantenfähige Umgebungen?
Wenn nicht, und Sie möchten in der Cloud arbeiten, ist Snowflake genau das Richtige für Sie. Wenn Sie jedoch Unternehmensrichtlinien gegen Multi-Tenancy haben, bietet Snowflake eine Single-Tenant-Lösung (Snowflake Virtual Private Snowflake (VPS)).
- Welches ist die Art oder das Format der Daten, die Sie speichern und analysieren möchten?
Snowflake kann semistrukturierte Daten wie JSON und XML aufnehmen (laden) und nativ verarbeiten und diese Daten genauso einfach wie strukturierte Daten in einer vollständig relationalen Weise abfragen. Dies und die Trennung von Datenverarbeitung und -speicherung, die eine einfache Skalierung ermöglicht, sind der Grund für ihren Ruhm. Beachten Sie, dass die Größe semi-strukturierter Daten auf 16 MB begrenzt ist. Parquet-, Avro- oder ORC-Datenspeicher können ebenfalls in Snowflake geladen werden. Die optimale Maximalgröße für diese Dateitypen ist ~1 GB (Sie sollten größere Dateien aufteilen).Unstrukturierte Daten wie z. B. PDF-Dateien, Bilder und Audiodateien können nicht in Snowflake geladen werden. Für diese Dateitypen benötigen Sie eine separate Speicherplattform. Wenn diese Dateitypen jedoch zu Analysezwecken in binäre Dateien oder Zeichenketten (z. B. VARCHAR) konvertiert oder als solche dargestellt werden, können sie in Snowflake geladen werden. Beachten Sie, dass die Größe von Binärdateien auf 8 MB und die von Zeichenketten auf 16 MB begrenzt ist, jeweils unkomprimiert.
- Welche Schreib- oder Transaktionsleistung ist für Ihren speziellen Anwendungsfall erforderlich?
Snowflake ist keine Transaktions- oder OLTP-Datenbank. Snowflake ist zwar in der Lage, eine bestimmte Menge an Transaktionsfunktionen zu verarbeiten, aber Sie müssen Snowflake testen, um die Grenzen für Ihren speziellen Anwendungsfall zu ermitteln. Für anspruchsvolle Schreib- oder Transaktionsanforderungen benötigen Sie möglicherweise eine NoSQL-Datenbank vor Snowflake oder eine vollständig separate OLTP-Datenbank neben Snowflake.
- Benötigen Sie Unterstützung für Streaming-Daten für Ihr Data Warehouse?
Snowflake unterstützt Streaming-Daten mit einer Latenzzeit von etwa 1 Minute. Testen Sie Snowflake, um sicherzustellen, dass Ihre Latenzanforderungen erfüllt werden können.
- Benötigen Sie Funktionen für maschinelles Lernen und KI?
Snowflake bietet von Haus aus keine Bibliothek für maschinelles Lernen. SnapLogic's ML/AI Snap kann diese Erweiterung als Ergänzung zu Snowflake bereitstellen.
- Bevorzugen Ihre Datenteams SQL, Python oder Java?
SQL ist die native Datenzugriffs- und Abfragesprache für die Snowflake-Umgebung. Python, Java und andere Skriptsprachen werden über Konnektivitätsoptionen unterstützt.
Wenn Sie das Snowflake-Konzept und die damit verbundenen Erfahrungen noch nicht kennen, sind dies die Makrofragen, die Sie sich stellen sollten, um zu beurteilen, ob Snowflake aus Sicht der Architektur die richtige Lösung für Ihre Umgebung ist. Aus der Data Warehouse-Perspektive zeichnet sich Snowflake durch seine Benutzerfreundlichkeit aus und ist extrem leistungsfähig, daher seine Beliebtheit. Bei extrem großen Tabellen oder bei Tabellen, die nicht auf natürliche Weise nach einem Zeitstempel sortiert sind, müssen Sie möglicherweise auf Clustering-Schlüssel zurückgreifen, um die Leistung zu optimieren.
Für Ihre Anforderungen an das Laden von Daten und Application Integration ist SnapLogic eine perfekte Ergänzung zu Snowflake. Testen Sie SnapLogic noch heute kostenlos.