Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Salvere immagini
lunedì 24 marzo 2008 - 20.15
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
lun 24 mar 2008 - 20:15
Salve,
volevo un consiglio,
attraverso una web page devo salvare delle immagini su SQL server 2000
ora mi chiedevo cosa conviene di piu salvarne solo i link e mettere le vere immagini in una cartella o inserirle nel db?
Aspetto pareri ed opinioni.
CIao
--------------------
Vincenzo PESANTE
System Engineer
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 24 mar 2008 - 23:50
>Salve,
Ciao!
>
>volevo un consiglio,
ti rimando a questo post:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=18043
Alx81 =)
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
mar 25 mar 2008 - 00:30
Beh per quanto riguarda il mio caso, credo che le immagini non saranno molto pesanti,
però c'è ne sarà un grande numero che sarà sempre crescente, infatti insieme ad ogni record salvato in apposite tabelle verrà salvata anche l'immagine.
In questo caso che mi consigli?
Ciao
--------------------
Vincenzo PESANTE
System Engineer
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 25 mar 2008 - 00:42
>Beh per quanto riguarda il mio caso, credo che le immagini non
>saranno molto pesanti,
>però c'è ne sarà un grande numero che sarà sempre crescente,
>infatti insieme ad ogni record salvato in apposite tabelle verrà
>salvata anche l'immagine.
>
>In questo caso che mi consigli?
Credo che se il numero cresce veramente usare il filesystem sia la cosa migliore. Anche se perdi la possibilità di eseguire il backup delle informazioni (immagini per te) insieme a quello del database, o meglio, sei costretto ad escogitare un piano di backup aggiuntivo.
Tendo ad utilizzare il db come repository di immagini solo quando si tratta di poche righe e di immagini di dimensioni ridotte.
Alx81 =)
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
mar 25 mar 2008 - 21:33
>>Beh per quanto riguarda il mio caso, credo che le immagini non
>>saranno molto pesanti,
>>però c'è ne sarà un grande numero che sarà sempre crescente,
>>infatti insieme ad ogni record salvato in apposite tabelle verrà
>>salvata anche l'immagine.
>>
>>In questo caso che mi consigli?
>Credo che se il numero cresce veramente usare il filesystem sia
>la cosa migliore. Anche se perdi la possibilità di eseguire il
>backup delle informazioni (immagini per te) insieme a quello
>del database, o meglio, sei costretto ad escogitare un piano
>di backup aggiuntivo.
>Tendo ad utilizzare il db come repository di immagini solo quando
>si tratta di poche righe e di immagini di dimensioni ridotte.
Perche in caso inverso quali sarebbero le contro indicazioni?
sai sto facendo una sorta di analisi per fare anche un scelta architetturale.
CIao e grazie
>Alx81 =)
>
>
http://blogs.dotnethell.it/suxstellino
>
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
>
http://italy.mvps.org
--------------------
Vincenzo PESANTE
System Engineer
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mar 25 mar 2008 - 23:06
>Perche in caso inverso quali sarebbero le contro indicazioni?
Allora proverò a darti una risposta completa. Sto parlando di SQL Server e, credo, di moltri altri DBMS.
Salvare le immagini su database non è giusto o sbagliato, è una scelta da ponderare. Innanzitutto bisogna capire come SQL Server si comporti con i campi definiti BLOB (Binary Large Object, text,ntext,image). In un campo di questo tipo non viene salvato il contenuto bensì un puntatore che occupa qualche byte e che occupa alla zsona effettiva su cui si trova il BLOB. Di conseguenza potrebbe essere meno performante la scelta di un varchar per un path al posto di un campo binary.
Salvando i dati su database hai alcuni vantaggi:
- Le immagini non apensantiscono il db per quanto riguarda filtri e ricerche
- Puoi sfruttare comunque la cache del browser
- Puoi sfruttare le transazioni
- Puoi avere le informazioni centralizzate e quindi backup e restore ottimi per la gestione di "tutto"
Salvando i dati su db però potresti avere anche alcuni problemi. Ad esempio, ed è il motivo per cui ti dicevo che a volte mi capita di salvare su filesystem, perdi il nome del file e alcune altre sue proprietà. Ed in alcuni casi questo non è consentito. Poi, non dimentichiamo che se devi elaborare le immagini è molto più complessa la gestione a db. Devi considerare anche questo.
Uno dei più grandi svantaggi dell'utilizzo del filesystem invece è quello di distribuire il contenuto (un po' su db un po' su filesystem). Di conseguenza nasce una complicata gestione dei dati con la possibilità di lasciare anche dati sporchi sul db. Infine, le permission e la security in generale, laddove si esca dal contesto del database.
Con SQL Server 2008 è stato introdotta l'opzione FILESTREAM che ti consente di gestire il filesystem "sotto transazione":
"Il nuovo tipo di dati FILESTREAM di SQL Server 2008 consente di memorizzare dati binari di grandi dimensioni, come documenti e immagini, direttamente in un file system NTFS; il documento o l'immagine resta una parte integrante del database e mantiene l'uniformità transazionale. FILESTREAM consente l'archiviazione di dati binari di grandi dimensioni, gestiti in passato dal database, da memorizzare all'esterno del database come file singoli a cui è possibile accedere utilizzando un'API che utilizza il flusso di dati NTFS. Utilizzando API che sfruttino il flusso di dati NTFS, si ottengono prestazioni efficaci di operazioni su file comuni e al tempo stesso sono a disposizione tutti i servizi database completi, compresi la protezione e il backup."
Alx81 =)
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
mer 26 mar 2008 - 07:43
Capito,
poiche sara' un'applicazione che dovra' tracciare dati giornalieri capisci che la mole di immagini potra' essere anche abbastanza grossa nel tempo, per cui il db ne potrebbe anche risentire,
a questo punto sarei tentato per la strada del salvataggio solo dei link,
tu che scelta effettueresti dato lo scenario
Ciao
--------------------
Vincenzo PESANTE
System Engineer
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 26 mar 2008 - 09:44
>poiche sara' un'applicazione che dovra' tracciare dati giornalieri
>capisci che la mole di immagini potra' essere anche abbastanza
>grossa nel tempo, per cui il db ne potrebbe anche risentire,
>a questo punto sarei tentato per la strada del salvataggio solo
>dei link, tu che scelta effettueresti dato lo scenario
Come ti dicevo, se ti fa comodo avere i dati centralizzati e se non devi manipolarle, db..
Pensa comunque anche ai tempi di backup.. E quindi al fatto che più le immagini sono leggere meglio è.
Alx81 =)
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
mer 26 mar 2008 - 20:26
Beh devo pensarci,
infatti penso anche al fatto di fare un restore tra qualche tempo, sai che db che mi troverei!!
Calcolando anche il fatto che l'attuale db dove implementare questa funzionalità sfiora i 5 gb.
Grazie cmq ciao
--------------------
Vincenzo PESANTE
System Engineer
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
mer 26 mar 2008 - 20:31
>Beh devo pensarci,
>
>infatti penso anche al fatto di fare un restore tra qualche tempo,
>sai che db che mi troverei!!
>Calcolando anche il fatto che l'attuale db dove implementare
>questa funzionalità sfiora i 5 gb.
Mi è venuta in mente un'altra cosa..
Se le immagini che devi inserire sono pesanti, considera anche che i tempi di ogni transazione a db potrebbero dilatarsi.
Fai le più accurate considerazioni.
Chiudiamo il post per favore
>
>Grazie cmq ciao
Ciao!
Alx81 =)
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
lun 31 mar 2008 - 20:11
Si infatti
grazie Ciao
--------------------
Vincenzo PESANTE
System Engineer
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !