Synchronisieren Sie Ihre Daten von der Cloud mit Actian Zen EasySync
Johnson Varughese
28. August 2024

Willkommen zurück in der Welt von Actian Zen, einer vielseitigen und leistungsstarken Datenmanagement , mit der Sie niedrige Latenz eingebettet Apps erstellen können. Dies ist Teil 3 der Schnellstart-Blogserie, die sich darauf konzentriert, eingebettet App-Entwicklern den Einstieg in Actian Zen zu erleichtern.
Die Einrichtung von Beständigkeit und die Konsolidierung von Daten über verschiedene Geräte und Server hinweg sind für die meisten Cloud unerlässlich. Die Synchronisierung von Daten ist für fast jede mobile, Edge- oder IoT erforderlich, und die Entwickler sind mit den grundlegenden Konzepten und Herausforderungen vertraut. Aus diesem Grund schätzen viele erfahrene Entwickler effiziente Lösungen. Das Actian Zen EasySync Tool ist ein neues Dienstprogramm, das speziell für diesen Zweck entwickelt wurde.
Dieser Blog führt Sie durch die Schritte zum Einrichten und Ausführen von EasySync.
Was ist EasySync?
Zen EasySync ist ein vielseitiges Tool Datensynchronisierung , das die Synchronisierung von neu erstellten oder aktualisierten Datensätzen von einem Zen-Datenbankserver zu einem anderen automatisiert. Dieses Tool überträgt Daten über mehrere Server hinweg, unabhängig davon, ob Sie am Rande oder innerhalb eines zentralisierten Netzwerks arbeiten. Zu den wichtigsten Funktionen von EasySync gehören:
- Flexibler Zeitplan für die Synchronisierung: Synchronisierung von Daten kann so geplant werden, dass in einem bestimmten Intervall nach Änderungen gesucht wird, oder es kann als Batch-Transfer-Tool verwendet werdenverwendet werden, je nach Bedarf.
- Protokollierung: Überwachen Sie allgemeine Aktivitäten, erkennen Sie Fehler und beheben Sie unerwartete Ergebnisse mit den Funktionen.
Voraussetzungen
Bevor Sie EasySync verwenden, müssen Sie sicherstellen, dass Ihre Zen-Installation die folgenden Punkte erfüllt:
- System-Daten: Die Dateien müssen die Systemdaten v2 mit dem Dateiformat Version 13 oder Version 16 enthalten.
- ZEN 16.0 installiert.
- Einzigartiger Schlüssel: Sowohl die Quell- als auch die Zieldatei müssen einen Nutzer eindeutigen Schlüssel haben.
EasySync-Verwendungsszenarien
EasySync unterstützt verschiedene Datensynchronisierung und ist damit ein flexibles Werkzeug für unterschiedliche Anwendungsfälle. Einige gängige Anwendungsszenarien sind im folgenden Diagramm dargestellt:
- Drücken Sie auf die Fernbedienung: Synchronisieren Sie Daten aus einer lokalen Datenbank mit einer entfernten Datenbank.
- Ziehen von Remote: Synchronisieren Sie Daten aus einer entfernten Datenbank mit einer lokalen Datenbank.
- Ziehen und Drücken auf Fernbedienungen: Synchronisieren Sie Daten zwischen mehreren entfernten Datenbanken.
- Aggregierte Daten von Edge: Sammeln Sie Daten aus mehreren Edge-Datenbanken und synchronisieren Sie sie mit einer zentralen Datenbank.
- Verbreiten Sie Daten an den Rand: Verteilen Sie Daten von einer zentralen Datenbank an mehrere Edge-Datenbanken.
Erste Schritte mit EasySync
Um die Verwendung von EasySync zu demonstrieren, werden wir eine Python erstellen, die Sensordaten simuliert und mit EasySync synchronisiert. Diese Anwendung erstellt eine Sensortabelle auf Ihrem Edge-Gerät und dem Remote-Server, fügt zufällige Sensordaten ein und synchronisiert die Daten mit einer Remote-Datenbank. Die entfernte Datenbank kann verschiedene Datensätze von mehreren Edge-Geräten enthalten.
Schritt 1: Erstellen der Konfigurationsdatei
Zunächst müssen wir eine JSON-Konfigurationsdatei erstellen (config.json). In dieser Datei werden die Synchronisierungseinstellungen und die zu synchronisierenden Dateien definiert, wobei die Dateien in einem Quell- (demodata) und einem Zielordner (demodata) gespeichert werden.
Hier ist ein Beispiel dafür, wie die Konfigurationsdatei aussehen könnte:
{ "version": 1, "settings": { "polling_interval_sec": 10, "log_file": " C:/ProgramData/Actian/Zen/logs/datasync.log", "record_err_log": " C:/ProgramData/Actian/Zen/logs/recorderrors.log", "resume_on_error": true }, "files": [ { "id": 1, "source_file": "btrv://localhost/demodata?dbfile= sensors.mkd", "source_username": "", "source_password": "", "destination_file": "btrv://<Destination Server>/demodata?dbfile= sensors.mkd", "destination_username": "", "destination_password": "", "unique_key": 0 }, { "id": 2, "source_file": "btrv://localhost/demodata?dbfile=bookstore.mkd", "destination_file": "btrv://<Destination Server>/demodata?dbfile=bookstore.mkd", "create_destination": true, "unique_key": 1 } ] }
Schritt 2: Schreiben des Python
Als nächstes erstellen wir ein Python , das Sensordaten simuliert, die erforderliche Datenbanktabelle erstellt und Datensätze in die Datenbank einfügt.
Speichern Sie den folgenden Python in einer Datei namens run_easysync.py. Führen Sie das Skript aus, um die Sensortabelle auf dem lokalen Edge-Gerät und dem Server zu erstellen und die Daten auf dem Edge-Gerät einzufügen.
import pyodbc import random import time from time import sleep random.seed() def CreateSensorTable(server, database): try: db_connection_string = f"Driver={{Pervasive ODBC Interface}}; ServerName={server}; DBQ={database};" conn = pyodbc.connect(db_connection_string, autocommit=True) cursor = conn.cursor() # cursor.execute("DROP TABLE IF EXISTS sensors;") cursor.execute(""" CREATE TABLE sensors SYSDATA_KEY_2( id IDENTITY, ts DATETIME NOT NULL, temperature INT NOT NULL, pressure FLOAT NOT NULL, humidity INT NOT NULL ); """) print(f"Table 'sensors' created successfully on {server}") except pyodbc.DatabaseError as err: print(f"Failed to create table on {server} with error: {err}") def GetTemperature(): return random.randint(70, 98) def GetPressure(): return round(random.uniform(29.80, 30.20), 3) def GetHumidity(): return random.randint(40, 55) def InsertSensorRecord(server, database): temp = GetTemperature() press = GetPressure() hum = GetHumidity() try: insert = 'INSERT INTO sensors (id, ts, temperature, pressure, humidity) VALUES (0, NOW(), ?, ?, ?)' db_connection_string = f"Driver={{Pervasive ODBC Interface}};ServerName={server};DBQ={database};" conn = pyodbc.connect(db_connection_string, autocommit=True) cursor = conn.cursor() cursor.execute(insert, temp, press, hum) print(f"Inserted record [Temperature {temp}, Pressure {press}, Humidity {hum}] on {server}") except pyodbc.DatabaseError as err: print(f"Failed to insert record on {server} with error: {err}") # Main local_server = "localhost" local_database = "Demodata" remote_server = "remote-server_name" remote_database = "demodata" # Create sensor table on both local and remote servers CreateSensorTable(local_server, local_database) CreateSensorTable(remote_server, remote_database) while True: InsertSensorRecord(local_server, local_database) sleep(0.5)
Synchronisierung von Daten von IoT mit einem entfernten Server
Lassen Sie uns nun den Datensynchronisierung mit dem EasySync-Tool einbinden, um sicherzustellen, dass die Sensordaten vom IoT auf einen Remote-Server repliziert werden.
Schritt 3: EasySync ausführen
Um die Daten mit EasySync zu synchronisieren, gehen Sie wie folgt vor:
- Stellen Sie sicher, dass die easysync installiert und über die Befehlszeile zugänglich ist.
- Führen Sie das Python aus, um mit der Generierung und dem Einfügen von Sensordaten zu beginnen.
- Führen Sie den Befehl EasySync aus, um den Synchronisierungsprozess zu starten.
Öffnen Sie Ihre Befehlszeile und navigieren Sie zu dem Verzeichnis, das Ihre Konfigurationsdatei und Ihr Python enthält. Führen Sie dann den folgenden Befehl aus:
easysync -o config.json
Dieser Befehl führt das Dienstprogramm EasySync mit der angegebenen Konfigurationsdatei aus und stellt sicher, dass der Synchronisierungsprozess beginnt.
Schlussfolgerung
Actian Zen EasySync ist ein einfaches, aber effektives Tool zur Automatisierung der Datensynchronisierung zwischen Zen-Datenbankservern. Wenn Sie die in diesem Blog beschriebenen Schritte befolgen, können Sie EasySync leicht einrichten und ausführen. EasySync bietet die Flexibilität und Zuverlässigkeit, die Sie benötigen, um Ihre Daten zu verwalten . Vergewissern Sie sich, dass Ihre Dateien das richtige Format haben, dass Systemdaten v2 aktiviert sind und dass Sie einen Nutzer eindeutigen Schlüssel für eine nahtlose Synchronisierung besitzen. Mit EasySync können Sie Daten von IoT zuverlässig verwalten und effizient mit Remote-Servern synchronisieren.
Weitere Einzelheiten und visuelle Anleitungen finden Sie in der Actian Akademie und die umfassende Dokumentation. Viel Spaß beim Kodieren!
Abonnieren Sie den Actian Blog
Abonnieren Sie den Blog von Actian, um direkt Dateneinblicke zu erhalten.
- Bleiben Sie auf dem Laufenden - Holen Sie sich die neuesten Informationen zu Data Analytics direkt in Ihren Posteingang.
- Verpassen Sie keinen Beitrag: Sie erhalten automatische E-Mail-Updates, die Sie informieren, wenn neue Beiträge veröffentlicht werden.
- Ganz wie sie wollen: Ändern Sie Ihre Lieferpräferenzen nach Ihren Bedürfnissen.