Abbiamo un progetto MVC ASP.NET con database AngularJS ed Entity Framework, un portale di notizie già in produzione da circa un anno. Il progetto è principalmente incentrato sulla fornitura di contenuti per gli utenti (articoli, notizie e così via) e naturalmente ci sono molte immagini. Attualmente stiamo archiviando le immagini nel File System e in SQL Server memorizziamo solo il percorso.
Il sito oggi ha qualcosa come più di 2000 immagini (ogni giorno vengono caricate molte nuove immagini in modo che questo numero possa crescere molto velocemente). Le dimensioni delle immagini sono nella media di 1 MB (ma possono anche essere maggiori).
Il nostro cliente ha richiesto (davvero non conosciamo le ragioni ...) per noi per iniziare a salvare le immagini all'interno del database, utilizzando FILESTREAM di SQL Server. Come azienda, non avevamo mai sviluppato alcun progetto utilizzando questa tecnologia. Sappiamo già che la memorizzazione di BLOB (come VARCHAR (MAX)) è un approccio davvero brutto, ma che ne è di FILESTREAM? Ne vale veramente la pena?
Gli obiettivi principali sono:
- FILESTREAM offrirà prestazioni migliori nel tempo?
- E il modo di gestire (salvare, recuperare) le immagini? È molto diverso dall'usare System.IO.File?
- E EntityFramework 5? È compatibile? (Impossibile trovare risposte effettive per questo su Internet)
L'utente può caricare fino a 10mb. Inoltre, abbiamo in programma di far caricare anche file (.pdf, .doc, .xls, anche .mp3 max 10mb)