Re: Architectural question

От: Thomas Kellerer
Тема: Re: Architectural question
Дата: ,
Msg-id: nctotn$t7c$1@ger.gmane.org
(см: обсуждение, исходный текст)
Ответ на: Re: [SPAM] Re: Architectural question  (Jim Nasby)
Ответы: Re: Architectural question  (Moreno Andreo)
Re: Architectural question  ("Mike Sofen")
Список: pgsql-performance

Скрыть дерево обсуждения

Architectural question  (Moreno Andreo, )
 Re: Architectural question  (Jim Nasby, )
  Re: [SPAM] Re: Architectural question  (Moreno Andreo, )
   Re: [SPAM] Re: Architectural question  (Jim Nasby, )
    Re: [SPAM] Re: Architectural question  (Moreno Andreo, )
     Re: [SPAM] Re: Architectural question  (Jim Nasby, )
      Re: [SPAM] Re: Architectural question  (Moreno Andreo, )
    Re: Architectural question  (Thomas Kellerer, )
     Re: Architectural question  (Moreno Andreo, )
     Re: Architectural question  ("Mike Sofen", )
      Re: Architectural question  (Rick Otten, )
      Re: Architectural question  (Moreno Andreo, )

Jim Nasby schrieb am 11.03.2016 um 17:37:
> If the blob is in the database then you have nothing extra to do. It's handled just like all your other data.
>
> If it's a file in a file system then you need to:
>
> - Have application code that knows how and where to get at the file
> - Have a way to make those files available on all your webservers
> - Have completely separate backup and recovery plans for those files
>
> That's a lot of extra work. Sometimes it's necessary, but many times it's not.

Don't forget the code you need to write to properly handle transactional access (writing, deleting) to the files

You usually also need to distribute the files over many directories.
Having millions of files in a single directory is usually not such a good idea.

In my experience you also need some cleanup job that removes orphaned files from the file system.
Because no matter how hard you try, to get updates/writes to the file system right, at some point this fails.

Also from a security point of view having this in the database is more robust then in the file system.

The downside of bytea is that you can't stream them to the client. The application always needs to read the whole blob
intomemory before it can be used. This might put some memory pressure on the application server.  

Thomas



В списке pgsql-performance по дате сообщения:

От: Rick Otten
Дата:
Сообщение: Re: Architectural question
От: Moreno Andreo
Дата:
Сообщение: Re: Architectural question