Обсуждение: BLOBs vs BYTEA

Поиск
Список
Период
Сортировка

BLOBs vs BYTEA

От
"Sam Adams"
Дата:
Hi,

Apologies if I've already sent a post asking this but I'm not sure if it
actually went through last time as it doesn't seem to be in my sent
items box.

Anyway, I was wondering which would be a better way to store a large
amount of files each a few megabytes in size. There could be hundreds of
thousands of files altogether. If stored as BYTEAs this would put them
all in a single table. Would this effect performance considerablely? I
assume if there were thousands then it would. But if the data is stored
as BLOBs then aren't they store inside the database just in another
table? Wouldn't this also be undesirable. Would it be better to store
them normally on the file system and just provide the path and file name
in the database. Obviously this wont provide any security or backup but
would it make sense to do it this way with such a large amount of data?

Thanks.

-Sam


Re: BLOBs vs BYTEA

От
Dennis Sacks
Дата:
Sam Adams wrote:

>Anyway, I was wondering which would be a better way to store a large
>amount of files each a few megabytes in size. There could be hundreds of
>thousands of files altogether. If stored as BYTEAs this would put them
>all in a single table. Would this effect performance considerablely? I
>assume if there were thousands then it would. But if the data is stored
>as BLOBs then aren't they store inside the database just in another
>table? Wouldn't this also be undesirable. Would it be better to store
>them normally on the file system and just provide the path and file name
>in the database. Obviously this wont provide any security or backup but
>would it make sense to do it this way with such a large amount of data?
>  
>
This is one of those age old debates. I've done both, and I'll tell you 
that in my experience it is less of a headache to store the files in the 
filesystem (which is what filesystems are designed for) and store the 
metadata in the database.

Dennis Sacks
dennis@illusions.com


Re: BLOBs vs BYTEA

От
Achilleus Mantzios
Дата:
O Dennis Sacks έγραψε στις Jan 31, 2005 :

> Sam Adams wrote:
> 
> >Anyway, I was wondering which would be a better way to store a large
> >amount of files each a few megabytes in size. There could be hundreds of
> >thousands of files altogether. If stored as BYTEAs this would put them
> >all in a single table. Would this effect performance considerablely? I
> >assume if there were thousands then it would. But if the data is stored
> >as BLOBs then aren't they store inside the database just in another
> >table? Wouldn't this also be undesirable. Would it be better to store
> >them normally on the file system and just provide the path and file name
> >in the database. Obviously this wont provide any security or backup but
> >would it make sense to do it this way with such a large amount of data?
> >  
> >
> This is one of those age old debates. I've done both, and I'll tell you 
> that in my experience it is less of a headache to store the files in the 
> filesystem (which is what filesystems are designed for) and store the 
> metadata in the database.

I think if you are doing replication or write in java,
you'll be much happier with bytea.

> 
> Dennis Sacks
> dennis@illusions.com
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
> 

-- 
-Achilleus



Re: BLOBs vs BYTEA

От
Karl Denninger
Дата:
On Tue, Feb 01, 2005 at 10:04:45AM +0200, Achilleus Mantzios wrote:
> O Dennis Sacks Ýãñáøå óôéò Jan 31, 2005 :
> 
> > Sam Adams wrote:
> > 
> > >Anyway, I was wondering which would be a better way to store a large
> > >amount of files each a few megabytes in size. There could be hundreds of
> > >thousands of files altogether. If stored as BYTEAs this would put them
> > >all in a single table. Would this effect performance considerablely? I
> > >assume if there were thousands then it would. But if the data is stored
> > >as BLOBs then aren't they store inside the database just in another
> > >table? Wouldn't this also be undesirable. Would it be better to store
> > >them normally on the file system and just provide the path and file name
> > >in the database. Obviously this wont provide any security or backup but
> > >would it make sense to do it this way with such a large amount of data?
> > >  
> > >
> > This is one of those age old debates. I've done both, and I'll tell you 
> > that in my experience it is less of a headache to store the files in the 
> > filesystem (which is what filesystems are designed for) and store the 
> > metadata in the database.
> 
> I think if you are doing replication or write in java,
> you'll be much happier with bytea.

I store objects that are referred to in the database in the database.

This requires some more work for binary objects in the application code,
but not much.

And, it insures that integrity is maintained.  Otherwise you need a
"cleanup" routine to cover the possibility of a file missing metadata, or
metadata missing a file, along with all the replication/backup issues.

No thanks on those for me.

--
-- 
Karl Denninger (karl@denninger.net) Internet Consultant & Kids Rights Activist
http://www.denninger.net    My home on the net - links to everything I do!
http://scubaforum.org        Your UNCENSORED place to talk about DIVING!
http://www.spamcuda.net        SPAM FREE mailboxes - FREE FOR A LIMITED TIME!
http://genesis3.blogspot.com    Musings Of A Sentient Mind