Confrontare opzioni per l'archiviazione di BLOB (SQL Server)
Si applica a: SQL Server
Vengono descritte e confrontate le opzioni disponibili per l'archiviazione di file e documenti in SQL Server.
Archiviazione di file nel database: vantaggi e comportamenti previsti
Nella realtà un'ampia percentuale di dati aziendali non è strutturata e generalmente viene archiviata come file e documenti in file system. La maggior parte di questi dati viene prodotta, gestita e utilizzata da applicazioni che accedono ai file tramite API Windows. Solitamente le aziende mantengono questi dati nel file system, archiviando i metadati correlati per i file in un database relazionale.
L'integrazione dei dati non strutturati nel database relazionale offre i seguenti vantaggi:
- Integrazione di archiviazione e funzionalità di gestione dei dati come ad esempio backup.
- Servizi integrati quali ricerca full-text e ricerca semantica su dati e metadati.
- Facilità di amministrazione e gestione dei criteri sui dati non strutturati.
È scomodo, in genere, archiviare dati non strutturati in un database relazionale. Non è pratico riscrivere applicazioni consolidate, come ad esempio Microsoft Word o Adobe Reader, al fine di farle interagire con le API del database relazionale. Tali applicazioni, infatti, prevedono l'accessibilità ai dati attraverso le API di Windows. Le applicazioni hanno le aspettative seguenti:
- Le transazioni di database non sono riconosciute né richieste dalle applicazioni di Windows.
- Le applicazioni di Windows richiedono compatibilità con le API del file system per i dati di file e directory.
Molti anni fa SQL Server non offriva modi diversi per archiviare i dati non strutturati in un database relazionale. Oggi, invece, offre vari modi per archiviare i dati non strutturati.
FILESTREAM
SQL Server dispone già della caratteristica FILESTREAM. La funzionalità FILESTREAM fornisce funzionalità di archiviazione, gestione e flusso efficienti per i dati non strutturati archiviati come file nel file system. Una soluzione FILESTREAM, tuttavia, richiede programmazione personalizzata e non soddisfa i requisiti per la piena compatibilità delle applicazioni Windows descritta sopra.
FileTable
La funzionalità FileTable si basa sulle capacità FILESTREAM esistenti e FileTable consente ai clienti aziendali di archiviare i dati non strutturati dei file e le gerarchie degli elenchi in un database di SQL Server. La funzionalità soddisfa i requisiti per l'accesso non transazionale e la compatibilità delle applicazioni Windows per i dati basati su file.
Confronto tra FILESTREAM e tabelle FileTable
Funzionalità | Soluzione file server e database | Soluzione FILESTREAM | Soluzione FileTable |
---|---|---|---|
Singola soluzione per le attività di gestione | No | Sì | Sì |
Singolo set di servizi: ricerca, creazione di report, esecuzione di query e così via | No | Sì | Sì |
Modello di sicurezza integrata | No | Sì | Sì |
Aggiornamenti sul posto di dati FILESTREAM | Sì | No | Sì |
Gerarchia di file e directory gestita nel database | No | No | Sì |
Compatibilità delle applicazioni di Windows | Sì | No | Sì |
Accesso relazionale agli attributi dei file | No | No | Sì |
Confronto tra FILESTREAM e Archivio BLOB remoti (Remote BLOB Store, RBS)
Un'altra opzione per l'archiviazione dei dati non strutturati implica l'utilizzo di un Archivio BLOB remoto. Per altre informazioni, vedere Archivio Blob remoto (RBS) (SQL Server).
Ulteriori informazioni
FILESTREAM (SQL Server)
FileTable (SQL Server)
Archivio Blob remoto (RBS) (SQL Server)