Reiner Ganser

Reiner Ganser
25.10.2009
0 Kommentar(e)

SharePoint 2010 bietet eine neue Möglichkeit, BLOB Daten nicht in der Inhaltsdatenbank, sondern in externen Ablegen zu speichern. In Zusammenhang mit SQL Server 2008 R2 und SharePoint 2010 kann nun der sog. Remote Blog Storage (RBS) genutzt werden. Es wird spannend, wie schnell es Lösungen für diese Art der Spoeicherung geben wird. Srini Acharya und Burzin Patel von Microsoft haben die neue Schnittstelle vorgestellt.

Bereits seit dem Service Pack 1 von WSS 3.0/MOSS 2007 gibt es die Möglichkeit, BLOB (Binäre Daten, wie z.B. Dokumente) in einer externen Ablage abzulegen (EBS: External Blob Storage). Diese Möglichkeit wurde jedoch wegen der vielen Limitationen und unzureichender Dokumentation so gut wie nirgends eingesetzt. Auch die Dritthersteller (wie z.B. Anbieter von Archivierungslösungen) haben diese Möglichkeit nicht genutzt. Dies könnte sich mit SharePoint 2010 dramatisch ändern. Hier kann in Zusammenhang mit SQL Server 2008 R2 und SharePoint 2010 der sog. Remote Blog Storage (RBS) genutzt werden. Daten werden dann nicht mehr in der Inhaltsdatenbank von SharePoint abgelegt, sondern in einer externen Ablage. Es wird spannend, wie schnell es Lösungen für diese Art der Spoeicherung geben wird. Srini Acharya und Burzin Patel von Microsoft haben die neue Schnittstelle vorgestellt.
 
·         BLOB Daten in WSS 3.0/MOSS 2007
·         BLOB: Binary Large Objects
·         BLOB ist der Datenstream, welcher assoziiert ist mit einer Datei
o    In MOSS 2007 sind Metadaten und Blob in einer SQL Datenbank (Inhaltsdatenbank)
o    BLOBs werden nicht in Abfrage Operationen berücksichtigt (CAML Queries)
o    Beispiele für Operationen: Get, Put, Read Range
·         Betrachtung des BLOB Speichers ist deshalb wichtig, weil viele SharePoint Installation Dateibasiert sind (Dokument Bibliothek)
·         BLOB Mechanismus in aktueller Version: Metadaten und BLOB werden in der Inhaltsdatenbank abgespeichert

 
·         Probleme mit BLOB in aktueller Version
·         SQL Server Speicherplatz ist meistens erheblich teurer als z.B. SAN
·         Die Performance leidet,l da SQL Server mehr zu tun hat
·         Längere Backup/Restore Zeiten
·         Höhere Anforderungen an die Verwaltung
·         => Remote BLOB Storage (RBS) löst diese Probleme: Dokumente liegen auf einem externen Speichersystem
·         Was ist RBS?

 
·         Ein herunterladbare, Add-In Komponente, die in einer SharePoint 2010 Farm registriert werden kann
·         Externer Speicherort für alle BLOB Daten, einer Inhaltsdatenbank die für die externe Speicherung gekennzeichnet wurden
·         Es existiert eine Provider API -> Storage Anbieter müssen diese Schnittstelle implementieren -> Wechsel zwischen Storage Anbietern ist möglich
·         RBS Maintainer: Management Komponenten
·         RBS versus EBS (External BLOB Storage)
·         EBS wird unterstützt in SharePoint 2010, ist jedoch auf der Liste der abgekündigten Funktionen -> wird also verschwinden
·         SharePoint 2010 wird SQL Remote Storage (SQL 2008 R2) einführen
o    EBS nach RBS Migration wird durch PowerShell Skripte möglich sein
·         RBS Vorteile gegenüber EBS

 

Feature
EBS
RBS
Interface
Unmanaged
Managed
BLOB Store Scope
Farm
Content DB
Configurable Maintainer
No
Yes
SharePoint UI
None
PowerShell
Number of Providers
1
Many
Migration
Custom
PowerShell

 

·         RBS Funtionalitäten
·         Managed Interface (Kann .NET umgesetzt werden, kein C++ notwendig)
·         Blob Storage Scope ist die Inhaltsdatenbank
·         Konfigurierbare Verwaltungssoftware ist unterstützt
·         SharePoint UI mit Hilfe von PowerShell
·         Mehrere Provider sind möglich
·         Migrationskommandos sind in PowerShell verfügbar (z.B. Verschieben von Daten im SQL Server in den RBS)
·         Warum sollte RBS genutzt werden?
·         Kosteneinsparung
·         Optimierung der Management Kosten
·         Nutzung der erweiterten Möglkichkeiten zur Verwaltung, welche die Storage Anbieter verfügbar machen
·         Hierarchisches Storage Management (z.B. Festplatten in der ersten Stufe und Archivierung in der 2. Stufe)
·         Storage Anbieter EMC; AvePoiint; OpenText; Commvault; NetApp. Weitere sollen bei Release von SharePoint 2010 hinzugekommen sein
·         Wie arbeitet RBS
·         RBS ist eine Komponente, die im SQL Server R2 Feature Pack heruntergeladen werden kann
·         Bietet 3 Möglichkeiten für die Interaktion an
o    Anwendnungs Ansicht: Interagiert mit SharePoint WFE, Provider Bibliothek, SQL Datenbank. Ist für den Benutzer transparent.
o    Administrator Ansicht: PowerShell Commandslets: Installation, Konfigurations, Provisionierung, RBS Maintainer usw.
o    Anbieter Ansicht: Definiert eine Schnittstelle, die von jedem BLOB Speichert Anbieter umgesetzt werden sollte
·         Typischer RBS Workflow
·         Speichern eines Dokumentes: Save Request -> Save BLOB -> Write BLOB -> Return BLOB-Id -> Save Metadata & BLOB ID

 
·         Lesen eines Dokumentes: Öffnen Dokument Request -> Business Logik läuft ab -> BLOB-Id holen -> BLOB lesen -> BLOB zurückliefern
 
 
Demo:
·         Dokumentbibliothek soll RBS nutzen
·         Zuvor muss der RBS registriert werden und dann muss dieser aktiviert werden
·         Dokumente, die im RBS liegen sind transparent für die Anwendung (SharePoint 2010)
·         Wie wird RBS mit SharePoint ninstalliert
·         RBS Add-In muss zuerst auf SQL Server 2008 R2 installiert werden
·         RBS und Provider DLLs müssen auf allen WFEs installiert werden
o    Ob die Installation geklappt hat, steht in den ULS Logs von SharePoint
o    Ein anschliessender Test in der Farm ist anzuraten
·         RBS muss via PowerShell aktiviert werden
·         Wie wird RBS konfiguriert?
·         PowerShell Commandlets:
o    Enale/Disable:
o    GetProviderNames: Liste aller registrierten Provider. Registrierte Provider werden in der Konfigurationsdatenbank verwaltet
o    SetActiveProvider: Definiert den aktiven Provider/Blog Store pro Inhaltsdatenbank
·         Wie können BLOB Daten aus SQL Server in den RBS migriert werden?
·         PowerShell Commandlet - Migrate
o    Verschiebt BLOBs vom aktuellen Speicherplatz in den aktuell aktiven RBS Provider Speicher.
o    Does deep copy of BLOBs – ein BLOB nach den anderen
o    Live Migration – keine Downtime notwendig
o    Migrationsprozess kann abgesbrochen und neu gestartet werden
o    Ein Wechsel Provioders kann erfolgen, indme man zurück auf SQL Server migriert, den Provider umhängt und die Migration von SQL Server zum neuen Provider durchführt!!!!
·         Migrate kann auch für die Migration von EBS nach RBS genutzt werden
·         RBS Maintainer
·         Separater Prozess, installiert auf dem DB Server oder WFE
o    Macht Garbage collection und Verwaltungsaufgaben
·         Kann zeitgesteuert werden
·         Kümmert sich um die Retention Policy: Lockt gelöscht Blobs. Diese können noch eine gewisse Zeit vorhanden sein, bevor sie vom Maintainer erfasst werden
·         Backup/Restore
·         Reihenfolge beim Backup: Backup startet -> SQL Backup -> BLOB Store Backup
·         Reihenfolge beim Restore:Restore startet -> Restore BLOB Store -> Restore SQL
·         Unterstützte Methoden
o    OM backup
o    PRIME
o    SQL Backup nur Metadaten
o    Site Move werden nicht unterstützt
·         RBS Performamceeinfluss
·         RBS API's fügen wenig oder keinen Overhead hinzu

 
### rbs performance
·         Folgender Performanceeinfluss wird vermutet:
o    Durchsatz: 5 bis 10% Einbusse
o    Durchschnittliche Antwortzeiten: Einfluss sollte geringer sein, sobald die Dateigrösse zunimmt
o    SQL Server CPU Usage: 20% für kleine Dateien minimaler Einfluss bei grossen Dateien
·         RBS Anbietreanforderungen
·         Benötigt
o    Implementieren der RBS Schnittstelle
o    Möglichkeit von mehrere Instanzen von Providern
o    Garantierte Persistenz der BLOBs
o    Garantieren Link-Level Konsistenz
·         Wünschenswert
o    Backup, HA und Disaster Recovery Funktionen
o    Vermeidung von duplizierten Daten
·         Welche Versionen sind unterstützt

 

 
SQL Server 2008
SQL Server 2008 R2
RBS 2008
Nicht unterstützt
Nicht unterstützt
RBS 2008 R2 mit FILESTREAM Provider
unterstützt
unterstützt

 

o    RBS als Downloadbare Komponente ist zusammen mit dem Release von SQL Server 2008 R2 verfügbar: Release Datum abgeglichen mit SharePoint 2010
CTP Release of RBS: Released mit SQL Server 2008 R2, verfügbar etwa um den 9. Nov. 2009
Lzneztierung: Installieren von SharePoint und RBS erfordert SQL Server Enterprise Version !!!
 
Fragen:
·         Welches Protokoll wird verwendet, um die Daten zuspeichern? Kann das native Protokoll der Ablage verwendet werden. Anscheinend läuft die Kommunikation nach wie vor über HTTP bzw. WebDAV. Muss aber noch mal genauer verifiziert werden.
 
·         Weitere Infos unter: http://blogs.msdn.com/sqlrbs
 
·         Fazit
·         Sehr gute Option, um Daten zu speichern
·         Reduziert die Datenbbanken auf SQL Server Seite
·         Vor allem Interessant für grosse Dateien, wie z.B. Videos, Zeichnungen usw.
·         Wird jedoch nur Kunden interessant sein, die auch die Enterprise Version von SQL Server einsetzen
 

Kommentar hinterlassen

Kommentar(e)

Noch keine Kommentare.