Fórum Mysql como banco de dados de imagens #463201

06/12/2013

0

Olá pessoal, preciso desenvolver uma aplicação do tipo GED, Ouvi muitas conversas de que por as imagens no disco e o caminho no bd seria muito melhor e tals (porem seria muito trabalhoso, sem segurança ou integridade), resolvi então por no banco de dados, muitos vão me apedrejar agora, rsrsrs! Mais achei melhor, vai ser mais fácil para trabalhar em rede, bom, escolhi o mysql, fiquei em duvidas com o postgres, mais a dúvida é, para armazenar arquivos de imagens ou coisas do tipo no bd, quais os campos indicados? posso criar uma tabala ccom descrição e uma apenas para imagens contendo o id da descrição? realmente essa ideia de que a performance do bd fica ruim com imagens procede? se alguém poder me ajudar com essa, ficarei muito grato, abraços a todos!
Ivan Alves

Ivan Alves

Responder

Posts

08/12/2013

Eduardo Pessoa

não necessariamente, isso depende de outros fatores fisicos.
Responder

Gostei + 0

10/12/2013

William

Bom vamos a algumas observações sobre suas dúvidas:

1 - Porque gravar os caminhos das imagens no banco podem ser sinal de falta de integridade?
-> Uso essa prática a anos além de outros programadores e sistemas que tive acesso, não vejo problema na integridade dos dados e em trabalhar rede, já que na grande maioria da vezes a pasta com as imagens fica em um diretório no servidor, onde somente a aplicação tem acesso.

2 - Performance de banco quanto a gravar várias imagens!
-> No meu caso foram bem mais de 100 imagens (aumentando semanalmente) com tamanhos variados de 400 kb até 600 kb isso vai muito do formato da imagem, multiplique isso por 500 imagens, verá que essa quantidade de imagens pesa um pouco. Então gravei os caminhos tipo "T:/Sistema/imagens/", esse valor em String do caminho para 500 registros garanto que pesa bem menos que as 500 imagens. Então vejo da seguinte forma, depende do seu caso!!!

Mas caso queira gravar a imagem, segue um link com ponto de partida:
Artigo

Qualquer dúvida estamos por ai ....
Responder

Gostei + 0

10/12/2013

Alan Mario

então as imagens não são gravadas no banco em si? são apenas caminho
Responder

Gostei + 0

10/12/2013

Ivan Alves

Agradeço a vocês pela ajuda, William, então cara, o sistema funcionara no máximo em duas maquinas, só que, vai ser em uma pequena repartição publica, onde o servidor provavelmente será máquina de trabalho de alguém, salvando no disco, uma pessoa que eventualmente tenha acesso ao computador e não deva ter acesso as imagens dos documentos, fuçando poderia achar esses arquivos, o que poderia gerar problemas, o usuário do computador em questão, pode andar fuçando internet a dentro, infectando o micro com vírus, vírus esses que possam vir a danificar os arquivos, sem contar que será mais trabalhoso para implementar, e o prazo é curto, então pensei em usar as imagens no banco
isso dificulta acesso aos arquivos, além de uma unica rotina de backup, bom, essas são algumas das minhas razões, e lendo mais, pesquisando por aí, achei melhor usar o postgres ao invés do mysql, além dele ser mais robusto, trata melhor com a questão de dados maiores em tabelas, bom, estendo mais essa duvida a te, o que acha? nos meus testes o postgres tem se dado melhor! E quanto ao peso das imagens, o componente que to usando, consegue pegar a imagem do Scanner e comprimir sem perda de qualidade, bom, de novo agradeço pela ajuda, se tiver um exemplo simples de como salvar e gerenciar imagens no disco que possa compartilhar, ficarei agradecido! Abraços
Responder

Gostei + 0

11/12/2013

William

A escolha de usar PostgreSQL, não vejo problema uma vez que essa SGBD é extremamente poderoso, só não acho legal você apoiar essa decisão na questão da quantidade de dados, pois trabalho com MySQL diariamente com uma base de dados enorme.

Para você ter ideia em apenas 1 tabela tenho 60 milhões de registros, mas temos outras que podem chegar 270 milhões de registros, tudo via WEB usando MySQL 5.1, usando uma indexação bem feita não tenho problemas.

Exemplo para gravar imagens no PostgreSQL não tenho!
Responder

Gostei + 0

11/12/2013

Ivan Alves

William, mais uma vez o meu muito obrigado pela força, nos meus testes o tempo de respostas do postgres em retornar a imagem tem sido mais rápido, não é uma diferença muito grande, são milésimos de diferença e também pesou na escolha do postgres o fato do campo "oid ", o campo oid cria um objeto (se não estou enganado, em algum lugar do disco, bom foi essa informação que achei), que é a imagem nesse caso, e coloca na tabela um identificador para tal objeto. Bom, por isso escolhi o postgres, mais sei do poder do mysql, nos testes, as mesmas imagens que usei em um, usei no outro, e o mysql respondeu a altura, muito bom tbm! Abraços
Responder

Gostei + 0

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

Aceitar