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
In SQL Server gibt es das FILESTREAM-Feature bereits. 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. Das Dateitabellen-Feature ermöglicht Unternehmenskunden, unstrukturierte Dateidaten sowie Verzeichnishierarchien in einer SQL Server-Datenbank zu 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
Funktion | Dateiserver und Datenbanklösung | FILESTREAM-Lösung | FileTable-Lösung |
---|---|---|---|
Einzelne Story für Verwaltungstasks | No | Ja | Ja |
Einzelner Satz von Diensten: Suche, Berichterstellung, Abfrage usw. | No | Ja | Ja |
Integriertes Sicherheitsmodell | No | Ja | Ja |
Direkte Updates der FILESTREAM-Daten | Ja | Keine | Ja |
In der Datenbank beibehaltene Datei- und Verzeichnishierarchie | No | Nein | Ja |
Windows-Anwendungskompatibilität | Ja | Keine | Ja |
Relationaler Zugriff auf Dateiattribute | No | 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)