Snowflake bietet eine Vielzahl von Tabellentypen, die für unterschiedliche Anwendungsfälle und Anforderungen optimiert sind. Hier ist eine Übersicht über die wichtigsten Tabellentypen inklusive Beispielen:
-
Permanente Tabellen (Permanent Tables)
Beschreibung: Diese Tabellen speichern Daten dauerhaft und sind für langfristige Speicherung und Abfragen konzipiert.
Anwendungsfälle: Geeignet für Produktionsdaten, die regelmäßig abgefragt und analysiert werden.
Beispiel:
CREATE TABLE my_permanent_table (
id NUMBER,
name STRING,
created_at TIMESTAMP
);
-
Temporäre Tabellen (Temporary Tables)
Beschreibung: Temporäre Tabellen speichern Daten nur für die Dauer einer Benutzersitzung. Nach dem Ende der Sitzung werden die Daten automatisch gelöscht.
Anwendungsfälle: Ideal für Zwischenspeicherung von Daten während ETL-Prozessen oder für sitzungsspezifische Berechnungen
Beispiel:
CREATE TEMPORARY TABLE my_temp_table (
id NUMBER,
session_data STRING
);
-
Transiente Tabellen (Transient Tables)
Beschreibung: Diese Tabellen bieten eine kostengünstige Lösung für die Speicherung von Daten, die nicht dauerhaft benötigt werden. Sie unterstützen keine Time Travel-Funktionalität.
Anwendungsfälle: Nützlich für temporäre Daten, die länger als eine Sitzung benötigt werden, aber keine langfristige Speicherung erfordern
Beispiel:
CREATE TRANSIENT TABLE my_transient_table (
id NUMBER,
temp_data STRING
);
-
Externe Tabellen (External Tables)
Beschreibung: Externe Tabellen ermöglichen den Zugriff auf Daten, die außerhalb von Snowflake in externen Speichersystemen (z.B. AWS S3, Google Cloud Storage) gespeichert sind.
Anwendungsfälle: Perfekt für die Integration und Analyse von Daten, die in externen Quellen gespeichert sind, ohne sie in Snowflake zu replizieren
Beispiel:
CREATE EXTERNAL TABLE my_external_table (
id NUMBER,
data STRING
)
WITH LOCATION = @my_stage
FILE_FORMAT = (TYPE = ‘CSV’);
-
Hybridtabellen (Hybrid Tables)
Beschreibung: Diese Tabellen bieten optimierte Leistung für sowohl Lese- als auch Schreiboperationen und sind für transaktionale und hybride Workloads ausgelegt.
Anwendungsfälle: Geeignet für Anwendungen, die sowohl OLTP- als auch OLAP-Workloads erfordern
Beispiel:
CREATE OR REPLACE HYBRID TABLE my_hybrid_table (
id NUMBER PRIMARY KEY,
name STRING NOT NULL,
value STRING
);
- Iceberg-Tabellen (Iceberg Tables)
Beschreibung: Iceberg-Tabellen verwenden das offene Tabellenformat Apache Iceberg und bieten Funktionen wie ACID-Transaktionen und Schema-Evolution.
Anwendungsfälle: Ideal für die Verwaltung großer Datenmengen in einem externen Cloudspeicher mit erweiterten Datenverwaltungsfunktionen
Beispiel:
CREATE OR REPLACE ICEBERG TABLE my_iceberg_table (
id NUMBER,
data STRING
)
WITH LOCATION = ‘s3://my-bucket/my-path/’
FILE_FORMAT = (TYPE = ‘PARQUET’);
Fazit
Die Wahl des richtigen Tabellentyps in Snowflake hängt stark von den spezifischen Anforderungen und Anwendungsfällen ab. Permanente Tabellen sind ideal für langfristige Speicherung, während temporäre und transiente Tabellen für kurzlebige Daten nützlich sind. Externe Tabellen ermöglichen die Integration externer Datenquellen, und Iceberg-Tabellen bieten erweiterte Funktionen für die Verwaltung großer Datenmengen.