In einer unserer Datenbanken haben wir zwischen transactional
unterschieden und dictionary
Aufzeichnungen.
In wenigen Worten, transactional
Datensätze sind Dinge, die Sie im wirklichen Leben nicht rückgängig machen können, wie z. B. ein Anruf von einem Kunden. Sie können den Namen, den Status usw. des Anrufers ändern, aber Sie können den Anruf selbst nicht abweisen.
dictionary
Datensätze sind Dinge, die Sie ändern können, wie z. B. die Zuweisung einer city
an einen Kunden.
Transactional
Aufzeichnungen und Dinge, die zu ihnen führen wurden nie gelöscht, während dictionary
diejenigen könnten in Ordnung gelöscht werden.
Mit "Dinge, die zu ihnen führen" meine ich, dass sobald der Datensatz in den Geschäftsregeln erscheint, was zu einer transactional
führen kann Datensatz, wird dieser Datensatz auch transactional
.
Zum Beispiel eine city
können aus der Datenbank gelöscht werden. Aber als eine Regel auftauchte, die besagte:„Sende eine SMS
an alle Kunden in Moskau " wurden die Städte transactional
Aufzeichnungen mit, sonst könnten wir die Frage "Warum wurde diese SMS
gesendet werden".
Eine Faustregel zur Unterscheidung lautete:Geht es nur um meine Firma?
Wenn einer meiner Mitarbeiter eine Entscheidung auf der Grundlage von Daten aus der Datenbank traf (z. B. einen Bericht erstellte, auf dessen Grundlage eine Managemententscheidung getroffen wurde, und der Datenbericht dann auf „verschwunden“ basierte), wurde es als OK angesehen, diese Daten zu löschen.
Wenn sich die Entscheidung jedoch auf einige unmittelbare Aktionen mit Kunden auswirkte (wie Anrufe, Eingriffe in das Guthaben des Kunden usw.), wurde alles, was zu diesen Entscheidungen führte, für immer aufbewahrt.
Es kann von Geschäftsmodell zu Geschäftsmodell unterschiedlich sein:Manchmal kann es erforderlich sein, sogar interne Daten aufzuzeichnen, manchmal ist es in Ordnung, Daten zu löschen, die die Außenwelt betreffen.
Aber für unser Geschäftsmodell hat die Regel von oben gut funktioniert.