Wenn der ReplikationsDienst einen Datensatz übertragen soll, sucht und löscht er diesen anhand des PK (
GUID) und schreibt dann den Datensatz neu in die Ziel
DB.
Das ist jetzt aus Sicht
MSSQL Server > Oracle Client
DB?
Oder umgekehrt?
Wichtig bei diesen Problemen ist tatsächlich, wie es im Detail abläuft (Verfahren wie beschrieben z.B. "suchen,löschen, neuschreiben") und die Technik dafür (Siehe meine Fragen zuvor).
Wenn es tatsächlich auf Lock Escalation Effekte hinausläuft, ist natürlich auch die Frage, welche Datenmengen / Stückzahlen übertragen werden von den (bereits bekannten) 100 Clients.
Zurück zum Zitat:
Delete ist verhältnismäßig sehr teuer. Moderne
DB können entsprechend konfiguriert werden, dass gewisse Aktionen quasi bevorzugt werden. Das ist in Standardkonfigurationen NICHT "delete". Hier spielen dann auch Fragen wie Anzahl von Indizes, Ref constraints und Cascade Constraints Regeln z.B. "on delete cascade" eine Rolle.
Kurz, man will vielleicht kein Delete sondern eher ein Update.
Oder nicht mal ein Update, sondern nur ein Insert mit nachführung eines "Aktiv" oder "Last" Flag.
Grundsätzlich bei Messwertaufnahme geht es ja in Richtung Big Data. Da wird nicht unbedingt filigran gearbeitet, sondern stumpf geschrieben. "Schau mal, ob es das schon gibt und dann lösch das und trag es schick neu ein." ist je nach Lastsituation / Ausstatung nicht das, was man sich erlauben kann.
Eigentlich wird primär darauf geachtet, keine Daten zu verlieren. Im nächsten Schritt wird dann in einem separaten System gefiltert, aggregiert, ..