Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 General SQL Server Forums
 Database Design and Application Architecture
 File Archival System Table Design

Author  Topic 

scuzymoto
Starting Member

17 Posts

Posted - 2007-12-13 : 13:01:21

I am preparing to design an application that will archive files created by another application. In my SQL database I want to store details about the file and then the file its self. Each file is about 500kb in size and there will be about 20,000 files generated per year.

My preference is to store these files in a blob field. It makes storage, linking to file meta data, backup etc easy for me. I have already solved the technical issues surrounding pulling the file in and out of a blob field.

By my calculations I will need a server with 10GB of disk space for each year of files archived which doesn't seem outlandish for table size.

I do not want to design my application however to find out a year from now that I should have been storing these files in a traditional file system because of (... whatever ...) and just linking them by path in the sql database.

I'm curious what users of this forum believe to be the best practices surrounding this type of database?

gvphubli
Yak Posting Veteran

54 Posts

Posted - 2008-01-31 : 17:43:05
If this application for large user group or for heavy usage then you will hit the performance issues, best thing is to store the path only in database table and store the file physically on the servers hardrive (outside the database)

TechnologyYogi
http://gvphubli.blogspot.com/
Go to Top of Page

LoztInSpace
Aged Yak Warrior

940 Posts

Posted - 2008-01-31 : 21:30:48
Any performance issues concerns due to IO bandwidth would need to be solved regardless of if you do it on a file system or database Speak to your DBA about the physical design underpinning your data model.
You also need to consider the transactional and security aspects of your application and the database. If the files are subject to the same criteria as the rest of the data (this is usuall the case) you will need to reimplement that somehow if you store them outside of the database. Unless gvphubli can back up his statement with some actual examples and proof I would keep them in the database - that's what it is for.
Go to Top of Page
   

- Advertisement -