Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#1

Thread getriebene SQLite Zwischenschicht?!

  Alt 4. Nov 2014, 15:50
Hallo Zusammen!

Ich habe folgende Situation:

Eine Software die in verschiedenen Filialen eingesetzt wird.
Zur Zeit hat jede Filiale einen eigenen MySQL-Server und es gibt einen globalen MySQL-Server im Internet.
Direkt auf dem globalen Server zu arbeiten ist zu langsam, da teilweise die Internetverbindung zu schlecht, langsam und instabil ist.

Es gibt zwei "FEDERATED" Tabellen. Eine für die Log's die andere für die Datenbank-Versionsverwaltung.

Wenn eine Datenbank geöffnet wird, schaut die Software erst nach, ob auf dem Server Datensatzänderungen sind, die erst auf den lokalen Server übertragen werden müssen. Nach dem Close schreibt die Software die geänderten Datensätze auf den globalen Server und gibt die Datenbank wieder frei.

Soweit so "gut"... Das funktioniert so recht gut seit ca. 3 Jahren.

Leider:
a.) passiert es immer wieder, dass während dem Datentransfer die Verbindung zum Server abraucht.
b.) ist ggf. die Wartezeit nach einem Open der Datenbank recht lange, wenn die andere Seite viele Daten eingefügt hat.

Daher überlege ich eine Zwischenschicht auf beiden Seiten ein zu führen. Diese soll als eigenständige Software oder als Thread im Hintergrund für den Abgleich sorgen.

Als Idee hatte ich eine Firedac Memtable gedacht, diese soll sowohl als Cache als auch als Puffer für die Übertragung dienen.

Oder hat jemand eine bessere Idee. (Bitte nur, wenn ich nicht das komplette Konzept umstellen muss)

Grüsse Mavarik
  Mit Zitat antworten Zitat