Background:
We have an in house document storage system that was implemented long ago. For whatever reason, using the database as the storage mechanism for the documents was chosen.
My question is this:
What is the best practice for storing documents? What are the alternatives? What are the pros and cons? Answers do not have to be technology or platform specific, it is more of a general best practice question.
My Thoughts:
Databases are not meant for document storage. File Systems or 3rd party Document Management systems may be of better use. Document Storage in Databases is expensive. Operations are slow. Are these logic assumptions? Perhaps this is best, but in my mind, we have better alternatives. Could oracle BFILE's (links to document on NAS or SAN) be better than BLOB / CLOB?
Details:
- Documents are various types (pdf, word, xml)
- The Middle Tier code is written in .net 2.0 / c#
- Documents are stored in a Oracle 10g database in BLOB with compression (NAS Storage)
- File sizes rage
- The number of document is growing drastically and has no signs of slowing down
- Inserts is typically is in the hunderds per hour during peak
- Retreival is typically in the thousands per hour during peak
- NAS storage and SAN storage is available
UPDATE (from questions below):
- my background is development
- there is associated meta-data about the files stored next to file in the database