Le tue immagini dovranno essere nominate in modo univoco? Il processo che genera queste immagini può produrre lo stesso nome file più di una volta? Difficile dirlo senza sapere quale dispositivo sta creando il nome file, ma dire che il dispositivo è "ripristinato" e al riavvio inizia a denominare le immagini come ha fatto l'ultima volta che è stato "ripristinato" - se questo è un problema.
Inoltre, dici che colpirai 1 milione di immagini in un mese. Che ne dici dopo? Quanto velocemente queste immagini continueranno a riempire il file system? Arriveranno a un certo punto e livelleranno circa 1 milione di immagini TOTALI o continueranno a crescere e crescere, mese dopo mese?
Ti chiedo perché potresti iniziare a progettare il tuo file system per mese, quindi per immagine. Potrei essere propenso a suggerire di memorizzare le immagini in una tale struttura di directory:
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
Il mese, l'anno e persino il giorno vanno bene per le immagini di sicurezza. Non sono sicuro se questo è quello che stai facendo, ma l'ho fatto con una videocamera di sicurezza domestica che scattava una foto ogni 10 secondi ... In questo modo la tua applicazione può eseguire il drill-down in un momento specifico o anche in un intervallo in cui potresti pensare che l'immagine sia stata generata . Oppure, anziché anno, mese - esiste qualche altro "significato" che può essere derivato dal file di immagine stesso? Alcuni altri descrittori, oltre all'esempio di data che ho dato?
Non memorizzerei i dati binari nel DB. Non ho mai avuto buone prestazioni / fortuna con quel genere di cose. Non posso immaginare che funzioni bene con 1 milione di immagini. Vorrei memorizzare il nome del file e basta. Se saranno tutti in JPG, non memorizzare nemmeno l'estensione. Vorrei creare una tabella di controllo che memorizzava un puntatore al server, all'unità, al percorso del file, ecc. In questo modo è possibile spostare quelle immagini in un'altra casella e comunque localizzarle. Hai bisogno di taggare le parole chiave con le parole? In tal caso, ti consigliamo di creare le tabelle appropriate che consentano quel tipo di tag.
Potresti aver affrontato queste idee mentre rispondevo .. Spero che questo aiuti ...