From: Jim C. Nasby <jnasby@pervasive.com>
To: Craig A. James <cjames@modgraph-usa.com>
Cc: Nate Byrnes <nate@qabal.org>
Cc: pgsql-performance@postgresql.org
Subject: Re: Storing Digital Video
Date: Thu, 9 Feb 2006 13:26:21 -0600
Message-ID: <20060209192621.GU57845@pervasive.com> (raw)
In-Reply-To: <43EB5D59.1030207@modgraph-usa.com>
References: <3cf983d0601311632t4a2f068au1f958746c2b092a7@mail.gmail.com>
<200602060930.31144.albert@sedifa.com>
<43EB475C.3040708@qabal.org>
<43EB5D59.1030207@modgraph-usa.com>
On Thu, Feb 09, 2006 at 07:18:49AM -0800, Craig A. James wrote:
> Nate Byrnes wrote:
> >I must claim some ignorance, I come from the application world... but,
> >from a data integrity perspective, it makes a whole lot of sense to
> >store video, images, documents, whatever in the database rather than on
> >the file system external to it. Personally, I would use LOB's, but I do
> >not know the internals well enough to say LOBs or large columns.
> >Regardless, there are a lot of compelling reasons ranging from software
> >maintenance, disk management, data access control, single security layer
> >implementation, and so on which justify storing data like this in the
> >DB. Am I too much of an Oracle guy?
>
> Yes, you are too much of an Oracle guy ;-). Oracle got this notion that
> they could conquer the world, that EVERYTHING should be in an Oracle
> database. I think they even built a SAMBA file system on top of Oracle.
> It's like a hammer manufacturer telling you the hammer is also good for
> screws and for gluing. It just ain't so.
>
> You can store videos in a database, but there will be a price. You're
> asking the database to do something that the file system is already
> exceptionally good at: store big files.
>
> You make one good point about security: A database can provide a single
> point of access control. Storing the videos externally requires a second
> mechanism. That's not necessarily bad -- you probably have a middleware
> layer, which can ensure that it won't deliver the goods unless the user has
> successfully connected to the database.
You're forgetting about cleanup and transactions. If you store outside
the database you either have to write some kind of garbage collector, or
you add a trigger to delete the file on disk when the row in the
database pointing at it is deleted and hope that the transaction doesn't
rollback.
Of course, someone could probably write some stand-alone code that would
handle all of this in a generic way... :)
--
Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: jnasby@pervasive.com, cjames@modgraph-usa.com, nate@qabal.org
Subject: Re: Storing Digital Video
In-Reply-To: <20060209192621.GU57845@pervasive.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox