Suas imagens precisarão ter um nome exclusivo? O processo que gera essas imagens pode produzir o mesmo nome de arquivo mais de uma vez? Difícil dizer sem saber qual dispositivo está criando o nome do arquivo, mas dizer que o dispositivo é 'redefinido' e, após a reinicialização, começa a nomear as imagens como na última vez em que foi 'redefinido' - se isso é uma preocupação.
Além disso, você diz que atingirá 1 milhão de imagens em um mês. Que tal depois disso? Com que rapidez essas imagens continuarão preenchendo o sistema de arquivos? Eles chegarão a algum ponto e atingirão um milhão de TOTAL de imagens ou continuarão a crescer mês após mês?
Eu pergunto porque você pode começar a projetar seu sistema de arquivos por mês e depois por imagem. Eu posso estar inclinado a sugerir que você armazene as imagens em uma estrutura de diretório:
imgs\yyyy\mm\filename.ext
where: yyyy = 4 digit year
mm = 2 digit month
example: D:\imgs\2009\12\aaa0001.jpg
D:\imgs\2009\12\aaa0002.jpg
D:\imgs\2009\12\aaa0003.jpg
D:\imgs\2009\12\aaa0004.jpg
|
D:\imgs\2009\12\zzz9982.jpg
D:\imgs\2010\01\aaa0001.jpg (this is why I ask about uniqueness)
D:\imgs\2010\01\aab0001.jpg
Mês, ano e até dia são bons para imagens do tipo segurança. Não tenho certeza se é isso que você está fazendo, mas eu fiz isso com uma câmera de segurança doméstica que tirava uma foto a cada 10 segundos ... Dessa forma, seu aplicativo pode detalhar o horário específico ou até um intervalo em que você imagina que a imagem foi gerada . Ou, em vez de ano, mês - existe algum outro "significado" que pode ser derivado do próprio arquivo de imagem? Alguns outros descritores, além do exemplo de data que dei?
Eu não armazenaria os dados binários no banco de dados. Nunca tive um bom desempenho / sorte com esse tipo de coisa. Não consigo imaginá-lo funcionando bem com 1 milhão de imagens. Gostaria de armazenar o nome do arquivo e é isso. Se todos eles serão JPG, nem armazene a extensão. Eu criaria uma tabela de controle que armazenasse um ponteiro no servidor, na unidade, no caminho do arquivo, etc. Dessa forma, você pode mover essas imagens para outra caixa e ainda localizá-las. Você precisa marcar as suas imagens com palavras-chave? Nesse caso, você deseja criar as tabelas apropriadas que permitem esse tipo de marcação.
Você / outras pessoas podem ter abordado essas idéias enquanto eu respondia. Espero que isso ajude.