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
Singolo set di servizi: ricerca, creazione di report, esecuzione di query e così via No
Modello di sicurezza integrata No
Aggiornamenti sul posto di dati FILESTREAM No
Gerarchia di file e directory gestita nel database No No
Compatibilità delle applicazioni di Windows No
Accesso relazionale agli attributi dei file No No

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)