Zurück zum Feed
Infra & Rechenleistung

Snowflake Postgres Data Mirroring jetzt allgemein verfügbar für modernes CDC

AI
AI HUB Feed
•20. Oktober 2026•4 Min. Lesezeit
Snowflake Postgres Data Mirroring jetzt allgemein verfügbar für modernes CDC

Snowflake hat die allgemeine Verfügbarkeit von Postgres Data Mirroring angekündigt, einer neuen Funktion zur Vereinfachung der Replikation von Daten aus PostgreSQL-Instanzen in Snowflake. Diese Weiterentwicklung zielt darauf ab, eine häufige Herausforderung für Kunden zu lösen, die ihre PostgreSQL-Daten mit den Analysefunktionen von Snowflake integrieren möchten.

Funktionsweise von Data Mirroring

Data Mirroring repliziert angegebene Tabellen und Schemata von einer Snowflake Postgres-Instanz in eine Ziel-Snowflake-Datenbank. Die Einrichtung kann einfach über die Snowflake Postgres UI, SQL-Befehle oder Snowflake CoPilot verwaltet werden. Im Gegensatz zu herkömmlichen Replikationslösungen ist Data Mirroring direkt in Postgres und Snowflake integriert und nutzt Objektspeicher als Zwischenstation, ohne dass zusätzliche Komponenten erforderlich sind. Diese Methode gewährleistet eine sichere, zuverlässige und performante Datenübertragung bei gleichzeitiger Beibehaltung einer abfragbaren Änderungshistorie.

Im Kern pusht Postgres Snapshots und kleine Stapel von Änderungsdatensätzen für jede Tabelle in Apache Iceberg™-Änderungsprotokolle, die im Objektspeicher gespeichert sind, unterstützt durch eine snowflake_cdc-Erweiterung. Snowflake verwendet dann eine periodische Serverless-Aufgabe, um diese Änderungen auf reguläre Snowflake- oder von Snowflake verwaltete Iceberg-Tabellen anzuwenden. Für sofortigen Zugriff auf die neuesten Daten steht eine $live-Ansicht zur Verfügung, die gespiegelte Tabellen mit ausstehenden Änderungen kombiniert, um eine geringe Latenz unabhängig von der Häufigkeit der Anwendungsaufgabe zu bieten. Die gesamte Pipeline ist für den kontinuierlichen Betrieb ausgelegt und bietet automatische Wiederherstellung nach Fehlern, nahtlose Replikation von Schemaänderungen, transaktionale Integrität zur Vermeidung von Teilfehlern und End-to-End-Pipeline-Management.

Verbesserung von Zuverlässigkeit und Ausfallsicherheit

Ein Hauptaugenmerk von Data Mirroring liegt auf dem Aufbau hochgradig ausfallsicherer Pipelines durch Minimierung von Systemkomplexität und Abhängigkeiten. Durch den Wegfall von Zwischen-Replikationsdiensten werden Änderungen direkt von Postgres in den Objektspeicher übertragen, was potenzielle Fehlerquellen reduziert und Probleme wie Festplattenfüllung auf der Quellendatenbank vermeidet.

Data Mirroring gewährleistet transaktionale Konsistenz, indem entweder alle Änderungen committet oder keine, wodurch Zwischenzustände vermieden werden, von denen eine Wiederherstellung schwierig ist. Ein "Meta-Log" verfolgt übergeordnete Operationen und koordiniert Schemaänderungen und andere kritische Aktualisierungen. Automatische Wiederherstellungsmechanismen sind vorhanden, um ungültige oder gelöschte Replikations-Slots zu handhaben, sicherzustellen, dass das System Tabellen neu snapshotten und die Koordination über das Meta-Log neu starten kann, wodurch katastrophale Ausfälle in kurzzeitige Latenzerhöhungen ohne Eingreifen des Betreibers umgewandelt werden. Die gesamte Pipeline wird von Snowflake verwaltet, mit kontinuierlicher Überwachung und proaktiven Minderungsstrategien.

Kosten- und Latenzoptimierung

Data Mirroring wurde entwickelt, um die Betriebs- und Latenzkosten für die Datenreplikation zu senken. Es fallen nur Kosten für die Anwendung von Änderungen mithilfe der Serverless-Compute-Infrastruktur und des temporären Speichers von Snowflake an. Das System verwendet Exactly-Once-Delivery für Zeilen, um den Anwendungsprozess durch Vermeidung doppelter Scans zu optimieren. Serverless-Aufgaben in Snowflake werden pro Sekunde abgerechnet, was die Anwendung von Änderungen, insbesondere von Updates und Deletes, kostengünstiger macht.

Um Latenz und Kosten auszugleichen, bietet Data Mirroring Deferred Apply mit Live Views. Dies ermöglicht die Anwendung von Änderungen in größeren, kostengünstigeren Stapeln und bietet gleichzeitig einen latenzarmen Datenzugriff über $live-Ansichten. Diese Ansichten kombinieren nicht angewendete Änderungen mit Zieltabellen zur Abfragezeit und bieten Flexibilität. Während Änderungsstapel alle 15 Sekunden von Postgres gepusht und alle 30 Sekunden in Snowflake aktualisiert werden, bieten die $live-Ansichten einen nahezu Echtzeit-Datenzugriff. Das System unterstützt auch hochdurchsatzfähige Snapshots und Änderungsfeeds, die bei Snapshots über 1 Million Zeilen pro Sekunde verarbeiten und unter hoher Last über 100.000 Zeilenänderungen pro Sekunde aufrechterhalten können.

Transaktionale Konsistenz über Systeme hinweg

Die Wahrung der transaktionalen Konsistenz ist ein Kernprinzip von Data Mirroring. Von Postgres gepushte Änderungsstapel stellen geordnete Transaktionssequenzen dar, wobei das Ende jedes Stapels eine Transaktionsgrenze markiert. Diese Stapel werden innerhalb einer einzigen Postgres-seitigen Transaktion für Snowflake verfügbar gemacht, und Snowflake wendet sie in eigenen Ein-Transaktions-Stapeln an. Dies stellt sicher, dass Zieltabellen in Snowflake den Postgres-Schreibtransaktionsgrenzen entsprechen, sowohl die interne Konsistenz (z. B. keine doppelten Schlüssel) als auch die intertabellarische Konsistenz (z. B. Fremdschlüssel gelten) aufrechterhalten, was zu genauen Ergebnissen bei der Verknüpfung gespiegelter Tabellen führt.

Zukünftige Entwicklungen

Snowflake deutete auch zukünftige Funktionen an und stellte fest, dass die Mirroring-Technologie für Snowflake to Postgres Mirroring entwickelt wird, was einen vollständigen bidirektionalen Datenaustausch ermöglicht. Diese kommende Funktion verspricht, die Datenintegrationsmöglichkeiten im Snowflake-Ökosystem weiter zu verbessern.

Ähnliche Artikel

SB
Snowflake Blog