Um das ganze mal ein bisschen aufzulösen (schliesslich bin ich der Verbrecher, der das ganze entwickelt hat)
- Die Löschungen sind tatsächlich konzeptbedingt
- Domino war in dem Fall das einzig verfügbare System mit entsprechenden Ressourcen (mir)
Die Löschungen sind aus folgendem Grund notwendig:
Es soll von mehreren Personen gleichzeitig auf das gleiche Dokument (via Browser) zugegriffen werden. Alle diese Personen greifen dabei auch auf gleiche Felder zu.
Hierzu wird dann für jeden Anwender eine Arbeitskopie des Dokumentes für einen Teilbereich erstellt. Bestimmte Felder benutzen wie gesagt alle gleichzeitig.
Beim Speichern dieser Kopie werden die Felder aus dem Bereich in das Original übertragen, die Werte der gemeinsam genutzten Felder (z.B. History) an die Felder des Originals angehängt.
Die Arbeitskopien werden in einen nichtsichtbaren Status versetzt und dann mittels eines periodischen Agenten gelöscht.
Man kann natürlich auch alle Daten auf dem Dokument löschen und einen Pool von leeren Dokumenten halten, die dann wieder als Arbeitskopie benutzt werden können.
Das war in der Phase, in der ich entwickelt habe schlicht nicht nötig - da es zum einen noch keinen FTI gab und zum anderen keine Performance- bzw. Stabilitätsprobleme aufgetreten sind.
Da ich zwischenzeitlich den Arbeitgeber gewechselt habe bin ich nicht mehr auf dem allerneuesten Stand - aber:
- ich bezweifle, dass der FTI überhaupt notwendig ist
- die Applikation ist lange sehr stabil gelaufen (nicht besonders performant aber stabil)
- ich vermute eher, dass die Probleme mit dem Serverumzug zu tun haben - vorher wars ja relativ ruhig. Da gibt es schon einen signifikanten zeitlichen Zusammenhang oder?
Btw.: Die DB ist wirklich SEHR komplex. Xanthi hat das mehr oder weniger unfreiwillig übernommen - grösseres Redesign ist nicht zu empfehlen wenn dann schon eher ein Neuaufbau mit einem anderen, mächtigeren System (J2EE, .NET) - wobei das Teile des Kunden sicherlich nicht freuen wird.