arquivos do disco no servidor ou binário para arquivos de som e imagem em SQL com aplicação ASP.Net

StackOverflow https://stackoverflow.com/questions/710976

Pergunta

Estou construindo uma aplicação web # ASP.Net C que será usando lotes de arquivos de som e arquivos de imagem. desempenho, considerando, seria melhor ser para armazenar todos os arquivos em SQL como o tipo de dados de imagem e recuperar do banco de dados ou armazenar / arquivar o arquivo de disco no servidor e armazenar o caminho em sql? Im curioso sobre os prós e contras -. Diferentes da óbvia de espaço de armazenamento e gerenciamento

Nenhuma solução correta

Outras dicas

Meu cliente atual está actualmente a analisar as mesmas opções. Existem algumas desvantagens a considerar:

Guardar como tipo de dados IMAGE:

  • Você só precisa fazer backup de seu banco de dados em vez do DB e locais no sistema de arquivos
  • Você não tem que se preocupar com arquivos que estão sendo deslocadas sem DB sendo atualizado com a nova localização ou quaisquer outros problemas com pendurado ponteiros para arquivos inexistentes

O armazenamento como um arquivo com um caminho no DB:

  • ligeiramente mais rápido de acesso (nós estaremos quantificar isso nos próximos dias)

Inicialmente eu pensei que também seria um problema com o cache do lado do cliente de imagens. Por exemplo, quando NET recebe a imagem fora do DB navegador do cliente não pode armazenar em cache-lo - parece que uma nova imagem de cada vez. Soube então que a menos que você está dando aos usuários acesso em nível de arquivo (a segurança não-não) você tiver o mesmo problema usando acesso direto ao arquivo.

A partir de uma perspectiva de desempenho deve ser melhor para armazenar os sons / imagens como arquivos e apenas manter uma referência para o local no banco de dados. Isso vai poupar você de ter que transferir os dados do banco de dados para o servidor web e reconstituir o "file" através de um manipulador sempre que é referenciado. Claro, caching poderia ajudar a isso, mas você ainda pagar a pena em cada cache miss. Esta solução é também, para o meu dinheiro, um pouco menos complicado em termos de código que precisa ser desenvolvido, embora você tem problemas com colisões e alguma configuração segurança extra (potencialmente) para fazer se você está permitindo upload.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top