Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Skorpi am 06.02.08 - 13:32:38
-
Hallo,
ihr kennt das Problem sicherlich. Eine Datenbank wächst mit der Zeit und die Ansichten brauchen immer länger um sich zu aktualisieren. Tja, und da bleibt einem nur die Archivierung oder?
Ich habe noch keine Erfahrung mit der Archivierung von Datenbanken. Und Frage mich wie man dieses Problem am einfachsten und besten lösen kann.
In der Designer-Hilfe habe ich etwas zu dem Archivierwerkzeug von Notes gefunden. Dies scheint jedenfalls eine praktische Lösung zu sein. Allerdings werden in der Datenbank jede Nacht automatisierte Auswertungen erstellt. Diese Auswertungen müssen auf alle Dokumente zugreifen, auch auf die archivierten. Da das Archivierwerkzeug die Daten in eine separate Datenbank kopiert, müsste ich die Auswertungen anpassen. Das wollte ich eigentlich vermeiden.
Daher habe ich die Idee mit Ordnern zu arbeiten. Einfach alle gewünschten Dokumente in einen Ordner schmeißen und aus den Ansichten per Such-Kriterium entfernen. Nun bin ich mir nicht sicher, ob das auch den gewünschten Effekt bringt. Denn die Anzahl der Dokumente in der Datenbank ist ja nicht weniger geworden. Was meint ihr? Gibt es noch weiter Aspekte die beachtet werden sollten?
-
Nein Ordner bringen da nicht wirklich etwas. Wenn dann musst du richtig archivieren und dein Auswertungswerkzeug so umbauen, das es halt auch auf die Archiv Datenbanken zugreift.
-
Wirklich schade. Und die Ansichten werden definitiv nicht schneller? Es sind ja dann weniger Dokumente zum Anzeigen, auch wenn er die gleiche Anzahl an Dokumenten durchsuchen muss. Ich habe keine Lust das Ding umzubauen... :'(
-
Ich weiß ja nicht, wie kompliziert die Auswertung ist, aber das Umbauen sollte nicht das Problem sein, da ja eigentlich nur das selbe nochmal gemacht wird, nur mit Zugriff auf eine andere Datenbank
-
Da wird mir wohl auf lange sicht nichts anderes übrig bleiben... *eiße*
Nochmal ne andere Frage zum Thema Ansichten. Ich habe die Indexaktualisierung der Ansicht auf manuell geschaltet. Trotzdem dauert das Öffnen der Ansichten recht lange. Ich dachte die Aktualisierung hätte Einfluß oder nicht?
-
Trotz eurer Ratschläge, dass Archivierungswerkzeug von Notes zu verwenden, habe ich mich dazu entschlossen mit Ordnern zu arbeiten. Nachdem ich ältere Dokumente in diese Ordner verschoben und sie aus der Ansicht per Suchkriterium entfernt hatte, konnten die Benutzer wieder ordentlich mit der Datenbank arbeiten.
Trotzdem habe ich mich etwas intensiver mit dem Thema auseinandergesetzt. Dabei fiel mein Augenmerk auf Leser-Felder in den Dokumenten. Diese habe ich in der Datenbank verwendet, um den Zugriff auf Dokumente für bestimmte Benutzer einzuschränken. Dabei habe ich allerdings nicht bedacht, dass neben der Anzahl der Dokumente, die Leser- Felder erhebliche Auswirkungen auf die Performance der Ansichten haben. (siehe http://www.ibm.com/developerworks/lotus/library/notes7-application-performance2/ (http://www.ibm.com/developerworks/lotus/library/notes7-application-performance2/)
In dem Artikel werden u.a. die folgenden Lösungsmöglichkeiten vorgeschlagen:
1. Eingebettete Ansicht, mit einzelne Kategorie anzeigen
+ schneller als normale Ansichten mit Leserdokumenten
+ funktioniert auch im Web
- keine Spaltensortierung
- keine Notes-Standard-Suche
2. Ansichten vom Typ: „Gemeinsame, privat bei Erstbenutzung“
+ schneller als normale Ansichten mit Leserdokumenten
- kann nicht im Web verwendet werden
- jede private Ansichten wird Lokal od. auf dem Server gespeichert
- Änderungen am Design sind nicht ohne weiteres möglich
- eine große Anzahl von privaten Ansichten führt Leistungsengpässen
Zunächst habe ich mich mit dem ersten Vorschlag etwas intensiver beschäftigt. Zur Realisierung kam eine Seite mit einer eingebetteten Ansicht (kategorisiert nach den Lesern), eingeschränkt auf die einzelne Kategorie „@UserName“ zur Anwendung. Leider wird eine Spaltensortierung (aufgrund der Einschränkung auf eine einzelne Kategorie) und die Notes-Standard-Suche nicht unterstützt. Außerdem bin ich mit der Performance nicht zufrieden, da das Öffnen ca. 20 – 25 Sekunden in Anspruch nimmt.
Die zweite Möglichkeit stellen private Ansichten dar. Das die Ansichten nicht im Web funktionieren und diese auf dem Server gespeichert werden stört mich nicht. Das Problem der Designänderung lässt sich umgehen (siehe Private Ansichten (http://atnotes.de/index.php?topic=10041.msg54251#msg54251)). Nur der letzte Nachteil macht mich etwas stutzig. Deshalb auch meine Frage an euch: Wie viele private Ansichten verkraftet eine Datenbank?
In meinem Fall würde ich ca. 20 private Ansichten für 150 Benutzer benötigen. Das wären ja dann 3000 private Ansichten… Irgendwelche Meinungen bzw. Erfahrungen?
Schonmal vielen Dank für eure Antworten!
-
Wenn du bei Leserfeldern schon Performanceprobleme bekommst, dann bei 3000 Ansichten erst recht.l
Und vermutlich außerdem auch Platzprobleme, abhängig von der Anzahl der Dokumente in deiner Datenbank. Daon Abgesehen ist deine Ordner Lösung auch eigentlich sinnlos. Eine zweite Ansicht mit der zu deiner originalen Ansicht entgegengesetzten Selektion wre weit sinnvoller gewesen.
Ach ja Performance probleme auf deinem Server dürften ebenfalls auftauchen, denn bis der Indexer 3000 Ansichten durchgenudelt hat dauert es doch etwas länger.
-
Vielen Dank für deinen Ratschlag. Ich dachte mir schon das es keine gute Idee ist. Tjoa dann werde ich jetzt wohl bei der Seite mit der eingebetteten Ansicht bleiben müssen. In Bezug auf die Leser-Felder sind diese jedenfalls besser (schneller) als normale Ansichten. Eine andere Möglichkeit wäre ja noch eine lokale Replik?!? Oder? Allerdings hätte das natürlich weitreichende Auswirkungen (Stammdaten, UNID's, usw.). Das müsste ich vorher erstmal ausgibig Testen.
Das mit dem Ordner, kann man wirklich einfacher über eine zweite Ansicht lösen. Da gebe ich dir Recht. Ich werde es in Zukunft berücksichtigen.
An den Indexer hatte ich mal wieder nicht gedacht. Aber ich habe es eben schon in der log.nsf gesehen. Er rödellt jetzt jede private Ansicht durch. Schrecklich ...
-
Eine grosse DB mit immer weiter zunehmender Dokumentenanzahl wird aber immer langsamer - da kannst Du anstellen, was Du willst. Eine Archivierung wirst Du nie ersetzen können.
Bernhard
-
Wie definiert ihr groß (>100.000 Dokumente)? Ab wann wird es kritisch im Hinblick auf eine Archivierung? Momentan hat die Datenbank 40.000 Dokumente. Die angesprochenen Ansichten mit den Perfomance-Problemen selektieren aber nur 4.000 Dokumente. Trotzdem fängt er aufgrund der Leser-Felder schon bei ca. 1.000 Dokumenten an zu rödeln. Ist ja auch verständlich, wenn der Server bei jedem Dokument nachschaut ob der aktuelle Nutzer (sieht z.B. 20 Dokumente) Leserechte bestizt.
-
Wenn das Teil schon bei 40.000 Dokumenten (und vollkommen egal, ob mit oder ohne Leserfeldern - soooo gross ist deren Einfluss nun wirklich nicht) in die Knie geht, dann ist aber entweder mit dem Domino, vermutlich aber mit der DB was ganz stark im Argen.
Von "gross" würde ich erst bei einer sechsstelligen Dokumentenanzahl sprechen. Ich betreue DBs mit 150.000 Dokumenten plus x - und dort öffnest Du eine Ansicht, und sie ist sofort da.
Bernhard