Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: Re: Anyone using SPOPS to store BLOBs?

by ferrency (Deacon)
on Jun 24, 2003 at 18:04 UTC ( #268623=note: print w/replies, xml ) Need Help??

in reply to Re: Anyone using SPOPS to store BLOBs?
in thread Anyone using SPOPS to store BLOBs?

The problem with storing filenames in a database, and storing the files on disk, is that then you need to roll your own remote file access in the case where multiple client machines need access to the same file backstore. While not impossible, it's certainly higher in development cost than using a canned solution if your preferred database provides it. Especially if you need to support remote file locking, atomic cross-system unique filename generation, and so on.

The moral being: file access is easy when you have one program running on one machine. It becomes more difficult when you have multiple programs sharing the same data on one mahcine, and even more difficult when multiple programs on multiple machines need to coordinate access to shared resources on one or more remote servers. Databases are good at this, but as others have said it can wreck the performance of other relations.


  • Comment on Re: Re: Anyone using SPOPS to store BLOBs?

Replies are listed 'Best First'.
Re: Re: Re: Anyone using SPOPS to store BLOBs?
by mvc (Scribe) on Jun 24, 2003 at 22:46 UTC

    These are indeed good reasons for BLOBS over files: concurrency and remoting.

    Another is transactions over multiple operations, on multiple files/tables, on multiple servers. This is very difficult to do with filesystems. You need to do 2-phase commit, backup directories, etc. With BLOBS, operations are part of the normal transaction.

    Another is consistency: the BLOB fields are handled the same way as the rest of the data. No need to think tables & files. Just tables.

    Besides, BLOBS are not as difficult as they used to be. If you use something like Tangram, and your BLOBS fit in memory, you don't even have to think about it. You use them like regular fields.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://268623]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (6)
As of 2019-11-12 08:20 GMT
Find Nodes?
    Voting Booth?
    Strict and warnings: which comes first?

    Results (64 votes). Check out past polls.