Hi,
A business case question : database size optimization of a huge documents container database:
We currently use a huge Lotus Notes database as a big documents container for our related companies information.
This db contains by company one “Master Document” and from 0 to N subdocuments (mainly with “attached files”).
(average N=10)
For this purpose, I designed ONE db containing all the documents types, because it was the simpliest way to do it (it was an emercency development request!) and because the user wanted to have a categorized view (By Company), showing all documents types (with “Master Document” in first position in the category)
All Data’s have to be kept during 3 years ;
an automatic archive program will periodically erase older data’s
Up to now,
this database contains ± 80.000 “Master Documents” (this is complete - all these documents were programmatically imported from our mainframe);
this database contains ± 40.000 subdocuments (many of them with attached files) but all the documents are not yet in the database. (These subdocuments come from different sources and have to be pushed by users from others Notes databases, via action buttons).
This database should contain about 240.000 subdocuments when it will be fully operational.
The size of the db is currently 8GB and the responses times are fully satisfying.
But I’m afraid the size becomes too big (more than the 64GB limit or too close to this limit to be practically used).
A db size of 55GB (full-text indexed) can be useable without dramatic responses time consequences?
If I have to split this database, what would be the best way?
Solution 1. :
Programmatically remove all (or selected) attached files and replace them by a field containing link(s) to files detached on file system?
(The disk space on the server is not a problem)
In this case, the size of the db will reduce and not be a problem any more, but the NUMBER of documents should stay very high: 320.000 documents. Isn’t it too much?
Solution 2.:
Split the db in 3 dbs:
-
dbase0 containing the Master" Documents"
-
dbase1 containing Subdocuments of type 1
-
dbase2 containing Subdocuments of type 2
In this case, I’d have to replace the categorized view by
-
in dbase0: a form containing 2 embedded views ( 1 coming from dbase1 + 1 coming from dbase2), with ‘show single category’ restricted to 1 company = ± 80.000 documents
-
in dbase1: 1 embedded view containing all documents (=SubDocuments of type 1) = ±120.000 documents
-
in dbase2: 1 embedded view containing all documents (=SubDocuments of type 2) = ±120.000 documents
Is it possible to use a form containing so big embedded views
(even if the ‘show single category’ displays only ±10 subdocuments)
Could this principe also used via the Web, as this information would have to be seen from another application?
Remark:
Of course, furthermore, in this case, I’d have to modify the UI, to automatically route the documents to the good db, when the documents are created…
Solution 3.:
Solution 1+ Solution 2
What would be the best solution amongst these 3?
Or do somebody know a better one?
Thank you by advance for your help,
Philippe Pierlot
Lotus Notes Designer
Belgium