Jump to content
Felipe Machado

Foto no banco da dados ou em pastas?

Recommended Posts

Felipe Machado

Bom dia!

estou criando um aplicação de controle de estoque com foto do produto

mas tenho o seguinte problema

 coloco a foto no banco de dados( isso faria cair muito o desempenho do meu programa, mas teria menos chance de alguém apagar acidentalmente a foto)

ou

crio uma pasta no disco para armazenar as fotos(com risco muito grande de alguém apagar ou corromper a foto )

gostaria da opinião de vocês o que seria mais viável de fazer?

 

Share this post


Link to post
Share on other sites
Retsu9

Boas,

Não sei qual a melhor opção, e porque dizes que colocar a foto na base de dados faria cair muito o desempenho do programa?

Eu pessoalmente prefiro trabalhar com as imagens na base de dados, nunca trabalhei com eles em pastas mas creio ser mais susceptível a erros ou falhas nos caminhos etc..

Eu prefiro te-las na base de dados, no entanto não sei se é a opção mais eficaz.

  • Vote 1

Share this post


Link to post
Share on other sites
Felipe Machado
8 minutos atrás, Retsu9 disse:

Boas,

 

Não sei qual a melhor opção, e porque dizes que colocar a foto na base de dados faria cair muito o desempenho do programa?

Eu pessoalmente prefiro trabalhar com as imagens na base de dados, nunca trabalhei com eles em pastas mas creio ser mais susceptível a erros ou falhas nos caminhos etc..

Eu prefiro te-las na base de dados, no entanto não sei se é a opção mais eficaz.

na verdade eu me expressei mal.

o banco de dados ficaria muito grande, para a manutenção demoraria muito mais que o normal.

estava pensando em permissão de pasta, mas não sei se é possível gerenciar permissões de pasta pelo c#.

quanto ao caminho das fotos, seria em uma pasta reservada só para o program exemplo "c:/seuprograma/fotos_produtos"

Share this post


Link to post
Share on other sites
Gamemaster

Nada disso! 

Suponho que utilizas RDBMS. O teu objetivo para melhorares o desempenho da base de dados resume-se basicamente em indexar o máximo de campos possíveis.

Guarda as fotos em pastas e passa por elas programas de compressão (imagemagick por exemplo)

Cumprimentos,
Gamemaster

 

  • Vote 1

Share this post


Link to post
Share on other sites
M6

Essa questão é recorrente, mas não tem uma resposta certa, tem sim é uma decisão que se toma de acordo com cada caso.

Cada uma das estratégias tem vantagens e desvantagens.
 

Se guardares na BD, ficas com todos os teus dados num só local. Acabas por engordar a base de dados e colocar-lhe mais trabalho/carga uma vez que para te ler uma imagem de, por exemplo 1MB, essa informação tem de passar desde "os bits que estão no disco" até à aplicação (seja desktop ou browser) e pelo caminho passam pelo sistema operativo, pela base de dados, pela rede, etc..

Se guardares no SO, ficas com a informação espalhada em dois tipos de repositório diferentes: base de dados e sistema de ficheiros. Servir um ficheiro que está ao nível do SO é mais "simples e rápido" uma vez que para passar "os bits que estão no disco" até à aplicação elimina-se toda a questão da base de dados e da sua comunicação com o SO e com a aplicação que vai receber o ficheiro.

Eu prefiro guardar os ficheiros ao nível do SO e guardar na BD apenas as referências para o mesmos. Mas, como te disse, não há uma resposta certa para isto, há apenas uma escolha que se faz derivada de uma análise que é feita caso a caso.

  • Vote 1

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
Felipe Machado

Entendo...

para a pessoa que estou criando ira guardar muitas fotos.

Pois possui muitos produtos diferenciados, alto em torno de 1000 produtos diferente.

tive uma experiencia com foto em banco de dados com algo parecido e não deu muito certo.

então Creio que usarei no SO mesmo obrigado pelas dicas

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.