AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Konzeptionelle Frage - Datenabgleich
Thema durchsuchen
Ansicht
Themen-Optionen

Konzeptionelle Frage - Datenabgleich

Ein Thema von Incocnito · begonnen am 4. Jun 2018 · letzter Beitrag vom 11. Aug 2020
 
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.248 Beiträge
 
Delphi 12 Athens
 
#3

AW: Konzeptionelle Frage - Datenabgleich

  Alt 5. Jun 2018, 12:30
Replikation ist eine Einbahnstraße, das hilft dir hier nicht unbedingt. Du brauchst eher Synchronisation.

Hier gibt es einen Ansatz dazu:
https://www.hagenfragen.de/linux-tip...?cn-reloaded=1

Diese Fragen solltest du aber beantworten können, bevor du an eine Umsetzung gehst:
- Wir erkennst du, ob ein Datensatz (Kunde, Artikel, etc), der in DB A neu ist, bereits in einer anderen DB vorhanden ist.
- Was passiert bei so einer Kollision? Wird auf Feldebene gemerged Oder der ganze Satz übernommen?
- Können Kollisionen überhaupt auftreten?
- Wie oft werden Kollisionen auftreten?
- Wie lange können Synchronisationen im Status "pending" bleiben? Je kürzer desto besser, weil sonst die Wahrscheinlichkeit, dass der Satz in anderen DBs auch angelegt wird, steigt.
- Gibt es zyklische Abhängigkeiten? Beispiel: In DB A kann Kunde X gelöscht werden, weil er noch keine Buchungen hat. In DB B darf er aber nicht gelöscht werden, weil es schon Buchungen gibt. Stichwort: verteilte Transaktionen.

Grobkonzept:
Ich würde eine Tabelle machen:
- Database
- Kennzeichen Insert/Update/Delete
- Tabelle
- Feld
- Inhalt
- Timestamp
- Kennzeichen ob schon gesynct
- Applied

Jede Änderung wird lokal in der Tabelle mitgeschrieben.
Wenn du Syncst, holst du dir aus allen anderen DBs diese Inhalte + duplizierst sie in deine Tabelle (dort Status setzen!). Dann arbeitest du dich in chronologischer Reihenfolge durch (Applied:=Y).

Wie oft du syncst + ob die das syncen bei einem anderen anstoßen kannst, sind Details.
Wahrscheinlich musst du Löschen gesondert behandeln, siehe oben.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz