Microsoft SharePoint 2010: Optimieren von SharePoint mit RBS

Remote BLOB Storage (RBS) können SharePoint-Funktionalität und Leistung verbessern.

Iqbal Khan

Organisationen aller Größen verwenden Microsoft SharePoint als Dokumenten-Management und Repository-System, unter anderem. SharePoint ist daher eine große Anzahl von Dokumenten, mit Zahlen, die oft bis in die Millionen speichern.

SharePoint speichert alle Dokumente in der SQL Server-Datenbank als Binary Large Objects (BLOBs). Wie andere relationalen Datenbanken war nicht SQL Server zum Speichern von BLOBs dieser Größenordnung konzipiert. Als Folge kann es auf verschiedenen Ebenen ersticken. Dies beeinträchtigt die Leistung von SharePoint und Datenbankverwaltung schmerzhaft macht.

Um dieses Problem zu beheben, hat Microsoft einen COM-basierten externen BLOB Storage (EBS)-Providermodell in SharePoint 2007 eingeführt. EBS können Sie BLOBs auf externen Speicher auslagern und erheblich die Größe der Datenbank reduzieren. Dieses Problem gelöst, das Problem des Datenbank-Größe, aber keine Native.NET-Anbieter hatte Performance-Overhead und war keine "saubere"Integration mit SharePoint. Also, diese Lösung war nicht wirklich abgeschlossen betrachtet.

In SQL Server 2008 R2 und SharePoint 2010 hat Microsoft eine Native.NET-basierten Remote BLOB Storage (RBS)-Schnittstelle als Ersatz für EBS. RBS hilft auch SharePoint 2010 Datenbankgröße deutlich reduzieren. Dies geschieht durch die Verschiebung der alle BLOBs aus der SharePoint-Inhaltsdatenbank in einer benutzerdefinierten externen Speicher. Stubs und Metadaten für diese BLOBs sind noch in der Inhaltsdatenbank gespeichert. Als Ergebnis glaubt SharePoint immer noch diese BLOBs sind Bestandteil von SharePoint und können darauf zugreifen, die gleiche Weise. Benutzer fühlen keinen Unterschied, da alle BLOBs in der Inhaltsdatenbank noch logisch sind.

Jetzt hat Microsoft eine Standardimplementierung der RBS Filestream aufgerufen zur Verfügung gestellt. Dies ist recht einfach und nicht bieten viel Flexibilität für ernsthafte SharePoint Benutzer. Obwohl es BLOBs auslagern, es nicht lassen Sie Filter für die BLOBs zu entlasten und welche in der Datenbank zu halten. Sie am Ende alle BLOBs Verschiebung, ob Sie oder nicht bedeuten. Auch, es nicht lassen Sie einen Remotespeicherort angeben und speichert BLOBs nur in einem lokalen Speicher auf dem SQL Server-Computer. Es hat auch keine Administration oder monitoring-Tools.

Wenn Sie einen leicht ernsten SharePoint-Benutzer sind, sollten Sie viel mehr Kontrolle und Flexibilität über BLOB-Handhabung und Lagerung. Es gibt einige recht ordentlich Drittanbieter-Implementierungen der RBS, die perfekt funktionieren und SharePoint Datenbank Größe Fragen. Sie müssen sicherstellen, dass alle Drittanbieter-Implementierung, die Sie verwenden ist 100 Prozent native.NET und kein Patchwork von Java und.NET, die Kompatibilitätsprobleme verursachen kann.

Ein Vorteil des Anbietermodells RBS ist wie es SharePoint für Drittanbieter mehr Funktionen durch ihre RBS-Implementierungen hinzufügen geöffnet hat. Jeder Implementierung einen RBS-Anbieter hat die Kontrolle über dem BLOBs gespeichert sind. Sie können dieses Steuerelement verwenden, um SharePoint-Benutzer mehr BLOB-bezogene Funktionen über die Größe der Datenbank reduziert und die Leistung zu geben. In diesem Zusammenhang gibt es vier Hauptbereiche von SharePoint Erweiterungen:

  • Reduzierung der Speicherkosten durch Multi-Tier-BLOB-Speicher
  • Archivierung und Aufbewahrung von BLOBs für Compliance-Zwecke
  • Nicht-SharePoint-Dokumentbibliotheken in SharePoint verknüpfen
  • Aufnahme im Arbeitsspeicher Zwischenspeichern von BLOB

Multi-Tier-Speicher

Einer der Hauptvorteile von RBS ist die Fähigkeit zum Speichern von BLOBs in mehrere Speicher-Tiers alle an einem Ort statt. Dadurch wird Speicherplatz erheblich reduzieren. Ohne RBS bleiben alle BLOBs in der SQL Server-Datenbank. Auch RBS Filestream verwendet SQL Server für BLOB-Speicher. Dieser zentrale Speicher ist in der Regel etwas ziemlich teuer, wie z. B. ein SAN/NAS-Festplatte.

BLOBs machen in der Regel rund 90 Prozent aller Daten in SharePoint, und Sie nicht brauchen häufig Zugriff auf alle von ihnen. Also wenn alle BLOBs in eine teure SAN/NAS-Festplatten-Array trotz nur erfordern selten verweisen auf gespeichert sind, Sie am Ende Ausgaben eine Menge an Speicher, die ineffizient verwendet wird.

Eine vernünftigere Strategie wäre nur die neuen und aktiven Dokumente (BLOBs) in teure Speicher zu speichern, da Benutzer diese häufiger und schnell zugreifen müssen. Sie können den Rest der älteren und weniger häufig verwendeten BLOBs in billiger Speicher-Tiers speichern. Dies bedeutet, dass Sie nicht brauchen große Mengen an teure Speicher. Reduzieren Sie Ihre teure Speicherkapazität können und weniger teure Speicher verwenden, um den Rest der Speicher-Belastung zu behandeln.

Ein Beispiel für Multi-Tier-Speicher ist, wo Sie neue aktive Dokumente in eine teure SAN Disk gespeichert haben. Dann haben Sie einen normale Datei-Server als zweite Stufe und Cloud-Speicher für die dritte Stufe. SAN ist die schnellste und teuerste. Cloud ist die langsamste und die billigsten und einem Dateiserver liegt irgendwo dazwischen. Als Ergebnis haben Sie Ihre gesamten Speicherkosten gesenkt. So viel wie 80 bis 85 Prozent von Ihrem BLOBs werden jetzt nicht mehr auf teure SAN-Speicher gehalten. Sie nicht brauchen häufig Zugriff und müssen daher nicht wie SAN hochverfügbaren, hochleistungsfähigen Speicher.

Jetzt haben Sie Multi-Tier-Speicher, ist die nächste Frage die BLOBs zum Speichern in die Speicher-Tiers zu bestimmen. Sie bestimmen das an mehreren Punkten basierend auf intelligenten Kriterien. Sie bestimmen einen BLOB den Speicherort beim ersten erstellt (oder ähnlich, wenn es ist zuerst ausgelagert aus der SQL Server-Datenbank). Dann Sie in regelmäßigen Abständen überprüfen und bestimmen, wie alt ein BLOB geworden und wie häufig sie verwendet wird.

Dies ist, wo einige RBS-Anbieter geben Ihnen die Möglichkeit, BLOB Filter. Es gibt in der Regel einen oder mehrere BLOB Filter einer Speicherkategorie zugeordnet. Diese zeigen, dass nur diese Zuordnungsfilter BLOBs auf einen bestimmten Speicher-Tier gespeichert werden sollen. Alle anderen BLOBs sollte gegen andere Speicher-Tiers ausgewertet und wo das entsprechende BLOB Filter Spiel gespeichert werden.

Wenn ein BLOB keine Speicherebene BLOB Filter übereinstimmt, können Sie es in der SQL Server-Inhaltsdatenbank speichern. BLOB Filter enthalten in der Regel Dokumentname, Größe, Alter, Autor und auch Content-Type. Sie können diese Filter basieren, auf benutzerdefinierte Meta-Tags, die Sie hinzugefügt haben oder Dateityp (z. B. Autoren, Künstler, Album und So weiter).

