Änderungen in Ihrer Datenbank verfolgen

Event Horizon verfolgt die Änderungen einer MySQL-, PostgreSQL-, SQL-Server- oder MongoDB-Tabelle, sobald sie passieren: Jedes Insert, Update und Delete kommt als Ereignis an. Aktivieren Sie zuerst das Änderungsprotokoll der Datenbank. MySQL braucht binlog_format=ROW, PostgreSQL braucht wal_level=logical, SQL Server braucht CDC auf der Tabelle und MongoDB braucht ein Replica Set. Nutzen Sie ein Lese-Replikat, falls vorhanden.

Wenn wir Ihre Datenbank erreichen können, fügen Sie einem Workflow einen CDC-Source-Knoten hinzu, wählen Sie Datenbank, Engine und Tabelle und starten Sie den Workflow. Zuerst werden die vorhandenen Zeilen kopiert, danach folgen die Änderungen.

Liegt Ihre Datenbank in einem privaten Netz, starten Sie stattdessen den Agenten daneben. Aus Ihrem Netz geht nur ausgehender HTTPS-Verkehr, und das Datenbankpasswort verlässt es nie. Fügen Sie in der App einen Probe-Knoten hinzu, wählen Sie Engine und Tabelle unter „Database changes via the agent“, erzeugen Sie den Probe-Schlüssel und kopieren Sie die Ingest-URL. Führen Sie dann auf einem Rechner, der die Datenbank erreicht, aus:

EH_CDC_PASSWORD=... npx @event-horizon-data/agent \
  --endpoint https://ingest.eventhorizondata.com/ingest/probe/<org>/<node> \
  --key ehp_<key> \
  --cdc mysql://eh_cdc@10.0.3.12/shop

Das Passwort wird aus EH_CDC_PASSWORD gelesen, nie von der Kommandozeile. Mit --cdc-tls aktivieren Sie TLS, mit --cdc-never verlassen bestimmte Spalten Ihr Netz nie, und mit --cdc-allow lehnt der Agent jede Tabelle ab, die nicht auf Ihrer Liste steht. Für mehrere Tabellen nutzen Sie [[cdc]]-Blöcke in der Konfigurationsdatei des Agenten, beschrieben im README des Agenten.

Die Zustellung erfolgt mindestens einmal, mit deterministischen IDs, und die Position rückt erst vor, wenn wir bestätigt haben, die Änderungen gespeichert zu haben. Die Position liegt bei uns, eine Neuinstallation des Agenten kopiert die Tabelle also nicht erneut. Betreiben Sie einen Agenten pro Probe: Ein zweiter übernimmt vom ersten. PostgreSQL hält einen Replication Slot, solange der Agent fehlt. Wenn Sie den Agenten endgültig abschalten, löschen Sie ihn mit SELECT pg_drop_replication_slot('eh_cdc_<node id>').

Senden Sie Ihr erstes Event.

Legen Sie ein Konto an und kommen Sie in Minuten von Rohdaten zu einem Dashboard.