Heim  >  Artikel  >  Computer-Tutorials  >  Änderungsdatenerfassung: Überblick, Warum und Best Practices

Änderungsdatenerfassung: Überblick, Warum und Best Practices

WBOY
WBOYnach vorne
2024-02-19 15:42:18499Durchsuche

Änderungsdatenerfassung: Überblick, Warum und Best Practices

Heutige Unternehmen, insbesondere solche, die der digitalen Transformation Priorität einräumen, benötigen dringend Echtzeitdaten. Die herkömmliche wöchentliche und monatliche Stapelverarbeitung kann die Nachfrage nicht mehr decken. Es ist jedoch nicht einfach, Echtzeitdaten aus mehreren Quellen zu erhalten und diese zur Automatisierung von Prozessen und zur dynamischen Optimierung von Entscheidungen zu nutzen.

Kürzlich standen wir vor der Herausforderung, das Altsystem eines Kunden neu zu gestalten und die monolithische Architektur in Microservices aufzuteilen. Wir haben begonnen, Änderungen an der Datenbank vorzunehmen und das System modulweise zu modernisieren. In dieser Phase müssen wir sicherstellen, dass beide Datenbanken synchron bleiben, da verschiedene Module möglicherweise dieselben Daten benötigen – mit anderen Worten: Das alte System benötigt Daten, die vom neuen System in der neuen Datenbank generiert wurden, und umgekehrt.

Wir haben die Change Data Capture (CDC)-Technologie untersucht, um festzustellen, ob sie unseren Anforderungen entspricht. Der Artikel beschreibt detailliert die Definition von CDC, die von uns getesteten Tools, ihre Funktionsweise und ihre Vorteile. Gleichzeitig haben wir einige Fälle und Vorschläge geteilt, um anderen Technikern bei der Auswahl der geeigneten CDC-Tools in bestimmten Situationen zu helfen.

Was ist Change Data Capture?

Datenerfassung ist der Prozess der Erkennung und Erfassung von Änderungen im Quellsystem und der anschließenden Übermittlung dieser Änderungen an das Zielsystem nahezu in Echtzeit. Zu diesen Änderungen können Einfüge-, Lösch- und Aktualisierungsvorgänge sowie DDL-Änderungen an der Datenbankstruktur gehören.

Wie Change Data Capture-Tools funktionieren

CDC-Tools implementieren ihre Funktionalität, indem sie Datenänderungen in Quellsystemen überwachen. Sobald eine Änderung entdeckt wird, erfasst das CDC-Tool sie und zeichnet sie an einem bestimmten Ort auf, beispielsweise in einer Datenbank oder einer Protokolldatei. Die verarbeiteten und transformierten Daten werden dann in ein Zielsystem geladen, beispielsweise ein Data Warehouse oder eine Analyseplattform.

Es gibt mehrere Möglichkeiten, Datenbankänderungen zu erfassen. Schauen wir uns einige davon an:

1. Zeitstempel-/abfragebasiert

Bei dieser Methode verwalten wir einige Prüfspalten ähnlich CREATED_AT, LAST_UPDATED oder DATE_MODIFIED in der Quelle und erkennen Änderungen in diesen Spalten, indem wir die Daten in der Quelle abfragen, um etwaige Datenänderungen zu erfassen. Es ist zu beachten, dass diese Methode keine Löschvorgänge aufzeichnet.

2. Auslöserbasiert

Ein Trigger ist eine Funktion in der Datenbank, die eine Aktion basierend auf einem bestimmten Ereignis ausführt. Obwohl es zum Erfassen von Änderungen, einschließlich Löschvorgängen, nützlich ist, verringert es die Datenbankleistung, da jedes Ereignis mehrere Schreibvorgänge erfordert.

3. Protokollbasiert

Die Datenbank enthält Transaktionsprotokolle zur Wiederherstellung im Falle eines Absturzes und speichert alle Ereignisse. Beim protokollbasierten CDC werden neue Datenbanktransaktionen direkt aus dem nativen Protokoll gelesen, was die Erfassung von Änderungen ohne Scannen der Quelltabelle ermöglicht und daher effizienter ist.

