|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
tedeski Novato
Registrado: Segunda-Feira, 28 de Janeiro de 2013 Mensagens: 96 Localização: São Jose dos Pinhais-PR
|
Enviada: Qui Jul 25, 2013 1:26 pm Assunto: Imagens em Banco vs em diretorio |
|
|
Boa tarde, estou desenvolvendo um sistema de transportadora, e estou com a seguinte questão salvar imagem no banco(postgres) ou em um diretorio??
pois gostaria de saber sobre o desempenho de ambos e quais beneficios??
Agradeço desde já. Obrigado. |
|
Voltar ao Topo |
|
|
builder_rs Novato
Registrado: Quarta-Feira, 26 de Dezembro de 2007 Mensagens: 88
|
Enviada: Sex Jul 26, 2013 6:01 am Assunto: |
|
|
No passado, a questão do tamanho em disco dos arquivos do banco de dados, velocidade da rede, estabilidade, etc. considerava-se uma alternativa manter as imagens fora do banco de dados, deixando as mesmas em um diretório compartilhado na rede.
Nos dias de hoje, usando formatos compactos (jpg ou png) e tratando a imagem antes de gravar no banco de dados, limitando a resolução máxima para evitar que alguém insira fotos gigantes, não terá problemas. Gravar/Ler imagens em SGBDs hoje passou a ser trivial, lembrando que para manter um bom desempenho e baixo consumo de memória é só recuperar os campos em uma query que realmente for usar (nada de select * from para tudo que é consulta).
Quando inserimos a imagem no banco de dados, não será mais necessário ter um diretório compartilhado no servidor e o acesso será tranquilo, podendo recuperar a imagem de qualquer lugar, seja rede local ou remota. Sem falar que terá muito mais controles sobre as alterações (permissões dos usuários) e um processo de backup mais simples.
Abraços,
Anderson:. |
|
Voltar ao Topo |
|
|
tedeski Novato
Registrado: Segunda-Feira, 28 de Janeiro de 2013 Mensagens: 96 Localização: São Jose dos Pinhais-PR
|
Enviada: Sex Jul 26, 2013 8:16 am Assunto: |
|
|
Muito obrigado, pela explicação.
builder_rs escreveu: | No passado, a questão do tamanho em disco dos arquivos do banco de dados, velocidade da rede, estabilidade, etc. considerava-se uma alternativa manter as imagens fora do banco de dados, deixando as mesmas em um diretório compartilhado na rede.
Nos dias de hoje, usando formatos compactos (jpg ou png) e tratando a imagem antes de gravar no banco de dados, limitando a resolução máxima para evitar que alguém insira fotos gigantes, não terá problemas. Gravar/Ler imagens em SGBDs hoje passou a ser trivial, lembrando que para manter um bom desempenho e baixo consumo de memória é só recuperar os campos em uma query que realmente for usar (nada de select * from para tudo que é consulta).
Quando inserimos a imagem no banco de dados, não será mais necessário ter um diretório compartilhado no servidor e o acesso será tranquilo, podendo recuperar a imagem de qualquer lugar, seja rede local ou remota. Sem falar que terá muito mais controles sobre as alterações (permissões dos usuários) e um processo de backup mais simples.
Abraços,
Anderson:. |
|
|
Voltar ao Topo |
|
|
maizena Colaborador
Registrado: Terça-Feira, 20 de Março de 2012 Mensagens: 1497 Localização: Laguna - SC
|
Enviada: Sex Jul 26, 2013 9:03 am Assunto: |
|
|
builder_rs escreveu: | No passado, a questão do tamanho em disco dos arquivos do banco de dados, velocidade da rede, estabilidade, etc. considerava-se uma alternativa manter as imagens fora do banco de dados, deixando as mesmas em um diretório compartilhado na rede.
Nos dias de hoje, usando formatos compactos (jpg ou png) e tratando a imagem antes de gravar no banco de dados, limitando a resolução máxima para evitar que alguém insira fotos gigantes, não terá problemas. Gravar/Ler imagens em SGBDs hoje passou a ser trivial, lembrando que para manter um bom desempenho e baixo consumo de memória é só recuperar os campos em uma query que realmente for usar (nada de select * from para tudo que é consulta).
Quando inserimos a imagem no banco de dados, não será mais necessário ter um diretório compartilhado no servidor e o acesso será tranquilo, podendo recuperar a imagem de qualquer lugar, seja rede local ou remota. Sem falar que terá muito mais controles sobre as alterações (permissões dos usuários) e um processo de backup mais simples.
Abraços,
Anderson:. |
Ótima explicação, POREM vou ter que descordar de ti, gravar imagens dentro de banco de dados pode SIM acarretar problemas, como lentidão nas pesquisas independente de se filtrar o máximo possível na select.
Agora com relação a armazenas as imagens em diretórios não vejo nenhum problema em liberar o acesso VIA SISTEMA para o usuário verificar as fotos, seja ele remoto ou local, basta saber implementar o sistema de forma a manter os arquivos em ordem e íntegros.
Boa sorte. _________________ Canal Delphi+ INSCREVA-SE: http://www.youtube.com/channel/UCnVF5ly5PRwZONE-U7xZM6w?feature=watch |
|
Voltar ao Topo |
|
|
carlosdaniel_delphi Novato
Registrado: Sexta-Feira, 17 de Dezembro de 2010 Mensagens: 17
|
Enviada: Dom Ago 18, 2013 12:02 am Assunto: |
|
|
Uso Firebird e também tenho um sistema que necessita armazenar imagens, inclusive imagem de alta resolução. No meu caso armazeno em diretório as imagens, mas de forma transparente para o usuário, fiz isso através do protocolo FTP, no servidor tenho um Filezilla rodando e a aplicação em Delphi usa um componente cliente para FTP(Indy).
No banco de dados armazeno apenas o nome do arquivo, que possui sempre um prefixo com base no número da chave primária ao qual pertence, garantindo assim que não sejam sobrescritos. Na verdade é um conceito simples, comum na web, mas muito funcional. |
|
Voltar ao Topo |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|