Should heavy binary files not be stored in database?

B

Big George

I was asked an interesting question: Should a database contains all
data? Or heavy binary files should be stored in file system?

Example of heavy binary files : videos or heavy pdf files (+200 MB)

With an old aspx web app (1.1) I tried to open a 200MB pdf file stored
as a blob in an Oracle 11g database, and it just couldn't do it.

However, same asp.net web application had no problem to open same pdf
file stored in file system of a server. It could be that maybe there
is some proper way to open heavy blobs fields with asp.net.

For integrity reasons, I say that all data should be stored in
database, but my described case showed me that maybe it's not the way.

I read once that if your web application goes to cloud, then it would
be very difficult to keep references of files stored in file system
(file paths like: ../MyFolder001/MyFile.mpg), since you don't know
where those files will be distributed.

What do yo think?
 
A

Arne Vajhøj

I was asked an interesting question: Should a database contains all
data? Or heavy binary files should be stored in file system?

Example of heavy binary files : videos or heavy pdf files (+200 MB)

With an old aspx web app (1.1) I tried to open a 200MB pdf file stored
as a blob in an Oracle 11g database, and it just couldn't do it.

However, same asp.net web application had no problem to open same pdf
file stored in file system of a server. It could be that maybe there
is some proper way to open heavy blobs fields with asp.net.

For integrity reasons, I say that all data should be stored in
database, but my described case showed me that maybe it's not the way.

I read once that if your web application goes to cloud, then it would
be very difficult to keep references of files stored in file system
(file paths like: ../MyFolder001/MyFile.mpg), since you don't know
where those files will be distributed.

What do yo think?

I am in general a big fan of storing files in the database
instead of in the file system.

But with 200+ MB files, then I would consider going for the
file system.

With a big DB server then I would still say DB, but
with a small DB server, then I would go for the file
system.

10000 files x 200 MB = 2 TB data

I would not worry about cloud. Most cloud solutions
offer both database and "non database BLOB storage".

Azure (which is most relevant for ASP.NET) has SQL, Tables
and BLOB storage:

http://www.windowsazure.com/en-us/home/features/data-management/

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top