Einige RBS-Anbieter können Sie Filter für vorhandene BLOB-Speicher zu ändern. Sie werden automatisch zu korrigieren, die BLOBs und verschieben Sie sie in einem Speicher-Tier zu einem anderen basierend auf den neuen BLOB Filter. Andere RBS-Anbieter bewerten BLOB Filter nur zum Zeitpunkt der Erstellung.

Für die periodische Überprüfung, einige RBS-Anbieter verwenden Alters-, Version oder Nutzung-basierte Archivierung. Eine SharePoint-Aufgabe läuft im Hintergrund und prüft alle BLOBs für Alter, Version und Verwendung Muster. Obwohl Alter und Version Informationen innerhalb der SharePoint-Inhaltsdatenbank gespeichert werden, wird Muster Informationen zur Verwendung von der RBS-Anbieter in separaten Tabellen oder in einer Datenbank verwaltet.

Wenn eine ältere BLOB oder ein Dokument plötzlich populär und häufiger Zugang, einige erfordert (nicht alle) von diesen RBS Anbieter verschiebt automatisch das BLOB wieder teurer Speicher basierend auf der Verwendung. Auf diese Weise wird nicht alles auf Leistung verlieren. Je teurer der Speicher ist, desto schneller die Antwortzeit. In der Regel, desto weniger teuer ist die Lagerung, desto langsamer die Reaktionszeit.

Archivierung BLOBs

Ein weiterer wichtiger Faktor ist die Fähigkeit zu archivieren und bestimmte Dokumente und BLOBs in einer separaten Datei für einen bestimmten Zeitraum beibehalten und dann haben sie von SharePoint automatisch gelöscht.

BLOBs-Archivierung für Compliance-Zwecke stellt sicher, dass sie von jedem Benutzer von SharePoint nicht versehentlich gelöscht werden. Viele RBS-Anbieter haben keine BLOB-Speicherung. Sie verwenden das Wort "Archiv" zu verschieben BLOBs von einem Speicher-Tier zum anderen bedeuten. Aber einige RBS-Anbieter haben BLOB Archivierungsfunktionen.

In vielen Situationen müssen Sie Dokumente, die Sie für einen bestimmten Zeitraum beibehalten müssen Zeit entweder für Rechts- oder Compliance aus politischen Gründen. Viele Branchen beibehalten z. B. Verträge und Vereinbarungen für einen Fünf-Jahres-Zeitraum. Einhaltung ist beliebt in Finanz-, Versicherungs- und andere ähnliche Branchen. Dies könnte, gilt jedoch für fast jedes Unternehmen.

In diesen Situationen Kompatibilität müssen Sie eine Möglichkeit, eine Kopie des Dokuments getrennt zu halten. So, auch wenn es von SharePoint gelöscht wird, können Sie es aus der Aufbewahrung Archiv wiederherstellen. Selbst wenn ein Benutzer versucht, ein solches Dokument zu löschen, müssen Sie eine erhaltene Kopie davon für eine Reihe von Jahren für die Einhaltung der gesetzlichen Vorschriften oder Unternehmen aus politischen Gründen.

Gründe kann es andere Compliance, die erfordern bestimmte Dokumente nach einer bestimmten Zeit automatisch gelöscht. Zum Beispiel kann es finanzielle Informationen, die Sie nicht aus rechtlichen Gründen behalten möchten. Diese Dokumente können automatisch auf der Grundlage von bestehenden Regeln gelöscht werden.

Alle RBS-Anbieter, die Ihnen gibt Aufbewahrung Archivierung ermöglicht Ihnen getrennte Lagerung, die ein Archiv in erster Linie für die Beibehaltung von Dokumenten ist. Dieses Archiv ist für alle regulären SharePoint offline. Es ist jedoch nicht wirklich offline, aber ziemlich regelmäßig Zugang geschützt. Nur können Sie als SharePoint-Administrator eine solche Aufbewahrung-Archiv zugreifen.