Dieser Ansatz ähnelt dem Event Sourcing in der ereignisgesteuerten Architektur. Immer wenn sich der Systemstatus ändert, zeichnen wir dies als Ereignis auf. Die aufgezeichneten Ereignisse können in der gleichen Reihenfolge wiedergegeben werden, um jederzeit den Systemzustand zu rekonstruieren.

Warum CDC verwenden?

CDC ist in vielen Szenarien je nach Situation, Anwendung, Architektur und Geschäftsanforderungen von entscheidender Bedeutung. Hier sind einige Möglichkeiten, wie das CDC beim Engineering-Prozess hilft:

  • Datenverfügbarkeit in Echtzeit: CDC-Tools erfassen Änderungen nahezu in Echtzeit und stellen so sicher, dass die neuesten Daten für Analysen, Berichte oder weitere Verarbeitung verfügbar sind.
  • Schnellere Entscheidungsfindung: CDC trägt dazu bei, Verzögerungen zwischen Erfassung und Datenverfügbarkeit zu reduzieren und ermöglicht so eine schnellere Analyse und Entscheidungsfindung.
  • Effiziente Datenintegration: CDC-Tools helfen dabei, Daten aus mehreren Betriebsquellen zu erfassen und in ein gemeinsames Format in einer einzigen Zieldatenbank oder einem einzigen Datensee zu konvertieren.
  • Maßgeschneidertes Design der Zieldatenbank: CDC bietet funktionsübergreifende Vorteile, z. B. die Erstellung schreibgeschützter Such- oder Abfragedatenbanken in CQRS-Systemen, die Erstellung von Prüfdatenbanken oder die Erfassung von Daten in Data Warehouses. Es ermöglicht die Entkopplung nichtfunktionaler und architektonischer Anforderungen vom primären Datenspeicher.
  • Vereinfachte Datenmigration: In unserem Fall hilft CDC dabei, die Datenkonsistenz zwischen alten und neuen Datenbanken während der Modernisierungsphase aufrechtzuerhalten. Dies gilt auch für verschiedene andere Datenmigrationsszenarien.

Wie wählt man das richtige CDC-Tool aus?

Es gibt mehrere CDC-Tools auf dem Markt, wie zum Beispiel Oracle Golden Gate, Debezium, IBM Infosphere, Striim, StreamSets und Qlik Replicate. Diese Tools können Open Source oder kostenpflichtig sein. Sie unterstützen typischerweise lokale und Cloud-Umgebungen und können eine Vielzahl von Datenquellen verarbeiten. Berücksichtigen Sie bei der Auswahl Folgendes:

  • Kompatibilität mit Datenquellen: Das von Ihnen gewählte Tool muss mindestens mit allen Datenquellen kompatibel sein, an denen Sie Änderungen erfassen möchten.
  • Datenerfassung in Echtzeit: Tools sollten Änderungen nahezu in Echtzeit erfassen, damit Sie mit den neuesten Daten arbeiten können.
  • Datenkonvertierung und -integration: CDC-Tools sollten in der Lage sein, die Datenkonvertierung von Quell- in Zieldatentypen durchzuführen.
  • Preis: CDC-Tools müssen für Ihren Anwendungsfall kostengünstig sein. Es stehen Open-Source-, kostenpflichtige und lizenzierte Produkte zur Verfügung.
  • Benutzerfreundlichkeit und Support: Das Tool sollte für Ihr Team einfach zu bedienen sein und angemessenen Support bieten, einschließlich umfassender Dokumentation und technischem Support.
  • Weitere Funktionen: Abhängig von Ihren Anforderungen möchten Sie möglicherweise auch andere spezifische Funktionen ausprobieren, z. B. die bidirektionale Synchronisierung zwischen Quelle und Ziel sowie Cloud-Unterstützung.

Da Unternehmen immer technologieorientierter werden, werden historische und aktuelle Daten zu einem entscheidenden Unterscheidungsmerkmal. Die Erzielung einer genauen, zeitnahen, effizienten und kostengünstigen Erfassung von Änderungsdaten wird ein wichtiger Bestandteil jedes Technologietransformationsprogramms sein. Wenn Sie mit dieser Situation konfrontiert sind, hoffe ich, dass dieser Artikel Ihnen helfen kann.

Das obige ist der detaillierte Inhalt vonÄnderungsdatenerfassung: Überblick, Warum und Best Practices. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:mryunwei.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen