Vergleichen von Optionen zum Speichern von Blobs (SQL Server)
Erläutert und vergleicht die Optionen, die zum Speichern von Dateien und Dokumenten in SQL Server verfügbar sind.
In diesem Thema
Speichern von Dateien in der Datenbank – Vorteile und Erwartungen
FILESTREAM
FileTables
Vergleichen von FILESTREAM und FileTable
Vergleichen von FILESTREAM und Remote BLOB-Speicher (RBS)
Weitere Informationen
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 bedeutende Vorteile. Dazu gehören folgende 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 weitestgehend jedoch nicht zweckdienlich, solch unstrukturierte Daten in einer relationalen Datenbank zu speichern. Es war zuvor nicht möglich, vorhandene, auf Windows basierende Anwendungen auf relationalen Systemen auszuführen. Das erneute Schreiben etablierter Anwendungen (z. B. Microsoft Word oder Adobe Reader) zur Ausführung auf relationalen Datenbank-APIs ist nicht praktisch. Bei diesen Anwendungen wird einfach erwartet, dass über Windows-APIs auf die Daten zugegriffen werden kann. Anders ausgedrückt umfassen die Erwartungen Folgendes:
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.
[NACH OBEN]
FILESTREAM
SQL Server verfügt bereits über die FILESTREAM-Funktion, die ein effizientes Speichern, Verwalten und Streamen unstrukturierter Daten ermöglicht, 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.
[NACH OBEN]
FileTables
Die FileTable-Funktion beruht auf vorhandenen FILESTREAM-Funktionen, über die Unternehmenskunden, unstrukturierte Dateidaten und Verzeichnishierarchien in einer SQL Server-Datenbank speichern können, indem die Anforderungen für nicht transaktionalen Zugriff und Windows-Anwendungskompatibilität für dateibasierte Daten erfüllt werden.
[NACH OBEN]
Vergleichen von FILESTREAM und FileTable
Funktion |
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 |
[NACH OBEN]
Vergleichen von FILESTREAM und Remote BLOB-Speicher (RBS)
Einen Vergleich dieser beiden Funktionen finden Sie in diesem Blogbeitrag vom RBS-Team: SQL Server Remote BLOB-Speicher und FILESTREAM-Funktion – Vergleich.
[NACH OBEN]
Weitere Informationen
[NACH OBEN]