Nun, nicht alle SharePoint-Dokumente in ein Archiv Aufbewahrung setzen möchten. Das ist, warum ein guter RBS-Anbieter sollte Ihnen die Möglichkeit, Filter für welche Dokumente zu zulegen Aufbewahrung Archiv anzugeben. Diese Filter könnte auf den Dokumentnamen, Dokumenterweiterung, Dokumentgröße, Inhaltstyp, Besitz und mehr beruhen. Die Idee ist es, Ihnen echte Kontrolle über angeben welche Unterlagen Sie archivieren möchten.

Nicht - SharePoint-Dokumentbibliotheken

Sie nicht-SharePoint-Dokumentbibliotheken können praktisch jede Sorte sein — von einer einfachen Dateifreigabe zu anderen Dokumenten-Management-Systemen. Sie können diese Dokumente in SharePoint effizient verknüpfen. Der SharePoint-Crawler indexiert, so dass Sie und andere SharePoint-Benutzer suchen, suchen, öffnen, lesen und bearbeiten ein Dokuments.

Diese Funktion existiert nicht normalerweise in SharePoint. Indem Sie einen RBS-Anbieter, hat man sofort diese Turbo Funktion wo können Sie SharePoint zu teilen und Zugriff auf Dokumente, die SharePoint-Dokumente nicht.

In den meisten mittleren und großen Unternehmen ist SharePoint nicht das einzige Dokument-Management-System. Auch wenn einige Abteilungen oder Unternehmensbereichen in SharePoint verschieben, werden nicht alle auf einmal bewegen. Sie haben eine Situation, wo es gibt Dokumente in verschiedenen anderen Dokumenten-Management-Systemen, und die Besitzer dieser Dokumenten-Management-Systeme sind noch nicht bereit, alles zu SharePoint wechseln.

SharePoint-Benutzer würde gerne diese Dokumente in SharePoint zugreifen können. Die Alternative ist, haben Ihre SharePoint-Benutzer separat auf jedes Dokument-Management-System einloggen, suchen die Dokumente zum Bearbeiten öffnen und unabhängig sie ein-und Auschecken.  Dies ist sehr unbequem, gelinde gesagt.

Ein bequemer Weg ist alles innerhalb SharePoint zugegriffen haben. Auch wenn die Dokumente von einem anderen Dokument-Management-System gehören, können Sie sie mit SharePoint zugreifen. RBS-Anbieter führen Sie diesen Vorgang durch Tricks SharePoint in das Denken dieser externen oder nicht-SharePoint-Dokumentbibliotheken sind Bestandteil von SharePoint.

RBS-Anbieter können Sie die Speicherorte dieser externen Dokument Bibliotheken angeben. Dann durchlaufen diese Dokumente und Metadaten für jedes Dokument in SharePoint erstellen. RBS-Anbieter stellen dann SharePoint denke dies sind SharePoint-Dokumente, aber das eigentliche Dokument BLOB im externen Speicher gespeichert ist.

Wenn der SharePoint-Crawler alle Dokumente basierend auf Schlüsselwörtern indiziert, findet es auch diese Dokumente als normale SharePoint-Dokumente (soweit die Metadaten betrifft). Das ist, warum der Crawler können sie wie alle anderen SharePoint-Dokumente indizieren.

Als SharePoint-Benutzer SharePoint durchsuchen, finden sie diese Dokumente sowie. SharePoint-Benutzer können die Dokumente lesen oder Bearbeiten öffnen, dann können Sie sie zurück. Was sie werden nicht wissen ist, dass wenn sie sie überprüfen zurück in das aktualisierte Dokument zurück an den ursprünglichen Speicherort gespeichert ist — diese externen oder nicht-SharePoint-Dokumentbibliotheken.

