Autor Tópico: [RESOLVIDO]Imagem no banco de dados-performace  (Lida 682 vezes)

rxdxp

  • Novato
  • *
  • Mensagens: 7
    • Email
[RESOLVIDO]Imagem no banco de dados-performace
« Online: Junho 21, 2016, 02:30:05 am »
Sou novo no scritpcase(php) e estou fazendo um sistema backend de imobiliária com inclusão de fotos(todas otimizadas para web).
Gostaria de saber se a performasse do banco ficará comprometida no caso de muitas fotos incluídas, pois será hospedado em um plano comum de uma grande empresa de hospedagem fora do Brasil.

No banco farei stored no banco para as buscas mais utilizadas no frontend que será feito em programação php e não pelo scriptcase.
« Última modificação: Junho 21, 2016, 07:42:49 am por rxdxp »

Haroldo

  • Expert
  • *****
  • Mensagens: 6262
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Imagem no banco de dados-performace
« Responder #1 Online: Junho 21, 2016, 06:58:21 am »
Use no banco as imagens mas tenha em cache também (em disco), se não encontrar no disco descarregue do banco no disco e exiba a imagem do disco.
Pode usar a imagem em memória,mas não aconselho em hospedagem compartilhada.

rxdxp

  • Novato
  • *
  • Mensagens: 7
    • Email
Re:Imagem no banco de dados-performace
« Responder #2 Online: Junho 21, 2016, 07:42:21 am »
Granto Haroldo, acho que vou só colocar o caminho da imagem no banco e fazer upload para uma pasta.

Haroldo

  • Expert
  • *****
  • Mensagens: 6262
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:[RESOLVIDO]Imagem no banco de dados-performace
« Responder #3 Online: Junho 21, 2016, 07:45:57 am »
quando for fazer backup,não esqueça da pasta de imagens. Se as imagens estiverem no banco, bastaria um dump do banco.

Jailton

  • Expert
  • *****
  • Mensagens: 2026
Re:[RESOLVIDO]Imagem no banco de dados-performace
« Responder #4 Online: Junho 21, 2016, 09:32:31 am »
Faz um comparativo também, passa umas fotos aqui neste site para otimizar e compare com as fotos, que já tinha otimizado para ver se teve ganho em kb, ai como a hospedagem
é compartilhada pode-se otimizar bem as imagens antes de enviar, e usar tudo no banco que performance vai ficar boa também.
https://tinypng.com/
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Alexandre Pereira Bühler

  • Expert
  • *****
  • Mensagens: 1636
  • Nunca estabeleça um teto para os seus rendimentos.
    • Simão & Bühler Ltda
    • Email
Re:[RESOLVIDO]Imagem no banco de dados-performace
« Responder #5 Online: Junho 22, 2016, 11:26:31 am »
O mysql não joga campos blob para memória.
Descarrega em disco quando tem que fazer consulta e etc.

Cito:
http://dev.mysql.com/doc/refman/5.7/en/blob.html
"Instances of BLOB or TEXT columns in the result of a query that is processed using a temporary table causes the server to use a table on disk rather than in memory because the MEMORY storage engine does not support those data types (see Section 9.4.4, “Internal Temporary Table Use in MySQL”). Use of disk incurs a performance penalty, so include BLOB or TEXT columns in the query result only if they are really needed. For example, avoid using SELECT *, which selects all columns. "

Logo, se usar mysql para armazenar blobs pode perder um pouco a performance.
O melhor é usar um SGDB que use campos blob na memória se for usar fotos no banco.

Mas, o que tem que se preocupar mesmo é com consumo de banda.
Se sua imobiliária tiver muitos acessos pegue um hospedagem sem limite de tráfego.
As fotos irão pesar neste limite e farão ultrapassar a cota se contratar com limite de tráfego.

Se usar imagens em disco, corre o risco de ter imagens órfãs.
Existem no disco. Mas não existe link para ela no banco de dados.
E seu espaço em disco será comido por estas imagens.

Também as imagens farão o servidor web ficar lento ao servir fotos junto com a aplicação.
Com o tempo se o cliente crescer demais terá que ter os servidores em separado, um web, um para o banco de dados e outro para fotos.
Ou perderá clientes por conta da lentidão.

Sei disto por experiência em otimizar servidores para imobiliárias e portais de imobiliárias com ou sem o uso de scriptcase.

Agora se for usar somente para uma imobiliária pequena que não tem muitos acesso simultâneos não tem problema.

--
Alexandre Pereira Bühler
https://www.simaoebuhler.com.br
Hospedagem compartilhada Scriptcase desenvolvimento e produção. Temos servidores dedicados Scriptcase.
Eu RTFM todo dia e você?

Jailton

  • Expert
  • *****
  • Mensagens: 2026
Re:[RESOLVIDO]Imagem no banco de dados-performace
« Responder #6 Online: Junho 22, 2016, 12:28:06 pm »
O mysql não joga campos blob para memória.
Descarrega em disco quando tem que fazer consulta e etc.

Cito:
http://dev.mysql.com/doc/refman/5.7/en/blob.html
"Instances of BLOB or TEXT columns in the result of a query that is processed using a temporary table causes the server to use a table on disk rather than in memory because the MEMORY storage engine does not support those data types (see Section 9.4.4, “Internal Temporary Table Use in MySQL”). Use of disk incurs a performance penalty, so include BLOB or TEXT columns in the query result only if they are really needed. For example, avoid using SELECT *, which selects all columns. "

Logo, se usar mysql para armazenar blobs pode perder um pouco a performance.
O melhor é usar um SGDB que use campos blob na memória se for usar fotos no banco.

Mas, o que tem que se preocupar mesmo é com consumo de banda.
Se sua imobiliária tiver muitos acessos pegue um hospedagem sem limite de tráfego.
As fotos irão pesar neste limite e farão ultrapassar a cota se contratar com limite de tráfego.

Se usar imagens em disco, corre o risco de ter imagens órfãs.
Existem no disco. Mas não existe link para ela no banco de dados.
E seu espaço em disco será comido por estas imagens.

Também as imagens farão o servidor web ficar lento ao servir fotos junto com a aplicação.
Com o tempo se o cliente crescer demais terá que ter os servidores em separado, um web, um para o banco de dados e outro para fotos.
Ou perderá clientes por conta da lentidão.

Sei disto por experiência em otimizar servidores para imobiliárias e portais de imobiliárias com ou sem o uso de scriptcase.

Agora se for usar somente para uma imobiliária pequena que não tem muitos acesso simultâneos não tem problema.



Boa Explicação Alexandre, grato por compartilhar.
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.