GARANTIR DESCONTO

Fórum Blob ou Varchar qual utilizar #49815

13/03/2005

0

Pessoal uma opiniao de vcs... qual seria melhor um varchar com o caminho da foto e para aparecer ser tratado no cliente... ou um campo blob mesmo.... E aproveitando o campo blob ficaria a imagem dentro do db... ? como funciona este tipo....
Valeu
Renato / SP


Renato_sp

Renato_sp

Responder

Posts

13/03/2005

Bon Jovi

É mais seguro guardar no banco de dados, mas o Firebird tem um problema em que não permite armazenar determinadas tabelas de um banco de dados em locais diferentes, como outros SGDBs fazem. Ou seja, tudo vai ficar na mesma área de armazenamento, dados e arquivos, fica ´gorda´ e inflexível a estrutura de armazenamento do(s) servidore(s). E pra trabalhar de forma segura gravando em diretório vc teria q fazer sua aplicação em multicamadas, onde a camada que acessaria os arquivos estaria num servidor que tivesse permissão de acesso aos arquivos, podendo ser o mesmo servidor dos arquivos, pra não precisar que compartilhe diretório de rede com a aplicação do usuário final, o q não ficaria seguro. Outro problema em gravar fora do controle do SGDB é q vc perde a integridade referencial com os dados.


Responder

Gostei + 0

14/03/2005

Thomaz_prg

Não sei se vou conseguir explicar ( ou se vai te ajudar), mas para manter o banco um pouco melhor, e manter a integridade, crie uma tabela com o campo ID, e o campo FOTO, sendo esse campo foto do tipo Blob. Vc armazenaria a foto nesse campo, porém vc colocaria essa tabela em um arquivo separado, para que não influenciasse no desempenho das outras tabelas, e o campo ID seria responsável pelo relacionamento entre a imagem e o registro (de uma outra tabela) de origem.


Responder

Gostei + 0

14/03/2005

Renato_sp

Bon Jovi vc teria algum fonte de aplicação em multicamadas ? para eu ver como funciona pois isso me interessa muito... E quais outros beneficios que posso ter com multicamadas !!!

thomaz_prg Voce fala em outro arquivo , mas seria outra tabela certo? ou arquivo mesmo em outro gdb?

Valeu pessoal..


Responder

Gostei + 0

14/03/2005

Afarias

Campos BLOB são armazenados em uma ´área de segmentos´ diferente dos registros da tabela não influenciando assim na performance de consulta das tabelas.

A única desvantagem real (q vejo) em armazenar fotos no próprio banco é pq o Firebird (até a versão 1.5 -- a 2.0 parece já resolver isso) não possui backup incremental.

Sendo assim, cada backup fica mais lento e guardando TODAS as imagens (tornando o arquivo de backup tb grande).


T+


Responder

Gostei + 0

14/03/2005

Bon Jovi

[size=9:5b47b01424]´Campos BLOB são armazenados em uma ´área de segmentos´ diferente dos registros da tabela não influenciando assim na performance de consulta das tabelas.´[/size:5b47b01424]
Certo. MAs só pra deixar mais claro o q quis dizer com ´armazenar determinadas tabelas de um banco de dados em locais diferentes´, quis dizer por exemplo uma tabela de BLOBs poder ficar em um HD diferente.

Sobre exemplo de aplicação multicamadas:
http://www.activedelphi.com.br/print.php?sid=63
Só não use BDE como estão usando, prefira dbExpress, ADO ou algo mais atual.


Responder

Gostei + 0

15/03/2005

Afarias

|MAs só pra deixar mais claro o q quis dizer com ´armazenar
|determinadas tabelas de um banco de dados em locais diferentes´, quis
|dizer por exemplo uma tabela de BLOBs poder ficar em um HD
|diferente.

Eu havia entendido exatamente isso. :D Apesar de não ver problema nisso, a observação está correta.

Meu comentário foi com relação a citação do Thomaz quando fala ´porém vc colocaria essa tabela em um arquivo separado, para que não influenciasse no desempenho das outras tabelas´.

Mas tb não é inválida a ´solução´ proposta por ele (em termos de ´por a tabela em outro arquivo de dados´ -- se eu entendi bem) -- dependendo da aplicação, pode ser interessante.


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar