Vergleichen von Optionen zum Speichern von Blobs (SQL Server)

Gilt für:SQL Server

Erläutert und vergleicht die Optionen, die zum Speichern von Dateien und Dokumenten in SQL Server verfügbar sind.

Speichern von Dateien in der Datenbank – Vorteile und Erwartungen

Ein großer Prozentsatz der Unternehmensdaten ist unstrukturiert und wird in der Regel als Dateien und Dokumente in Dateisystemen gespeichert. Der Großteil dieser Daten wird von Anwendungen generiert, verwaltet und benötigt, die über Windows-APIs auf die Dateien zugreifen. Unternehmen speichern diese Daten in der Regel im Dateisystem, wohingegen die verwandten Metadaten für die Dateien in einer relationalen Datenbank gespeichert werden.

Die Integration unstrukturierter Daten in die relationale Datenbank bietet die folgenden Vorteile:

  • Integrierte Speicher- und Datenverwaltungsfunktionen, z. B. Sicherungen.
  • Integrierte Dienste, z. B. Volltextsuche und semantische Suche über Daten und Metadaten.
  • Einfache Administration und Richtlinienverwaltung der unstrukturierten Daten.

Es war generell jedoch nicht zweckdienlich, unstrukturierte Daten in einer relationalen Datenbank zu speichern. Das erneute Schreiben etablierter Anwendungen (z.B. Microsoft Word oder Adobe Reader) zur Interaktion über relationale Datenbank-APIs hat sich nicht als praktisch erwiesen. Bei diesen Anwendungen wird erwartet, dass über Windows-APIs auf die Daten zugegriffen werden kann. Für die Anwendungen bestehen die folgenden Erwartungen:

  • Für Windows-Anwendungen sind keine Datenbanktransaktionen erforderlich, und diese werden nicht berücksichtigt.
  • Windows-Anwendungen erfordern für Datei- und Verzeichnisdaten Kompatibilität mit Dateisystem-APIs.

Vor vielen Jahren gab es in SQL Server keine Möglichkeit, unstrukturierte Daten in einer relationalen Datenbank zu speichern. Heute gibt es in SQL Server jedoch Möglichkeiten, unstrukturierte Daten zu speichern.

FILESTREAM

SQL Server verfügt bereits über das FILESTREAM-Feature. Das FILESTREAM-Feature ermöglicht ein effizientes Speichern, Verwalten und Streamen unstrukturierter Daten, die als Dateien im Dateisystem gespeichert sind. Bei einer FILESTREAM-Lösung ist jedoch die benutzerdefinierte Programmierung erforderlich. Sie wird der oben beschriebenen Anforderung im Hinblick auf vollständige Windows-Anwendungskompatibilität nicht gerecht.

FileTables

Das FileTable-Feature basiert auf den vorhandenen FILESTREAM-Funktionen. Mit dem Feature "FileTable" können Unternehmenskunden unstrukturierte Dateidaten und Verzeichnishierarchien in einer SQL Server-Datenbank speichern. Das Feature richtet sich dabei an die Anforderungen für nicht transaktionalen Zugriff und die Kompatibilität von Windows-Anwendung mit dateibasierten Daten.

Vergleichen von FILESTREAM und FileTable

Feature Dateiserver und Datenbanklösung FILESTREAM-Lösung FileTable-Lösung
Einzelne Story für Verwaltungstasks Nein Ja Ja
Einzelner Satz von Diensten: Suche, Berichterstellung, Abfrage usw. Nein Ja Ja
Integriertes Sicherheitsmodell Nein Ja Ja
Direkte Updates der FILESTREAM-Daten Ja Nein Ja
In der Datenbank beibehaltene Datei- und Verzeichnishierarchie Nein Nein Ja
Windows-Anwendungskompatibilität Ja Nein Ja
Relationaler Zugriff auf Dateiattribute Nein Nein Ja

Vergleichen von FILESTREAM und Remote BLOB-Speicher (RBS)

Eine weitere Option für das Speichern unstrukturierter Daten schließt einen Remote Blob Store (RBS) ein. Weitere Informationen finden Sie unter Remote Blob Store (RBS) (SQL Server).

Weitere Informationen

FILESTREAM (SQL Server)
FileTables (SQL Server)
Remote Blob Store (RBS) (SQL Server)