Änderungen sind auch andere Dokumenten-Management-Systemen zur Verfügung, weil der RBS-Anbieter diese Änderungen an den Speicherort der Quelldateien gespeichert. Es ist in der Lage, dies zu tun, weil der RBS-Anbieter zusätzliche Informationen rund um für alle nicht-SharePoint-Dokumenten, hält so dass es weiß, was mit ihnen zu tun. Diese Dokumentbibliotheken können eine Dateifreigabe, einer Datenbank oder andere benutzerdefinierte Speicher sein.

Ein guter RBS-Anbieter können Sie benutzerdefinierte Austauschbare Speicher für diese nicht-SharePoint-Dokumente implementieren. Wenn Sie bereits ein benutzerdefiniertes Dokument-Management-System, das speichert alle Dokumente in einer Oracle-Datenbank und das Schema der Datenbank kennen, können Sie eine benutzerdefinierte Plug-in für diese externen Speicher implementieren.

Implementieren ein benutzerdefinierten Plug-in in der Regel beinhaltet einige schreiben.NET-Code und registrieren Ihre.NET-Assembly mit SharePoint Web Front-End (WFE) Server. Dieses Plug-in bietet SharePoint die Möglichkeit, Speicher, durchlaufen Auschecken Dokumente einchecken, und holen Dokumente zum Lesen.

Im Arbeitsspeicher Zwischenspeichern von BLOB

RBS-Anbieter können auch im Arbeitsspeicher zwischenspeichern BLOB integrieren. Wenn BLOBs aus der Content-Datenbank, SQL Server-Datenbank oder sogar externe BLOB-Speicher abgerufen werden, sind sie in der WFE-Server im Arbeitsspeicher zwischenspeichern zwischengespeichert. Das nächste Mal, das ein Benutzer dasselbe Dokument will, kann er es vom dieser in-Memory-Cache abgerufen werden. Dies ist oft schneller als werde des BLOB-Speicher. Zwischenspeicherung wird durch die RBS-Anbieter ermöglicht, die die BLOBs kontrollieren.

Sobald Sie im Arbeitsspeicher zwischenspeichern angeschlossen haben, können Sie Zwischenspeichern, BLOBs, SharePoint-Listen und ViewState, als auch die ASP.NET-Sitzungszustand, die SharePoint manchmal verwendet. Caching-Listen und BLOBs deutlich erhöht Ihre Reaktionszeit, weil SharePoint nicht mehr diese teuren Datenbank oder Datenzugriffsseite Speicher Reisen macht. ViewState-Zwischenspeicherung reduziert die Nutzlast von WFE-Server an Ihren Browser zurückgegeben. Dies reduziert den Bandbreitenverbrauch und auch SharePoint Reaktionszeit verbessert – vor allem, wenn Ihre Benutzer über das WAN auf SharePoint zugreifen. Sitzungsstatus zwischenspeichern können Sie replizieren Sitzungsstatus und Vermeidung von Datenverlusten, neben der Verbesserung der Leistung und Skalierbarkeit.

Zwischenspeichern verbessert auch die Skalierbarkeit. Mit Zwischenspeichern, wie Sie weitere Benutzer hinzufügen weiterhin Leistung hoch bleiben. Das ist sonst nicht der Fall. SharePoint ist eine Datenbank-Intensive Anwendung. Es macht so viele Datenbank-Reisen, die, wie Sie erhöhen die Anzahl der Benutzer, die Datenbanklast erhöht.

SharePoint ist eine bemerkenswert wertvolle Plattform. Es ist nicht perfekt, aber durchaus offen für Verbesserung ist. RBS war ursprünglich nur zum Verringern der Datenbankgröße und SharePoint-Leistung verbessern. Allerdings hat es die Tore für eine Vielzahl von Innovation geöffnet.

Iqbal Khan

**Iqbal Khan**ist der Präsident und Technologie Evangelist von Alachisoft (alachisoft.com). Alachisoft stellt NCachePoint und NCache. NCache ist ein beliebtes NCachePoint ist die branchenweit führende SharePoint Leistung und SkalierbarkeitNET verteilten Cache. Sie erreichen Khan in iqbal@alachisoft.com.

Verwandter Inhalt