Registriert seit: 15. Mai 2014
40 Beiträge
|
AW: Software-Datenmodell Redesign - Möglichkeiten
1. Aug 2024, 12:03
Korrekt, die Datenänderungen kommen vom Server. Dort gehen über andere Wege Daten ein, werden aufbereitet und in einer Datenbank gespeichert. Via einem internen Eventing-System werden
dann die geöffneten Clients mit den Datensätzen "versorgt". Somit ist ein "abholen" der Daten durch den Client nicht die beste Lösung.
Die Anzahl der geöffneten Clients variiert zwischen 1-20, mehr werden es nicht.
Bei der Größe der Datensätze gibt es Unterschiede, es können von 20 Datensätze/Stunde bis 5000 Datensätze/Stunde Daten eingehen. Das hängt von mehreren unterschiedlichen Faktoren ab.
Ein Datensatz hat laut Tabellendefinition ca. 4 Kilobyte. Natürlich gibt es noch weitere Tabellen die ebenfalls Änderungen erhalten und über das Eventing-System aktualisiert/ergänzt werden.
Wichtig dabei ist noch zu erwähnen, das jeder Client nicht unbedingt die selben Datensätze erhält, das ist abhängig von den Sichtrechten des jeweils angemeldeten Benutzers.
Die Selektierung der Events pro Benutzer/Client erfolgt aber bereits über das Event-System innerhalb der Datenbank, sodass die Insert/Update/Delete Events bereits aufbereitet in einer entsprechenden Tabelle vorliegen. Dieser Eintrag beinhaltet dann die Information welcher angemeldete Benutzer, welchen Datensatz aus welcher Tabelle "nachgeschoben" bekommt und ob es sich um ein Insert/Update/Delete handelt.
Es können sowohl Boardmittel als auch kommerzielle Produkte von Drittanbietern in Frage kommen. Boardmittel werden natürlich bevorzugt, sollte eine Drittanbieter-Lösung aber den Entwicklungsaufwand beschleunigen so ist diese auch von Interesse.
Generell ist eine Modernisierung angedacht da sich bei höherem Datendurchsatz (den gab es in unserer Anwendung früher nicht, aber die Anforderungen änderten sich über die Jahre)
die Anwendung in der Handhabung etwas verschlechtert, zum Teil verzögert sich das öffnen von weiteren Formularen die auf bestimmte ClientDataSets zugreifen da dieses gerade durch Update-Vorgänge geblockt sind. Da die Client PCs zum Teil auch etwas veraltet sein können, ist auch das Datenmanagement hinsichtlich des Arbeitsspeichers nicht zu vernachlässigen.
Im Optimalfall wäre da eine getrennte, Threadsafe Möglichkeit, sodass die Usability nicht unter der Datenlast leidet.
Geändert von SusiT ( 1. Aug 2024 um 12:08 Uhr)
|