Re: How to map/model files?

From: Joe Baldwin (jfbaldwi..arthlink.net)
Date: Sat Mar 21 2009 - 22:37:58 EDT

  • Next message: Aristedes Maniatis: "Re: How to map/model files?"

    Joseph,

    Again, I will preface my statements with the recommendation that you
    do a simple test to confirm your design. One of the really cool
    aspects of Cayenne is that your workflow for a modification (or test
    in this case) is streamlined by CayenneModeler.

    On Mar 21, 2009, at 6:41 PM, Joseph Schmidt wrote:

    >> 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.
    > Thank you. I used too mostly this is the approach with other
    > frameworks.
    > I just wondered if Cayenne has some better support for this common
    > scenario.

    I don't want to speak for the designers, but I suspect that their
    designs are in some respects limited to ORM patterns that can be
    abstracted across the leading databases.

    As I mentioned, from my testing, Cayenne appears to perform
    competently wrt BLOB's (I think any limitations are DBMS-config like
    size limit and such). The problem, is downstream of Cayenne. I
    Googled the issue and here is a JSP example
            http://fdegrelle.over-blog.com/article-992927.html
    My analysis is that you can make it work, it is just going to result
    is way-ugly code (i.e. annoying maintenance-overhead for the life of
    your webapp).

    >
    >>> 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.
    > I mean that in the case of a file system based approach, where the
    > metadata is in the database, the operations on files are not guarded
    > by transactions, nor can they be process in the same Cayenne
    > transaction like on the metadata of those files. So when problems
    > occur during
    > editing, deleting, etc. the system is not consistent and can't be
    > really rollbacked.

    I see. I believe that the maintenance advantage still out-weighs the
    rollback issue. As a work-around, you could always implement a "Trash
    Can" - like design pattern and initiate a rollback if you do a Cayenne-
    rollback. (Just a thought.)

    Joe



    This archive was generated by hypermail 2.0.0 : Sat Mar 21 2009 - 22:48:47 EDT