I'm creating a J2EE application that handles 100s of jars (saved and loaded quickly) to handle them i've two options:
- produce a directory around the server that consists of all of the jars
- save the jar like a LOB within an oracle 10g database
Would you assist me to to find the best answer?Do you know the advantages of each option?
If you will find many jars you can utilize Maven like file organization divided by folders. It's always safer to store files inside a file system enhanced for huge files I/O and keeping their pathways/Web addresses inside your database of preference.
A few pre-determined questions first:
What's the average size the jar file?
How frequently would you create/modify/rely on them?
How can you access them?
What's the security surrounding these files ?
Objects inside a database might be simpler to secure, and audit use of.
Also, take a look at SecureFiles / DBFS and deduplication Essentially, should you store lots of copies of the identical file, the database will understand that and just have one physical copy. The same as symbolic links.
Write performance for SecureFiles is better than a regular filesystem
With DBFS you may also mount the database like a filesystem. That makes it super easy to change from a 'regular' filesystem storage and database storage.
including a database LOB will probably be a great deal reduced under just about all conditions, even when the DB is clustered. Creating a directory and file naming convention is not likely to be that difficult. If you would like, you should use the DB to keep tabs on the files so it's not necessary to search the filesystem itself.