SharePoint Remote-BLOB-Storage : Teil 1 – Allgemeines

Die folgende Artikelserie befasst sich mit dem Thema Remote--Storage in Zusammenhang mit dem Server. Damit die Übersichtlichkeit gewährleistet ist, sind die Unterthemen über mehrere Artikel verteilt. Im ersten Teil geht es um den Vergleich von Remote Storage und dem allgmein. Zusätzlich gibt es noch ein paar Informationen über den Maintainer.

BLOB steht für Binary Large Object oder auf Deutsch: großes binäres Objekt. Meist fällt der Begriff in Zusammenhang mit Datenbanken und großen binären Objekten wie Bild- und Audiodateien. Es können natürlich auch noch andere, in einer Datenbank gespeicherte Binärdateien, sein. Im SharePoint kann dies, außer auf die Bild- und Videodateien, zusätzlich auch auf große Dateien aus Office und auf PDFs zutreffen.

Da SharePoint hauptsächlich für die Arbeit mit Dokumenten entworfen wurde, speichert es standardmäßig die BLOBs (großen Binärdateien) natürlich erst einmal in der
Content-DB (Inhaltsdatenbank). Manchmal muss das nicht unbedingt sein und man könnte zum einen den Datenverkehr zur Datenbank verringern und zum anderen auch die Performance erhöhen, wenn man bestimmte Dateien (BLOBs) außerhalb der Datenbank speichern würde. Diese Art externer Speicherung wird als Remote-BLOB-Speicher (RBS) bezeichnet.

Natürlich können Sie die Leistung durch blinde Optimierungsversuche auch verschlechtern. Das hängt immer davon ab, wie gut Ihre Hardware ausgestattet ist und wie Sie den RBS konfigurieren.

RBS gibt es als eigenständiges Packet im Microsoft SQL Feature Pack ab Microsoft SQL Server 2008.

Mithilfe eines Anbieters (unterstützte Anbieter von Drittherstellern oder RBS Filestream-Anbieter) wird auf die BLOB-Daten zugegriffen. Den RBS Filestream-Anbieter erhalten Sie über das SQL Server RBS-Installationspaket, enthalten im Feature Pack für SQL Server. Der RBS Filestreamanbieter ist zuständig für das Speichern der Daten lokal auf dem Server und der Verwaltung der Daten (Links) in der Datenbank.

 

BLOB und Remote BLOB Storage

Was ist ein BLOB und was ist dann der Remote BLOB Storage? Ich möchte kurz und knapp noch darauf eingehen, da es für das Verständnis von Vorteil ist.

Normalweise werden Daten aus dem SharePoint in der Inhaltsdatenbank wie folgt gespeichert:

Datenspeicherung im SharePoint

Für große Daten pro Datenbankzeile ist das etwas ungünstig und die Performance leidet. Deshalb hat man den BLOB entwickelt. Der BLOB ist nun ein Zeiger (Pointer), der an Stelle der großen Datei, in der Datenbank gespeichert wird. Dieser Zeiger zeigt also auf den Speicherort des binären Objekts, den BLOB Speicher.

BLOB-Speicher

Bis SQL Server 2005 war der BLOB Speicher in der Datenbank. Ab SQL Server 2008 gibt es den File Stream Provider. Damit hat Microsoft die Möglichkeit geschaffen, den BLOB Speicher aus der Datenbank auszulagern. Dies nennt sich dann Remote BLOB Storage!

Remote BLOB Storage (RBS)

Es besteht also die Möglichkeit den RBS direkt in die Datenbank zu legen oder auch extern auf eine lokale Platte/ISCSI-Laufwerk auf dem SQL Server. Die Speicherung auf einem Netzlaufwerk ist mit den Bordmitteln nicht möglich. Dazu wird dann ein Provider von einem Drittanbieter benötigt.

 

RBS Maintainer

Der RBS Maintainer ist ein kleines Tool, das nach der RBS Installation mit zur Verfügung steht und dafür verantwortlich ist, dass die Daten im RBS auch ordentlich verwaltet werden. Dazu gehört auch, dass sie nach dem Löschen aus SharePoint auch aus dem RBS verschwinden. Er übernimmt also Wartungsaufgaben wie bspw. die automatische Speicherbereinigung oder auch Garbage Collection genannt. Diese Bereinigung erfolgt in den drei Schritten Referenzscan, Löschweitergabe und Bereinigung verwaister Dateien.
Beim Referenzscan werden die Einträge in RBS-Tabellen mit denen in den internen RBS-Tabellen verglichen und ungültige BLOB-Verweise werden zum Löschen markiert. Bei der Löschweitergabe wird dann geprüft, bei welchen BLOBs der Löschzeitraum das Zeitfenster, also den Wert von garbage_collection_time_window, übersteigt. Diese BLOBs werden dann aus dem BLOB-Speicher entfernt. Im letzten Schritt wird noch der Inhalt der RBS-Tabellen mit dem BLOB-Speicher verglichen. Was in den RBS-Tabellen nicht mehr vorhanden ist, wird entfernt.

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.