Way back in time, awareim only had the option of storing Document images in the DB , then they updated the feature with a file system option. I knew sometime in the future we would have to convert the application to store images in the filesystem , because of the sheer volume of images coming into the system and my gut feeling the DB was not a good option.
Well it finally happened , the wheels fell off – Suddenly when trying to publish a new update to the production system AwareIM could not publish because the time taken to publish was longer than the expected time Aware allows you to publish.. huh , this was news to me – after frantically get hold of support, I learnt that the AwareIM server will timeout (go away) if it takes longer than a certain time frame to make the changes while in the publishing procedure. This results in server failure and reboot needed, not to mention database corruption and restoring from huge back-up files
To cut a long story short, the culprit was the images in the database (changes to the tables where image objects were stored were taking ages to complete ). So we were forced to now move all the images into the file system - this was a complicated task, but we eventually got there by creating a small app in aware that exported all the images and later made some changes in the main app re-assigning the current document attribute to “File System”
In hindsight we should have done this long time ago, the applications database is now 90 percent smaller, requires a lot less ram to be efficient and takes 4 minutes to back up as opposed to 90 minutes. Publishing to the production system is now a lot more faster and efficient and best of all the app is now a lot faster (like its running on steroids) Oh also, maybe we can get real-time replication working now – everything seems so simple now !!!!!!!!
So the moral of the story, always use file system option, otherwise, it will come back to bite you
BTW, if you need to go through the same process of converting images from the DB to the File system I can help with some good pointers to get it done very efficiently if you are interested