Joseph,
> How to model/map files (with their content) e.g. in webapplications?
> What is the best practice?
> (1) To put their content as blob fully in the DB plus fields for
> properties,
> or
> (2) to put the metadata about files only in the DB and the content
> in a file system?
> or
> (3) other solution?
>
> The second one seems to be the most efficient, but than the entire
> transaction
> support is lost :(.
>
> What's the best solution with Cayenne?
A lot of people have this question when investigating the current
state of technology. My opinion is based on the last time I
investigated the same options. With the new databases as well as
Cayenne you could certainly manage BLOB's via the database. The
problem is not the storage issue, it is the usage issue once you
retrieve the object. The web languages are much more friendly to file
system references and less friendly to blob references. It can be
done (and I have done it), but it is not pretty. :)
My preference (and it seems to be fairly efficient), is to continue
with the standard design pattern of storing metadata (file-path, etc)
in the database and storing the file in the filesystem. You can them
make programatic references much easier.
> The second one seems to be the most efficient, but than the entire
> transaction support is lost :(.
Not sure what you mean by "transaction support", so I can't comment on
this.
If you have special needs for your users, then the best course of
action is to build a end-to-end test with a simple representative
object, and see for yourself which way works for you.
Joe
This archive was generated by hypermail 2.0.0 : Sat Mar 21 2009 - 17:49:53 EDT