-
 Zitat von mk
Ich möchte wissen bevor ich eine Tabelle umstelle wie viele Änderungen an einer Table stattfinden
Ich vermute, das dafür die Künstliche Inteligenz erfunden wurde.
Hieß früher Glaskugel.
Sorry ...
-
Zusätzlich zur Glaskugel - die meist viel zu sehr Unterschätzt wird :-) - gibt es die Möglichkeit via ACS bei den Tabellen --> Rechts Klick --> Beschreibung --> Aktivität ... die Statistik der Operationen zu einer Tabelle anzusehen.
Du kannst vorher mit Rechts Klick auf die Tabelle dies zurücksetzen lassen um nach z.B. 1 Tag oder Woche zu sehen wie es sich verhält.
-
Zusätzlich zur Glaskugel - die meist viel zu sehr Unterschätzt wird :-) - gibt es die Möglichkeit via ACS bei den Tabellen --> Rechts Klick --> Beschreibung --> Aktivität ... die Statistik der Operationen zu einer Tabelle anzusehen.
Das kann erfahrungsgemäß nur die Vergangenheit anzeigen!
-
 Zitat von ILEMax
Das kann erfahrungsgemäß nur die Vergangenheit anzeigen!
Außer du kombinierst es mit der Glaskugel
-
geht auch ein Glasauge?
-
Problematisch sind aber auf jeden Fall Pseudoänderungen wie sie z.B. bei Infor XPPS angewendet werden.
Dies gilt auch ins besonders bei Stammdaten.
Bei jeder Veränderung von stammdatenbezogenen Werten, wird ein Update auf die Stammdaten mit User/Jobname gemacht, die nach dem Erfolg der Buchung wieder zurückgenommen wird.
Dies ist halt der Nicht-SQL-Methode und dem Nichtwissen von Satzsperrlogiken geschuldet.
Dies war auch das Problem des o.g. Journalversuches, dass ca. 10GB je Stunde an Journaldaten erzeugte.
Bei Temporaltabellen muss man also höllisch aufpassen, dass auch nur tatsächliche Updates stattfinden.
Sonst hast du plötzlich 100te Änderungen 1 Satzes pro Tag.
Wenn man aber Bewegungswerte (Lagerbestand, Auftragsbestand o.ä.) in Stammdaten unterbringt sind Temporaltabellen nicht empfehlenswert. Hier muss man auf jeden Fall genau prüfen bevor man das umsetzt.
Zur Auswertung solcher Änderungen ist hier tatsächlich nur ein Journal möglich, wie es Dieter schon beschrieben hat, da hiier nur auf Satzebene protokolliert wird. Auditjournale beobachten nur Objektveränderungen.
-
Auch wir verwenden Trigger für die 'Historisierung'.
Das gibt uns die Möglichkeit unnötige Historische Daten gar nicht erst zu schreiben.
U.a. weil unsere Anwendung auch mit Software seitigen Sperren arbeitet und dabei auch
konkurierende Updates zulässt. Die Schreib/Lese Programme verwalten alter-Satz, neuer-alter-Satz und neuer Satz. Änderungen an Feldern, z.b. mit technischem Hintergrund, deren Änderung nicht relevant ist, werden bei der Historisierung nicht beachtet. Zunächst ist das aufwändig, aber sehr bewährt.
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Immer wieder ähnliche Konzepte.
Konkurierende Updates sind bei Journalisierung und Transaktionen nicht möglich, das erhöht die Sicherheit. Transaktionen sollten möglichst kurz sein.
Mit SQL sind aber tatsächlich auch ohne Transaktion konkurierende Updates durchaus möglich.
Man beachte nur folgendes:
Additive Updates, die man per "set f = f +/- n" sind unproblematisch.
Statische Updates, die man per "set f = n" durchführt sollten Themenbezogen sein.
In .Net gibts ein kleines Framework, dass mir Updatecommand automatisch generiert.
Diese werden auf DataTable-Objekte angewendet und diese enthalten je Zeile und Spalte einen Original und Current-Value.
Der Update wird daher automatisch ergänzt per "where f = oldvalue ...." je Spalte des Selects.
Da steht es außer Frage, dass der Select nach möglichkeit nur die zu ändernden Spalten enthalten sollte.
Über eine Error-Auflistung erhält man die Zeilen, die nicht geändert werden konnten.
Und zu guter letzt:
In manchen DB's gibts Satzversionen. Z.B. bei der Firebird werden Satzversionen vorgehalten, so dass bei entsprechender Transaktion keine Schmutzdaten (dirty reads) vorkommen. Beim Update gibts einen Fehler, wenn die Satzversion bereits neuer ist als für die Transaktion erwartet.
Beim SQL-Server ist das wohl eher rudimentär. Da gibts die Satzversion nur beim After-Update-Trigger und wiederholten Updates, da der SQL-Server keine Before-Trigger kennt (große Schwachstelle).
Similar Threads
-
By Hubert in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-09-21, 11:37
-
By Robi in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 06-08-20, 17:33
-
By Peet in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 31-05-17, 11:41
-
By brittner in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 20-02-15, 10:48
-
By Frank.Sobanek in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 16-04-02, 09:01
Tags for this Thread
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks