Re: [pgbr-geral] armazenamento de imagens no Banco x File System

2016-11-02 Por tôpico Charly
Um pouco atrasado no tópico mas vamos lá...

Em 24 de outubro de 2016 20:15, Flavio Henrique Araque Gurgel <
fha...@gmail.com> escreveu:

>
>
> Em seg, 24 de out de 2016 às 13:50, Luiz Henrique <
> luiz.henriqu...@gmail.com> escreveu:
>
>> Pessoal,
>>
>> Temos uma aplicação jboss que recebemos como "herança", ela armazena
>> diversos arquivos de imagens (jpeg,bmp,etc). Essa tabela com os binários
>> representa mais que 90% do tamanho total do banco, hoje com 210GB.
>>
>> Aí vem a pergunta. O que os participantes do grupo acham dessa prática ?
>> O que é mais indicado, gravar arquivos em file system ou no próprio banco ?
>> Sendo file system vocês tem sugestão de ferramentas ?
>>
>
> Não vejo boa prática nem em A nem em B.
> Colocar arquivos em banco de dados tem suas vantagens, como por exemplo,
> ter um backup unificado. Você também pode lidar com replicação dos dados e
> dos arquivos simultaneamente. Sem contar que tudo se torna transacional,
> portanto, você pode criar, modificar ou remover um arquivo ao mesmo tempo
> que outra transação e o banco cuida do isolamento e atomicidade da coisa
> toda.
> Ter um sistema de arquivos separado pode ser interessante quando você tem
> muitos acessos aos arquivos, isso é mais fácil de escalar que o banco de
> dados. Por outro lado, ao contrário do controle transacional que falei
> acima, é muuuito comum arquivos ficarem perdidos no sistema de arquivos
> sendo que o "caminho" já foi removido do banco de dados.
>
> Enfim, cada caso é um caso, acho que simplesmente o "tamanho do banco" e
> "uma grande tabela" não é fator de decisão ou exclusão.
>

Como bem colocado pelo Gurgel o simples fato do "tamanho do banco" não é um
bom indicativo para qualquer mudança e cada caso é um caso. Todavia, como
regra geral, sistemas de arquivos lidam melhores com arquivos do que
SGBD's. Toda vez que você adiciona uma nova camada de abstração, neste caso
o banco de dados, você não apenas pode perder em performance mas adiciona
um nível maior de complexidade que pode causar problemas indesejados, como
por exemplo corrupção dos arquivos armazenados no banco.

Com relação as vantagens do SGBD sobre o FS eu não vejo tanto ganho assim.
Por exemplo, não é preciso perder as vantagens transacionais ao colocar
toda a operação, incluindo as chamadas ao FS, na mesma transação. Pode-se
colocar as alterações no FS pro final da transação e em último caso pode-se
utilizar ferramentas de versionamento para garantir que o estado do sistema
de arquivos esteja consistente e em um caso onde o FS retorne um erro basta
executar um rollback. Com relação ao backup não vejo como vantagem tão
grande uma vez que de qualquer forma devemos ter uma boa estratégia para
ambos, SGBD e FS. Por outro lado concentrar os arquivos no BD irá aumenta o
tempo de backup e principalmente o tempo de recuperação pois fica mais
complexo a aplicação de paralelismo.

Outro ganho que se pode ter com arquivos no FS é a utilização de servidores
para mídias e arquivos estáticas. Muito mais eficientes e pode-se utilizar
CDN para distribuir a carga através da rede o que descentraliza o tráfego e
melhora performance.

Mas como foi falado acima pelo Gurgel, se não existe um problema real não
vejo porque mudar pelo simples fato de as tabelas estarem crescendo.

Att,

Charly Batista
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] armazenamento de imagens no Banco x File System

2016-11-02 Por tôpico Lucas Possamai
Em 2 de novembro de 2016 01:38, Felipe Pereira 
escreveu:

>
>
> Em 25 de outubro de 2016 09:34, Michel Luiz Milezzi <
> michelmile...@gmail.com> escreveu:
>
>> >>O que é mais indicado, gravar arquivos em file system ou no próprio
>>> banco ?
>>>
>>
>> Existe uma terceira via, que é a de usar um serviço exclusivo para este
>> fim, como o Cloudinary [1].
>>
>> [1] http://cloudinary.com/
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
>
>
Na empresa em que trabalho, também armazenamos os binários no Banco. É
realmente um problema. Nosso banco hoje, com 3TB, possuí mais de 2.3TB de
imagens, etc.

Incomoda bastante, não só pelo tamanho, mas pela performance
(principalmente)

Estamos com um projeto grande para remover estes binários do Banco e
armazena-los no S3 Bucket (Estamos migrando da Rackspace para AWS).


Minha sugestão é: Tire estes binários do Banco antes que o seu banco fique
enorme e torne as coisas mais difíceis :)
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] armazenamento de imagens no Banco x File System

2016-11-01 Por tôpico Felipe Pereira
Em 25 de outubro de 2016 09:34, Michel Luiz Milezzi  escreveu:

> >>O que é mais indicado, gravar arquivos em file system ou no próprio
>> banco ?
>>
>
> Existe uma terceira via, que é a de usar um serviço exclusivo para este
> fim, como o Cloudinary [1].
>
> [1] http://cloudinary.com/
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



Adicionando à pergunta original: li um paper da Microsoft uma vez tratando
do assunto, obviamente que a relação era entre SQL Server e File System. A
conclusão do artigo deles era que arquivos até 2 MB eram melhor gerenciados
pelo Banco de Dados, já de 2 MB até 10 MB não havia diferença e arquivos
maiores do que 10 MB eram melhor gerenciados pelo file system.

De qualquer forma a resposta do Gurgel levanta os assuntos necessários a se
verificar antes de tomar a decisão.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] armazenamento de imagens no Banco x File System

2016-10-25 Por tôpico Michel Luiz Milezzi
>
> >>O que é mais indicado, gravar arquivos em file system ou no próprio
> banco ?
>

Existe uma terceira via, que é a de usar um serviço exclusivo para este
fim, como o Cloudinary [1].

[1] http://cloudinary.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] armazenamento de imagens no Banco x File System

2016-10-24 Por tôpico Alessandro Lima
>>O que é mais indicado, gravar arquivos em file system ou no próprio banco
?
Também tive essa dúvida e decidi por utilizar o melhor de ambos,
Para Inserir/Alterar/Excluir gravo no banco de dados, pois tenho backup
unificado e controle de transação.
Para Visualizar utilizo o servidor web nginx (funciona como cache), pois
não sobrecarrego o banco de dados.

>>Sendo file system vocês tem sugestão de ferramentas ?
Como minha aplicação fica no mesmo servidor que o banco de dados, utilizo a
biblioteca Apache FileUtils.

Atenciosamente,
Alessandro Lima

>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] armazenamento de imagens no Banco x File System

2016-10-24 Por tôpico Guimarães Faria Corcete DUTRA , Leandro
2016-10-24 10:46 GMT-02:00 Eduardo Bohrer :
> Como o amigo Flavio salientou, existem prós e contras.
>
> De bate e pronto o mais recomendado seria deixar fora do banco mesmo.

Não, o que o Flávio disse, e eu concordo, é que não há ‘mais
recomendado’.  A pessoa tem de avaliar sua situação e decidir.

Se não há problemas reais e constatados, melhor deixar como estar.
Havendo problemas, aí podem-se avaliar prós e contras de mudar.  Mudar
sem saber exatamente porquê vai dar problemas novos sem que houvesse
antigos a resolver.

E na dúvida, deixe no banco.  Ele foi feito para resolver problemas,
não para criá-los.


-- 
skype:leandro.gfc.dutra?chat  Yahoo!: ymsgr:sendIM?lgcdutra
+55 (61) 3546 7191  gTalk: xmpp:leand...@jabber.org
+55 (61) 9302 2691ICQ/AIM: aim:GoIM?screenname=61287803
BRAZIL GMT−3  MSN: msnim:chat?contact=lean...@dutra.fastmail.fm
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] armazenamento de imagens no Banco x File System

2016-10-24 Por tôpico Eduardo Bohrer
Como o amigo Flavio salientou, existem prós e contras.

De bate e pronto o mais recomendado seria deixar fora do banco mesmo.
Pois em geral binários e multimidia são muito grandes e aumentam o tamanho
do banco de maneira feroz, tornando a operação do banco mais complicada e
cara.

Uma forma bastante comum (que tenho utilizado muito) é em conjunto com o S3
da amazon. Imagens vão para o S3 e referências para a base de dados.
E deixo o S3 respondendo pelas imagens de maneira pública.(No meu caso pode)
Desta forma desonero a base de dados de qualquer storage ou trasferência
destes dados.

De quebra ganho replicação em diferentes zonas, mas isso é papo pra outro
post.

Att;
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] armazenamento de imagens no Banco x File System

2016-10-24 Por tôpico Flavio Henrique Araque Gurgel
Em seg, 24 de out de 2016 às 13:50, Luiz Henrique 
escreveu:

> Pessoal,
>
> Temos uma aplicação jboss que recebemos como "herança", ela armazena
> diversos arquivos de imagens (jpeg,bmp,etc). Essa tabela com os binários
> representa mais que 90% do tamanho total do banco, hoje com 210GB.
>
> Aí vem a pergunta. O que os participantes do grupo acham dessa prática ? O
> que é mais indicado, gravar arquivos em file system ou no próprio banco ?
> Sendo file system vocês tem sugestão de ferramentas ?
>

Não vejo boa prática nem em A nem em B.
Colocar arquivos em banco de dados tem suas vantagens, como por exemplo,
ter um backup unificado. Você também pode lidar com replicação dos dados e
dos arquivos simultaneamente. Sem contar que tudo se torna transacional,
portanto, você pode criar, modificar ou remover um arquivo ao mesmo tempo
que outra transação e o banco cuida do isolamento e atomicidade da coisa
toda.
Ter um sistema de arquivos separado pode ser interessante quando você tem
muitos acessos aos arquivos, isso é mais fácil de escalar que o banco de
dados. Por outro lado, ao contrário do controle transacional que falei
acima, é muuuito comum arquivos ficarem perdidos no sistema de arquivos
sendo que o "caminho" já foi removido do banco de dados.

Enfim, cada caso é um caso, acho que simplesmente o "tamanho do banco" e
"uma grande tabela" não é fator de decisão ou exclusão.

[]s
Flavio Gurgel
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] armazenamento de imagens no Banco x File System

2016-10-24 Por tôpico Luiz Carlos L. Nogueira Jr.
Aqui usamos o JCR pra armazenar em fs.

Sugiro, para fins administrativos que as imagens fiquem em filesystems.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] armazenamento de imagens no Banco x File System

2016-10-24 Por tôpico Luiz Henrique
Com relação a ferramentas, o que você quis dizer? Não entendi.

Flavio,

Obrigado pelo retorno. Em relação a ferramentas, é sobre a forma de como
gravar em file system, sei que existem ferramentas tipo GED (gestão
eletronica de documentos) que se propõe a fazer isso, tipo ALFRESCO.
Gostaria de conhecer outras...



Em 24 de outubro de 2016 09:54, Flávio Silveira 
escreveu:

> On 24/10/2016 09:50, Luiz Henrique wrote:
>
>> Pessoal,
>>
>> Temos uma aplicação jboss que recebemos como "herança", ela armazena
>> diversos arquivos de imagens (jpeg,bmp,etc). Essa tabela com os binários
>> representa mais que 90% do tamanho total do banco, hoje com 210GB.
>>
>> Aí vem a pergunta. O que os participantes do grupo acham dessa prática ?
>> O que é mais indicado, gravar arquivos em file system ou no próprio banco ?
>> Sendo file system vocês tem sugestão de ferramentas ?
>>
> Bom dia,
>
>   Apesar de me considerar inexperiente para opinar, considero que nesses
> casos se deve gravar somente o caminho do arquivo no banco e o arquivo em
> si no sistema de arquivos.
>
>   Com relação a ferramentas, o que você quis dizer? Não entendi.
>
>   Espero ter ajudado.
>
> Atenciosamente,
>   Flávio Silveira
>
>
>
>> Gostaria da opinião dos colegas. Obrigado!
>>
>> --
>> Atenciosamente,
>>
>> Luiz Henrique
>>
>> “A coruja de Minerva alça seu vôo somente com o início do crepúsculo”.
>> Friedrich Hegel
>>
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




-- 
Atenciosamente,

Luiz Henrique

“A coruja de Minerva alça seu vôo somente com o início do crepúsculo”.
Friedrich Hegel
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] armazenamento de imagens no Banco x File System

2016-10-24 Por tôpico Flávio Silveira

On 24/10/2016 09:50, Luiz Henrique wrote:

Pessoal,

Temos uma aplicação jboss que recebemos como "herança", ela armazena 
diversos arquivos de imagens (jpeg,bmp,etc). Essa tabela com os 
binários representa mais que 90% do tamanho total do banco, hoje com 
210GB.


Aí vem a pergunta. O que os participantes do grupo acham dessa prática 
? O que é mais indicado, gravar arquivos em file system ou no próprio 
banco ? Sendo file system vocês tem sugestão de ferramentas ?

Bom dia,

  Apesar de me considerar inexperiente para opinar, considero que 
nesses casos se deve gravar somente o caminho do arquivo no banco e o 
arquivo em si no sistema de arquivos.


  Com relação a ferramentas, o que você quis dizer? Não entendi.

  Espero ter ajudado.

Atenciosamente,
  Flávio Silveira




Gostaria da opinião dos colegas. Obrigado!

--
Atenciosamente,

Luiz Henrique

“A coruja de Minerva alça seu vôo somente com o início do crepúsculo”.
Friedrich Hegel


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

[pgbr-geral] armazenamento de imagens no Banco x File System

2016-10-24 Por tôpico Luiz Henrique
Pessoal,

Temos uma aplicação jboss que recebemos como "herança", ela armazena
diversos arquivos de imagens (jpeg,bmp,etc). Essa tabela com os binários
representa mais que 90% do tamanho total do banco, hoje com 210GB.

Aí vem a pergunta. O que os participantes do grupo acham dessa prática ? O
que é mais indicado, gravar arquivos em file system ou no próprio banco ?
Sendo file system vocês tem sugestão de ferramentas ?

Gostaria da opinião dos colegas. Obrigado!

-- 
Atenciosamente,

Luiz Henrique

“A coruja de Minerva alça seu vôo somente com o início do crepúsculo”.
Friedrich Hegel
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral