Dieser Artikel dient als umfassender Leitfaden dazu Datenerfassung ändern (CDC) in PostgreSQL, auch bekannt als Postgres. Es führt Sie durch die verschiedenen Möglichkeiten zur Implementierung von Postgres CDC, einschließlich der Vor- und Nachteile, sowie durch eine automatisierte Alternative zu allen manuellen Methoden.
Es wird auch auf die Bedeutung von PostgreSQL CDC eingegangen. Bevor wir beginnen, klären wir zunächst einige Grundlagen.
Was ist PostgreSQL?
PostgreSQL ist ein Open-Source relationale Datenbank Managementsystem (RDBMS). Seine Vielseitigkeit ermöglicht den Einsatz sowohl als Datenbank und bei Bedarf als Data Warehouse.
PostgreSQL ist außerdem völlig kostenlos und seine Benutzer profitieren durchweg von umfassender Open-Source-Entwicklung und zuverlässigem Support. Dies sind einige der Hauptgründe für seine beeindruckende Langlebigkeit – PostgreSQL gibt es seit über zwei Jahrzehnten und zählt weiterhin zu den am häufigsten verwendeten relationalen Datenbanken für das Datenmanagement heute.
Funktionen und Anwendungen von PostgreSQL
- PostgreSQL ist nicht nur kostenlos, sondern hat sich auch einen guten Ruf für seine Anpassungsfähigkeit und Erweiterbarkeit erworben. Es lässt sich nahtlos in Ihre bestehenden Systeme integrieren und entspricht den SQL-Standards, sodass Sie wissen, was Sie erwartet.
- Mit integrierter Unterstützung für die Erfassung von Änderungsdaten bietet Postgres bietet ein robuster Mechanismus zum Verfolgen und Erfassen von Änderungen an der Datenbank.
- ACID-konform, hochsicher und kompetent im Umgang mit Verarbeitungsfehlern, sodass Sie sich auf die Datenvalidität verlassen können.
- Es unterstützt sowohl JSON- als auch SQL-Abfragen.
- Als relationale Datenbank speichert PostgreSQL Datenelemente in Form von Tabellen, in denen die Zeilen auch Tupel genannt werden und jedes Tupel durch einen eindeutigen Schlüssel identifiziert wird. Die Spalten speichern die Attribute für jedes entsprechende Datenelement.
Diese Funktionen machen PostgreSQL für viele Anwendungen zur richtigen Wahl, ein paar davon umfassen:
- Wenn Sie häufig schnellen Zugriff auf Informationen zur Verwendung in einem Produkt oder einer Anwendung benötigen, ist PostgreSQL die richtige Datenbankwahl, da seine relationale Struktur relevante Daten mit hoher Geschwindigkeit abruft.
- Data Warehousing: Eine Datenbank eignet sich gut für Transaktionsdatenoperationen, jedoch nicht für die Analyse, und das Gegenteil gilt für ein Data Warehouse. Die beiden ergänzen sich so können Sie Hebelwirkung Ihre Daten einfacher verwalten. Die Kompatibilität von PostgreSQL mit Business-Intelligence-Tools macht es praktisch zu erhalten zur Erfüllung Ihrer Data-Mining-, Analyse- und BI-Anforderungen.
- Standortbezogene Dienste: Verwendung der PostGIS Erweiterung, Sie können Verwenden Sie PostgreSQL, um Geodaten nach Bedarf zu speichern, zu indizieren und abzufragen. Das macht es eine kluge Wahl für standortbezogene Dienste und geografische Informationssysteme (GIS).
- OLTP-Transaktionen: häufig verwendet für OLTP-Transaktionen (Online Transaction Processing). in vielen Branchen, darunter E-Commerce (Online-Käufe und Bestandsaktualisierungen), Banking (Geldtransfers, Abhebungen am Geldautomaten)., und Kontostandsprüfungen), Verkäufe (Einzelhandelstransaktionen, Rechnungserstellung und Treuepunkte), Dienstleistungen entdecken (Terminbuchung, Service-Updates, und Zahlungen für Dienstleistungen gemacht).
Warum Brauchst du Postgres CDC ?
Nehmen wir an, Sie benötigen für Berichtszwecke die aktuellsten Daten jetzt sofort, außer dass Sie es noch nicht haben können, da die nächste Synchronisierung geplant ist Stunden in. Manuelle Synchronisierung ist eine Option, aber wenn Ihr Unternehmen große Datenmengen verarbeitet, kann die Stapelverarbeitung schnell zu einer Hürde werden. Dies kann zu Fehlern, der Verwendung veralteter Informationen und falscher Berichterstattung führen.
Letztendlich wird Ihre Entscheidungsfindung dadurch beeinträchtigt, dass Sie nicht über die aktualisierten Daten verfügen, die Sie benötigen, um die erforderlichen Schritte zu unternehmen.
Genau dieses Szenario können Sie mit Postgres CDC vermeiden.
Postgres CDC-Methoden helfen Ihnen, Änderungen in Ihren Datenbanken zu verfolgen und zu verarbeiten. Die häufigste Aktion in solchen Fällen ist die Replikation von Änderungen in der Quelle in einen Zieldatenspeicher. Dieser ermöglicht es Ihnen, Ihre Daten zwischen mehreren Datenbanken synchron zu halten.
Wie funktioniert PostgreSQL CDC funktioniert und was macht es?
Postgres CDC stellt sicher, dass alle Systeme konsistenten Zugriff auf die aktuellste Version Ihrer Daten haben Sie sind immer mit aktuellen Informationen arbeiten. Postgres cHange-Datenerfassung hat auch einige zusätzlich Vorteile, wie z:
- Postgres CDC kann Ihnen bei der Senkung helfen Ihre Netzwerknutzungskosten, da bei jeder Synchronisierung nur die neuesten Änderungen und nicht der gesamte Datensatz verarbeitet werden.
- AAnalytik und ähnliche Aufgaben erfordern mehr Ressourcen ausführen, daher kommt es häufig zu Auswirkungen auf die Stapelverarbeitung beeinträchtigt im Laufe der Zeit die Leistung der Postgres-Datenbank und beeinträchtigt deren Funktionalität. Postgres CDC erstellt zunächst Kopien der Datenbank und aktualisiert diese dann schrittweise mit geänderten Daten. Das Der Prozess ist viel einfacher als die Stapelverarbeitung, wodurch Ihre Datenbank schneller und effizienter bleibt.
- Ihr Stammdatenverwaltung (MDM) System wird betreiben reibungsloser mit Postgres CDC in Kraft. Mit geänderten Daten aus unterschiedlichen Quellen, die im MDM-System kontinuierlich aktualisiert werden, können alle Ihre Teams dies tun - die gleichen aktualisierten Daten. Dies kann die Zusammenarbeit und Koordination verbessern und bessere Geschäftsentscheidungen beschleunigen.
- Sie können sogar verwenden Datenerfassung ändern mit Postgres als Disaster-Recovery-Mechanismus für Ihre Daten. Echtzeit-CDC hilft Ihnen, wichtige Datenbanken zu sichern und Redundanzen zu erstellen, die hilfreich sein können Fälle von Systemausfällen, Malware-Angriffen, menschlichen Fehlern und anderen ähnlichen Situationen.
MeMethoden zur Implementierung PostgresSQL CHängen DAta Capture
Wie oben erläutert, verfolgt und repliziert Postgres CDC alle Datenänderungen über mehrere Datenbanken hinweg. Die CDC-Methode Ihrer Wahl kann seit CDC entweder Batch oder Echtzeit sein nicht irgendwelche zeitlichen Anforderungen haben.
Sie können Postgres CDC in wenigen Tagen implementierenist instinktiv Wege basierend auf Ihren betrieblichen Anforderungen und werden wir Schauen Sie sich diese unten genauer an:
TRigger
Triggerbasiertes Postgres CDC wird auch als „Event Sourcing“ bezeichnet" Bei dieser Methode wird ein dediziertes Ereignisprotokoll erstellt, das als primäre Informationsquelle dient. Wie der Name schon sagt, ist diese Methode stark auf Auslöser angewiesen wichtig in jeder Datenbanktransaktion und erfassen Sie Ereignisse in Echtzeit.
Ein Schalter Programmiert die Datenbank so, dass sie sich bei einem bestimmten Ereignis auf eine bestimmte Weise verhält tritt. Bei diesem Ereignis kann es sich um die Einführung neuer Daten, Aktualisierungen vorhandener Daten oder das Entfernen vorhandener Daten aus der Datenbank handeln.
Postgres CDC-Trigger sind in hohem Maße anpassbar. Sie können sie so konfigurieren, dass sie vor oder nach den oben genannten Ereignissen, bei jeder einzelnen Änderung oder einmal bei einer Gruppe von Änderungen ausgeführt werden. Sie können Triggern sogar Betriebsbedingungen auferlegen, sodass sie nur dann ausgeführt werden, wenn ein bestimmtes Tupel vorhanden ist geändert oder nur als Reaktion auf bestimmte Aktionen ausgeführt werden.
Trigger in Postgres CDC eignen sich gut zum Verfolgen von Änderungen in Tabellen, zum Aufzeichnen dieser Änderungen in einer anderen Tabelle und zum Erstellen eines Protokolls jeder Änderung. Um Trigger-basiertes Postgres zu implementieren Datenerfassung ändernkönnen Sie Prüfauslöser für Ihre Postgres-Datenbank erstellen, die alle Ereignisse im Zusammenhang mit Aktionen wie INSERT, UPDATE und DELETE verfolgen.
Da diese Methode arbeitet Auf SQL-Ebene können Sie auf die Change Data Capture-Tabelle und verweisen identifizieren alle Änderungen. Hier ist ein Beispiel für eine Triggerfunktion:
Dieser Code erstellt eine Tabelle mit dem Namen „user_cdc' zum Speichern von Änderungsdatenerfassungsinformationen, zum Erfassen von Informationen wie der Benutzer-ID, des BetriebsIonentyp (INSERT, UPDATE, DELETE), Zeitstempel der Änderung und der des Benutzers vor und nach der Änderung Information.
Dieser Code definiert einen PL/pgSQL Funktion ('Capture_changes') ausgelöst nach INSERT-, UPDATE- oder DELETE-Operationen für die Tabelle „Benutzer“. Das 'FALL' Aussage entschlossen der Operationstyp basierend auf der Wert of 'TG_OP' (Auslösevorgang).
Dieser Code erstellt einen Trigger mit dem Namen „user_trigger' in der Tabelle 'Benutzer', die nach allen INSERT-, UPDATE- oder DELETE-Vorgängen ausgelöst wird.
In obigem Postgres CDC Jedes Mal, wenn in der Tabelle „Benutzer“ eine Änderung auftritt, aktiviert der entsprechende Auslöser beispielsweise „Capture_changes' Funktion, die die Änderungen an der ' protokolliertBenutzer_CDC' Tisch. Die CDC-Tabelle erfasst den Vorgangstyp, den Zeitstempel und relevante Daten vor und nach der Änderung.
Zusammen helfen Ihnen diese Elemente dabei, alle Änderungen in der Originaltabelle im Laufe der Zeit zu verfolgen.
Vorteile von Trigger-basiertem Postgres CDC
- Das auslöserbasierte Postgres CDC ist zuverlässig und umfassend.
- Erfassung aller Änderungens und Aufzeichnungen erfolgen innerhalb des SQL-Systems.
- Die sofortige Änderungserfassung ermöglicht die Echtzeitverarbeitung von Ereignissen.
- Sie können Auslöser für verschiedene Arten von Ereignissen erstellen.
Nachteile von Trigger-basiertem Postgres CDC:
- Da alle von Ihnen erstellten Trigger auf Ihrer primären Postgres-Datenbank ausgeführt werden, können sie die Datenbank verlangsamen. Wie bei jeder anderen Operation auch die Ausführung Postgres CDC über Trigger erfordern ebenfalls Ressourcen und erhöhen den Druck auf die Datenbank.
- Um die Auswirkungen auf die Datenbankressourcen zu minimieren, müssen Sie eine weitere Tabelle erstellen, die die Primärtabelle widerspiegelt, und diese Sekundärtabelle für die Triggerimplementierung verwenden. Sie müssen jedoch auch eine separate Pipeline erstellen, um alle Änderungen an jedem Ziel widerzuspiegeln, das außerhalb der anwendbaren Postgres-Instanz des Triggers liegt.
Abfragen
Abfragebasiertes Postgres CDC erfordert mehr manueller Aufwand als mithilfe von Triggern. Sie müssen Ihre Postgres-Datenbank aktiv abfragen identifizieren Änderungen vornehmen, anstatt sich auf vorkonfigurierte Trigger zu verlassen. Sie benötigen eine Zeitstempelspalte in Ihrer Tabellee, um diese benutzerdefinierte Methode zu verwenden. Immer wenn ein Datensatz hinzugefügt wird oder geändert, wird die Zeitstempelspalte aktualisiert und enthält nun das Datum und die Uhrzeit der Änderung.
Jede Abfrage, die Sie an Ihre Postgres-Datenbank stellen, verwendet diese Zeitstempelspalte, um alle abzurufen geändert Aufzeichnungen seit Ihrer letzten Abfrage und zeigen Sie dann die erfassten Änderungen an.
Sie können dazu auch Skripte verwenden Monitor Ihre Postgres-Datenbank auf Änderungen prüfen und diese in einer Zieldatenbank aufzeichnen, aber diese zu erhalten ist sogar noch arbeitsintensiver als das bloße Abfragen der Datenbank.
Fortsetzung der Postgres Datenerfassung ändern Beispiel oben, hier ist So fragen Sie eine „Benutzer“-Tabelle ab:
Diese Abfrage ruft alle Datensätze ab the 'Benutzer' Tisch wo die 'letzte Aktualisierung' Der Zeitstempel ist größer als „2024“. Es wird verwendet, um Benutzerdatensätze abzurufen, die seit dem angegebenen Datum aktualisiert wurden.
ThDieser Code erstellt die Tabelle 'Benutzer_Änderungen'mit Informationen zu jeder Änderung – etwa die Art des Vorgangs (INSERT, UPDATE oder DELETE), sein Zeitstempel und relevante Daten vor und nach der Änderung.
Vorteile des abfragebasierten Postgres CDC
- Es ist einfacher als einzurichten Postgres-Änderungsdatenerfassung löst aus.
- Es gibt Sie haben mehr Kontrolle über den CDC-Prozess.
- Für abfragebasiertes CDC benötigen Sie keine externen Tools.
Nachteile von abfragebasiertem Postgres CDC
- Erfordert einen proaktiveren Ansatz als der auslöserbasierte Set-it-and-forget-it-Ansatz Postgres CDC. Sie müssen die Datenbank regelmäßig abfragen, um eine genaue und pünktliche Änderungsverfolgung sicherzustellen.
- Die Abfrageschicht ist bei dieser Methode für die Datenextraktion von entscheidender Bedeutung, was die Postgres-Datenbank zusätzlich belasten kann.
PostgreSQL Logische Replikation
Postgres CDC mit logischer Replikation wird auch als logische Dekodierung bezeichnet. Betrachten Sie es als eine Streaming-Darstellung eines Write-Ahead-Protokolls (WAL). Seit WAL erfasst und zeichnet alle Datenänderungen in der Postgres-Datenbank auf. Diese Änderungen gelten als logische Decodierungsströme und werden als logischer Replikationsslot auf Datenbankebene kategorisiert.
Mit anderen Worten: Ein Replikationsslot ist nichts anderes als ein Strom von Änderungen, die in einer Datenbank auftreten. Jede Datenbank kann mehrere Slots oder Änderungsströme haben.
Umsetzung PostgreSQL Für die logische Replikation ist ein logisches Dekodierungs-Plugin erforderlich. Postgres-Versionen 10 und höher verfügen standardmäßig über „pgoutput' Plugin. Es ermöglicht die Verarbeitung von Postgres-Datenbankänderungen als Streams. Wenn Sie jedoch eine ältere Version als 10 verwenden, müssen Sie ein Plugin wie „Decoderbufs' oder 'wal2json'.
DiepgoutputDas Plugin ist nützlich für die Replikation von Daten zwischen zwei oder mehr PostgreSQL-Instanzen. Trotzdem, es kann sein schwer um Postgres-Change-Stream-Daten in einen anderen zu übertragen Plattform oder Datenbank.
Wenn Sie Änderungsstromdaten auf eine Nicht-Postgres-Plattform verschieben möchten, können Sie die Option „wal2json' Plugin zur Umwandlung der Änderungsstromdaten in JSON. Dadurch können Ihre Zielplattformen es im JSON-Format lesen – was einfacher ist als Lesen pgoutputs binäre Ausgabe.
Neben einem Plugin die andere wichtige Komponente in CDC über logisches PostgreSQL-Replikatation ist ein Abonnementmodell mit Verlagen und Abonnenten. Dieses Abonnementmodell ermöglicht es einem oder mehreren Abonnenten, über den Herausgeberknoten eine (oder mehrere) Veröffentlichungen zu abonnieren. Abonnenten rufen Daten aus den Veröffentlichungen ab und können diese zur Replikation oder weiteren Neukonfigurationen erneut veröffentlichen.
Folgen Sie den unteren Schritten die Umsetzung Postgres CDC mit logischer Replikation aus einer Quelldatenbank (wir verwenden die 'Benutzer' Tabelle aus den vorherigen Beispielen) in eine Zieldatenbank, die wir nennen werden 'users_changes' Tabelle.
Denken Sie daran, Platzhalter wie „source_db' und 'replication_user' mit Ihren tatsächlichen Datenbankinformationen.
Aktivieren Sie zunächst die logische Darstellung in der Postgres-Konfigurationsdatei.postgresql.conf'. Verwenden Sie die oben genannten Einstellungen und starten Sie Postgres neu, sobald diese Änderungen vorgenommen wurden.
In diesem Abschnitt wird eine Tabelle mit dem Namen erstellt 'Benutzer' und eine Veröffentlichung mit dem Namen „my_pub' für die 'Nutzer' Tisch. Diese Veröffentlichung ist die Quelle der zu replizierenden Änderungen.
In diesem Abschnitt wird eine Tabelle mit dem Namen erstellt 'Benutzer_Änderungen' in der Zieldatenbank, um die Änderungen aus der Quelle zu speichern.
Dieser Code wird etablieren das Abonnement 'mein_sub', das eine Verbindung zur Quelldatenbank herstellt und die abonniert 'mein_sub' Veröffentlichung.
Dieser Code definiert eine Triggerfunktion 'Capture_changes' um Änderungen im ' zu erfassenBenutzer Tisch. Es ichnserts relevante Informationen in die 'Nutzer_Änderungen' Tisch abhängig vom Operationstyp (INSERT, UPDATE, DELETE). Es erstellt auch den Auslöser 'user_trigger', um diese Funktion nach jeder Zeilendatei auszuführenvel-Änderung in der 'Benutzer Tabelle.
Dies ist eine SQL-Anweisung zum Überwachen von Änderungen im logischen Replikationsslot mit dem Namen „mein_sub' und sie abholen. Ersetzen 'mein_sub' durch Ihren spezifischen Abonnementnamen.
Vorteile von Postgres CDC mit logischer Replikation:
- Das protokollbasierte CDC ermöglicht die Erfassung von Datenänderungen in Echtzeit mithilfe eines ereignisgesteuerten Mechanismus. Dadurch können nachgelagerte Anwendungen konsistent auf aktualisierte Daten aus einer Postgres-Datenbank zugreifen.
- Diese CDC-Methode kann alle Arten von Änderungsereignissen in einer Postgres-Datenbank identifizieren.
- Da diese Methode direkt auf das Dateisystem zugreift, wird die Datenbank weniger belastet.
Nachteile von Postgres CDC mit logischer Replikation:
- Die logische Replikation ist für PostgreSQL-Versionen vor 9.4 nicht verfügbar.
- Abhängig vom Anwendungsfall kann die komplexe Logik, die zur Verarbeitung dieser Ereignisse und ihrer eventuellen Umwandlung in Anweisungen für die Zieldatenbank erforderlich ist, möglicherweise den Projektabschluss beeinträchtigen.
Postgres CDC mit dem Write-Ahead-Protokoll (WAL)
Sowohl auslöserbasierter als auch abfragebasierter Postgres CDC kann zu Latenzen führen und sich im Laufe der Zeit auf die Leistung Ihrer Datenbank auswirken. Wenn, du würdest lieber Hebelwirkung Sie können die in Postgres integrierten Funktionen nutzen und sie für CDC-Prozesse umfunktionieren, anstatt die oben beschriebenen Techniken zu verwenden die WAL.
Die WAL ist ein Transaktionsprotokoll, das alle Änderungen in der Datenbank notiert. Sein Hauptzweck ist die Wiederherstellung und Gewährleistung der Datenintegrität, Was Es ist nützlich für ereignisbasiertes CDC. Da es sich um eine integrierte Funktion handelt, werden Sie hauptsächlich mit den eigenen Einstellungen der Postgres-Datenbank arbeiten, um sie für CDC einzurichten.
Nachfolgend finden Sie die Schritte, die Sie ausführen müssen implementieren Postgres-ChanGE-Datenerfassung mithilfe des Transaktionsprotokolls:
Aktivieren Sie zunächst WAL in Ihrer Postgres-Konfiguration. Obwohl dies normalerweise die Standardeinstellung ist, aktivieren Sie das Kontrollkästchen „postgresql.conf'-Datei zur Bestätigung. Mit Postgres können Benutzer die Inhalte der WAL untersuchen. Als Beispiel verwenden wir das 'pg_waldump'Werkzeug. RErsetzen Sie den Platzhalter 'path_to_wal_file>' mit dem tatsächlichen Pfad Ihrer WAL-Datei, wenn Sie diesen Code verwenden.
Als nächstes qÜberprüfen Sie die WAL-Inhalte mithilfe von SQL-Abfragen. Der 'pglogisch' Erweiterungspaket enthält die 'pg_decode'-Erweiterung, die für diesen Zweck am häufigsten verwendete Erweiterung.
- „ERWEITERUNG ERSTELLEN“ erstellt und installiert die „pglogisch' Erweiterung, die logische Replikationsfunktionen für Postgres bereitstellt.
- Die SQL-Anweisung „SELECT“. erstellt einen logischen Replikationsslot mit dem Namen „mein_slot' Verwendung der 'pg_create_logical_representation_slot'Funktion.
- 'pgoutput' gibt das zu verwendende Ausgabe-Plugin an Dekodierungsänderungen und hier akute Schmerzen zu lindern, sondern ist auch eine wertvolle Behandlungsmethode für die Behandlung von Verbrennungen ein integriertes Ausgabe-Plugin für die logische Replikation.
- 'pg_logical_slot_peek_changes' wird verwendet, um die in einem logischen Replikationsslot erfassten Änderungen zu untersuchen
- 'mein_slot' ist der logische Replikationsslot, der abgefragt wird. Dieser Name ist ein Platzhalter und Sie sollten ihn durch den Namen des tatsächlichen Slots ersetzen, den Sie abfragen möchten
- 'NULL, NULL' ist der Ort, an dem Sie Parameter platzieren können, die den Bereich der abzurufenden Änderungen angeben. Mit 'NULL, NULL' bedeutet hier das Abrufen aller verfügbaren Änderungen ohne einen bestimmten Bereich.
Beachten Sie, dass Sie möglicherweise etwas programmieren müssen, insbesondere wenn Sie sind Planung, die Änderungsextraktion und -verarbeitung zu automatisieren.
Vorteile der Verwendung von WAL für Postgres CDC
- Während Etwas Codierung ist noch vorhanden Da die Verwendung der WAL zwar eine große Rolle spielt, erfordert sie insgesamt weniger Codierung als die anderen von uns besprochenen CDC-Methoden von Postgres.
- Lösungen und Plattformen von Drittanbietern wie z 'pglogisch' stehen zur Verfügung, um die komplexeren Schritte im Prozess zu vereinfachen.
Nachteile der Verwendung von WAL für Postgres CDC
- Die Daten, die Sie aus der WAL extrahieren, können in einem Rohformat vorliegen. Transformieren Sie es, um es an die Datenstruktur Ihrer Anwendung anzupassen erfordert Zusätzliche Arbeit.
- Die Überwachung von Änderungen in der WAL könnte weitere Skripterstellung oder Automatisierung erfordern.
- Das Verständnis und die Interpretation der WAL-Datensätze erfordern ein tiefgreifendes Verständnis der internen Abläufe Ihrer Postgres-Datenbank.
Automatisierung Postgres CDC mith Astera
Das folgende Beispiel erklärt, wie Sie können automatisieren auslösen-basierend Postgres CDC Verwendung von Astera. Let's annehmen du bist Arbeiten mit einem PostgreSQL Datenbank und haben eine konfiguriert Datenbanktabellenquelle zum Lesen von Informationen aus dieser Datenbank.
Erstens du wirst Aktivieren Sie CDC für diese Datenbankase durch Auswahl .
Wählen Sie dann über die Felder aus, für die Sie das CDC aktivieren möchten Wählen Sie Spalten Dialogbox.
Während you kann ein oder alle Felder einer Datenbank auswählen, Es ist obligatorisch, einen Primärschlüssel auszuwählen. In diesem Fall können Sie wählen MitarbeiterID.
Sobald Du hast Nachdem Sie die Felder ausgewählt haben, klicken Sie auf „OK“.'. Sie werden siehe Dialogbox Dies zeigt an, dass Sie CDC für diese Datenbank erfolgreich aktiviert haben.
Nächstes Richten Sie die Zieltabelle zum Speichern der aktualisierten Daten aus der Quelltabelle ein. Fügen Sie aus der Toolbox links ein Datenbankzielobjekt hinzu.
Konfigurieren Sie das Zielobjekt, indem Sie seine Eigenschaften öffnen. Im Definieren Sie Eingabeports für Maping Abschnitt, wählen Sie die Upsert Kontrollkästchen mit einer CDC-Quelle wie die eingehenden Daten wahrscheinlich enthalten sowohl neue als auch aktualisierte Datensätze. In Wählen Sie Felder für übereinstimmende Datenbankbetreff ausKabel, wählen MitarbeiterID da akute Schmerzen zu lindern, sondern ist auch eine wertvolle Behandlungsmethode für die Behandlung von Verbrennungen Der Primärschlüssel ist für jeden Datensatz in der Quelldatenbank eindeutig.
Nächstes Verwenden Sie Drag-and-Drop, um Ordnen Sie alle Felder vom Datenbankquellobjekt dem Zielobjekt zu. Der Datenfluss zu Die Implementierung von Postgres CDC ist nun abgeschlossen.
Wenn Sie den Datenfluss ausführen und das Auftragsfortschrittsfenster überprüfen, du wirst finde das Astera hat gelesen und geschrieben Einträge von der Quelltabelle in die Zieltabelle.
Inkrementelles Postgres CDC
Es ist Einfache Einrichtung von inkrementellem CDC in einer PostgreSQL-Datenbank mit Astera, sodass Sie die Daten laden können für Ihre Datenbanktabelle inkrementell statt Komplettladungen bei jedem Lauf.
Lasst uns nehmen an, dass wir sind In diesem Anwendungsfall wird mit Daten von Reedereien gearbeitet und möchten diese Daten in einem neuen speichern Datenbank Tabelle. Wir wollen Sie können die neue Tabelle jederzeit aktualisieren es gibt eine Änderung in der Quelle, ohne dass die Quelltabelle vollständig geladen werden muss.
Gut Verwenden Sie eine vorkonfigurierte Datenbanktabellenquelle mit den relevanten Informationen.
Greifen Sie auf die Eigenschaften des Quellobjekts zu, indem Sie Rechtsklick seine Kopfzeile und Auswahl Eigenschaften.
Stellen Sie eine Verbindung zur Datenbank her und klicken Sie auf „Weiter“. vorgehen.
Auf dem nächsten Bildschirm du wirst finden Sie in der Inkrementelle Leseoptionen .
Auswählen
Inkrementelle Last basierend auf Prüffeldern as Strategie lesen Daraufhin werden weitere Optionen angezeigt.
Prüffelder werden aktualisiert, wenn ein Datensatz erstellt wird oder geändertB. Erstellungsdatum und -uhrzeit, Änderungsdatum und -uhrzeit sowie automatische Nummer. Beim inkrementellen Lesen wird der höchste Wert für alle von Ihnen angegebenen Prüffelder verfolgt. Beim nächsten Lauf werden nur Datensätze angezeigt, die einen höheren Wert als den gespeicherten Wert haben sind abgerufen.
- Fügen Sie einen Dateipfad für die hinzu Inkrementelle Übertragungsinformationsdatei, Die Astera erstellt, um Informationen zum letzten Eintrag der Datenbanktabelle zu speichern. Bei jedem Durchlauf wird diese Datei mit der Datenbanktabelle verglichen, um nach neuen Einträgen zu suchen.
- Richten Sie per Drag & Drop eine Zieltabelle ein Ziel der Datenbanktabelle aus der Toolbox.
- Ordnen Sie nach der Konfiguration die Tabellenquelle dem Tabellenzielobjekt zu.
- Sie werden Stellen Sie sicher, dass die Zieltabelle leer ist. Sie können den Inhalt wie unten gezeigt überprüfen. Dadurch wird eine SQL-Abfrage geöffnet zum Anzeigen der Tabellendaten.
- Wenn Sie den Datenfluss ausführen, überprüfen Sie die Job Fortschritt Fenster und Sie werden das sehen Einträge aus der Quelltabelle gewesen geschrieben zur Zieltabelle.
- Sie können dies überprüfen, indem Sie eine Vorschau der Zieltabelle anzeigen.
Automatisieren Sie Postgres CDC in Astera und halten Sie Ihre Datenbanken mühelos synchronisiert
Kombinieren Sie Postgres CDC-Techniken mit AsteraNutzen Sie die beeindruckenden Datenverwaltungsfunktionen und holen Sie das Beste aus Ihren stets aktuellen Datenbanken heraus. Entdecken Sie die Astera Unterschied heute!
Starten Sie Ihre kostenlose Testversion Auswahl der richtigen PostgreSQL-CDC-Methode für Ihren Anwendungsfall
Es gibt mehrere Methoden zum Implementieren von CDC in einer PostgreSQL-Datenbank, und Sie müssen mehrere Faktoren berücksichtigen, wenn Sie sich für eine Methode entscheiden. Jede Methode hat ihre Vor- und Nachteile, die wir kurz erläutern skizzierte über. Darüber hinaus sind hier noch einige weitere Punkte, über die Sie nachdenken sollten:
Datenvolumen und Änderungshäufigkeit:
- In Umgebungen mit moderaten Datenänderungen, die eine Echtzeitverfolgung erfordern, ist triggerbasiertes CDC die beste Wahl
- Für Szenarien eignet sich die logische Replikation mit hohe Datenänderungsraten, da es Replikationsfunktionen in Echtzeit bietet.
- Wenn in Ihren Arbeitsabläufen selten Datenänderungen extrahiert werden, wählen Sie das abfragebasierte Postgres CDC.
Leistung und Overhead:
- Triggerbasiertes Postgres CDC kann zusätzlichen Overhead verursachen, insbesondere wenn hohe Transaktionsraten beteiligt sind.
- Die logische Replikation hat nur geringe Auswirkungen und schont das Quellsystem, was sie zur richtigen Wahl für Hochleistungsszenarien macht.
- Abfragebasiertes CDC verbraucht normalerweise nicht allzu viele Ressourcen, kann sich jedoch bei intensiven Abfragen auf die Leistung auswirken.
Komplexität des Anwendungsfalls:
- Auslöserbasiertes CDC eignet sich für komplexe Fälle, die eine individuelle Anpassung und detaillierte Änderungsverfolgung erfordern.
- Die logische Replikation eignet sich für Fälle, in denen Einfachheit und Echtzeitreplikation erforderlich sind.
- Das abfragebasierte CDC ist eine problemlose Option für einfache Anwendungsfälle, die keine komplexen Auslöser erfordern.
Integration und Kompatibilität:
- Triggerbasiertes CDC lässt sich nahtlos in Ihre aktuellen Anwendungen und Datenbanken integrieren
- Die logische Replikation ist ideal für Szenarien, in denen Kompatibilität zwischen verschiedenen Postgres-Instanzen erforderlich ist.
- Beim abfragebasierten CDC handelt es sich um benutzerdefinierte Abfragen. Daher ist es die richtige Option, um maßgeschneiderte Integrationsanforderungen zu erfüllen.
Einfachheit und Funktionalität:
- Trigger-basiertes CDC ist eine robuste Lösung, die eine detaillierte Änderungsverfolgung bietet, aber dadurch noch komplexer wird. Gut für anpassungsintensive Umgebungen.
- Die logische Replikation schafft hier die richtige Balance, was sie zu einer praktischen Wahl für eine Vielzahl von Szenarien macht und sich ideal für die Erfüllung von Echtzeit-Replikationsanforderungen eignet.
- Das abfragebasierte CDC ist recht einfach und flexibel, bedeutet jedoch, dass möglicherweise mehr manuelle Eingriffe erforderlich sind. Es ist die richtige Technik für die gelegentliche Extraktion von Änderungen.
Zusammenfassung
In diesem Blog haben wir uns eingehend mit verschiedenen Optionen befasst, die Sie für die Implementierung von CDC in PostgreSQL nutzen können. Wir haben auch die Vor- und Nachteile jeder Methode besprochen und die Faktoren hervorgehoben, die Sie beachten sollten Erwägen bevor Sie eine CDC-Methode für Ihr Unternehmen auswählen.
Während es gibt kein Einheitslösung wenn es um Veränderung geht Datenerfassung, Der Prozess sollte automatisiert werden in Ihrer Liste der obersten Prioritäten. Letztendlich, wie Sie Die Implementierung von Postgres CDC hängt von Ihnen ab Leistungsanforderungen, Anpassungspräferenzen und individueller Anwendungsfall.
At AsteraWir glauben an die Bereitstellung einer vereinfachten End-to-End-Datenverwaltungslösung. Unsere intuitive Drag-and-Drop-Oberfläche mit gebaut-in Konnektoren und Transformationen macht die Codierung überflüssig und demokratisiert Datenoperationen, sodass sie sowohl für nicht-technische als auch für technische Interessengruppen gleichermaßen zugänglich und aufschlussreich sind.
Unsere Suite ermöglicht es Ihnen, Ihre zu vereinfachen Datenintegration anpassen, robust bauen Data Warehouse und Optimieren Sie Ihr EDI und API-Verwaltung, Alles ohne das Schreiben einer einzigen Codezeile.
Erleben Sie die Astera Unterschied. Start Ihre kostenlose Testversion heute oder Holen Sie ein Angebot ein um zu starten.