Erfahrungen und Wissen zu Microsoft Windows SharePoint Services und SharePoint Server.

Beiträge der Kategorie SQL

28 Okt

Speicherung von grossen Datenmengen in SharePoint

Ein Artikel von Andreas Glaser und Michael Pertek, Namics AG, St. Gallen

Die Speicherung von grossen Datenmengen ist zu einem zentralen Entscheidungskriterium bei der Auswahl einer strategischen Plattform für businessrelevante IT Applikationen geworden. Wo liegen meine Daten, wie können diese regelmässig und einfach gesichert (Backup) und im Bedarfsfall wieder hergestellt (Recovery) werden? Am Beispiel eines Patientendossiers für ein Krankenhaus erläutern Andreas Glaser und Michael Pertek wie Speichermechanismen für grosse Datenmengen mit SharePoint interagieren. In dem Artikel werden verschiedene Varianten vorgestellt, wie unstrukturierte Daten gespeichert werden können. Als konkrete Beispiel und Variationen werden angerissen:

* VARBINARY (MAX)-Datentyp
* Filestream
* External BLOB Storages (=EBS)
* Remote BLOB Storages (=RBS)

Anhand von konkreten Anleitungen und Codebeispielen zeigen die Autoren die Anwendungsmöglichkeiten mit den jeweiligen Vor- und Nachteilen und geben eine Ausblick auf herstellerseitige Lösungsansätze, die hoffentlich mit SharePoint 2010 zumindest teilweise realisiert werden.

Der ganze Artikel unter: http://www.namics.com/wissen/hart-am-datenlimit
das passende Whitepaper unter: http://www.namics.com/download/Whitepaper_SharePoint_23Sep08.pdf

12 Nov

WF 4.0, „OSLO“ and „DUBLIN“

David Chappel, Principal von Chappel & Associates rockte wieder einmal mehr das Haus, in dem er der Microsoft-Community das Zusammenspiel von WF, OSLO & DUBLIN vorstellte.

„OSLO“

Als Grundlage für das modellieren von Software Komponenten dient in Zukunft die Definitions-Sprache "M". "M" wurde entwickelt um Software-Modelle zu definieren und auszuführen.

Beispiele für Modelle sind ...

  • Workflows
  • Services
  • Applications (welche Workflows und Services beinhalten können)
  • Business processes

 

Grundlegend besteht "OSLO" aus folgenden Kern-Komponenten ...
  • Repository (Speicherplatz für Modell-Schemas und Instanzen)
  • Modellierungssprache "M"
  • Modellierungs-Tool, Codename Visual Studio "QUADRANT"

 

Nachfolgende Darstellung zeigt das harmonische Zusammenspiel der zuvor genannten Komponenten:

oslo01.jpg

 

Für weitere Informationen dient der aktuelle "OSLO"-SDK welcher unter http://msdn.microsoft.com/en-us/oslo/default.aspx heruntergeladen werden kann. CHECK IT OUT!

Für all diejenigen welche sich unter der Modellierungs-Sprache "M" gar nix vorstellen können, habe ich "natürlich" noch einen Buch-Tip:

The Oslo Modeling Language: Draft Specification - October 2008, aus dem Addison-Wesley Verlag.

ACHTUNG: Bei diesem Buch handelt es sich um eine technische „October 2008 – Draft Specification“, aber die 20 EUR-Investition lohnt sich definitiv und sollte aus meiner Sicht schon ab morgen unter jedem Kopfkissen liegen!!!

 

Workflow Foundation 4.0

Grundlegend werden in Zukunft Workflows als „Models“ definiert (siehe Oslo).

Die Workflow Foundation liefert weiters ein neues „Flowchart“-Template welches das beste aus den beiden bisherigen Template-Welten (Sequential / State-Maschine). Das Resultat mag auf den ersten Blick nicht ganz ersichtlich sein, denoch bietet es mehr Features als das Sequential-Template ... aber dafür nicht so komplex wie das „State-Machine“-Template.

Ribbon meets Visual Studio "Quadrant". Sprich wenn ein Activity in einem Process markiert wird, werden nur noch die Activity relevanten Informationen im Workflow Designer dargestellt, was einer Benutzerrolle "Architect, Business Analyst oder Developer" das Erstellen und Ändern von Workflows erheblich vereinfacht.

Als Beispiel zeigte David Chappel ein einfachen „New Employee Onboarding Process”-Workflow (siehe Abbildung unten).

quadrant.jpg

 

DUBLIN

Und die Reise durch Europa geht weiter.

Dublin ist der Codename für die erste Generation des Server-Parts von WCF und Workflow Services.

Grundlegend wird Dublin als ein IIS-Extension Module verfügbar sein. Microsoft plant diese Features „for free“ zur Verfügung zu stellen, jedoch im Rahmen der normalen Windows Server Lizenzierung.

Dublin fügt sich als Erweiterung der „Application Server Role“ ein und beinhaltet richtig „coole“ Features wie zum Beispiel ...

  • Routing von WCF-Messages basierent z.B. auf Werten im SOAP-Body welche mittels IIS Server Manager und/oder via PowerShell CMD-lets aktiviert werden können.
  • WCF/WF Application werden in Zukunft als „Container“ mit allen dazugehörigen Modellen deployed („ähnlich“ dem SharePoint Features Deployment Mechansimen ).
  • Und um allen einen noch wässrigeren Mund zu machen, bekommen alle WCF und Workflow Services „Out of the Box“ Monitoring-, Control- und Discovery-Mechansimen zur Verfügung gestellt (ähnlich den BAM-Tools des BizTalk Servers)

Dublin wird der Community frühestens im ersten Quartal 2009 als CTP zur Verfügung stehen.

Da es sich bei meiner heutigen TechEd 2008 Revue lediglich um die Spitze des Eisberges in diesem Technologie-Bereich handelt, möchte ich folgende Abbildung nicht vorenthalten, welches das Zusammenspiel von von WF 4.0, "OSLO" und "DUBLIN" veranschaulichen soll.

 

dublin.jpg

 

In diesem Sinne ... viel Spass mit dem OSLO SDK und bis Morgen!

Siehe auch: Whitepaper: Externe Speicherung von BLOBs mit SharePoint 2007 sowie SQL Server 2005 / 2008 - Teil 1

External BLOB Storage

Mit dem Windows SharePoint Services 3.0 hotfix package vom 25. Mai 2007 [1] hat Microsoft eine Schnittstelle (API) zur Verfügung gestellt, um Daten ausserhalb des SQL Server zu speichern.

clip_image002

Abbildung 1: External BLOB Storage Architektur [2]

Um Daten mit den WSS 3.0 extern zu speichern, muss ein separater EBS Provider implementiert werden. Die dazugehörige Schnittstelle ist Bestandteil der WSS 3.0 inklusive SP1 und daher unabhängig des genutzten Datenbankmanagement-Systems. Sowohl die strukturierte Daten als auch die Metadaten von BLOB’s werden weiterhin in der Datenbank gespeichert. Die BLOB’s selber werden allerdings auf dem Dateisystem gespeichert und mittels einer ID referenziert.

Die Umsetzung eines separaten EBS Provider hat wesentliche Auswirkungen auf eine Sharepoint Farm. Sowohl Backup und Restore als auch Garbage Collection sind hiervon betroffen. Aufgrund des einfachen Designs der Schnittstelle sollten die Limitierungen der Schnittstelle beachtet werden und zusätzlich der entstehende Aufwand dem zu erwartenden Nutzen sorgfältig gegenübergestellt werden.

FileStream

Der SQL Server 2008 stellt ein neues Feature namens FileStream zur Verfügung, um die beschriebenen BLOB’s extern zu speichern. Dabei handelt es sich um ein singuläres Attribut, welches auf eine Spalte vom Typ varbibary gesetzt werden kann. Sowohl Backup als auch Restore des SQL Server 2008 berücksichtigen extern gespeicherten Daten.

Da SharePoint 2007 die Datenbanken automatisch erstellt, wäre es prinzipiell möglich, die FileStream-Unterstützung nach Erstellung selbst zu aktivieren. Seitens Microsoft wird die Änderung einer SharePoint Datenbank allerdings nicht supported. Daher ist von dieser Möglichkeit aus Gründen der Wartbarkeit und Releasefähigkeit dringend abzuraten!

Es spricht allerdings nichts gegen den Einsatz des SQL Server 2008 zusammen mit SharePoint 2007, da der SQL Server 2008 Verbesserungen gegenüber dem SQL Server 2005 mit sich bringt. Das FileStream Feature kann aber nicht gemeinsam mit SharePoint 2007 genutzt werden.

Fazit

Die externe Speicherung von Daten mit dem SQL Server 2005 oder dem SQL Server 2008 und SharePoint 2007 ist zum Zeitpunkt der Veröffentlichung des Whitepapers nicht empfehlenswert.

Der Aufwand für die Umsetzung des EBS ist äußerst hoch. Eine mögliche Inkompatibilität mit zukünftigen Versionen von SharePoint ist mehr als wahrscheinlich.

Bei dem Versuch der Aktivierung des FileStream Attributes auf einer vorhandenen SharePoint Datenbank handelt es sich um einen Eingriff in die Datenbankstruktur von SharePoint 2007.

namics empfiehlt daher, auf das nächste Service Pack oder die folgende Version von SharePoint zu warten um in den Genuss des vollen Funktionsumfanges zu gelangen.

Download

Whitepaper - Externe Speicherung von Binary Large Objects (BLOBs) mit SharePoint 2007 sowie SQL Server 2005 / 2008


[1] http://support.microsoft.com/kb/937901/en-us

[2] http://msdn.microsoft.com/en-us/library/bb862195.aspx

Zusammen mit Michael Pertek habe ich, Andreas Glaser, das Whitepaper "Externe Speicherung von BLOBs mit SharePoint 2007 sowie SQL Server 2005" verfasst. Inhalt dieses Whitepapers ist das Aufzeigen welche Möglichkeiten und Restriktionen es bei der Speicherung von Daten mittels SharePoint 2007 und dem SQL Server 2005 (oder dem SQL Server 2008) extern auf dem Dateisystem zum jetzigen Zeitpunkt gibt.

Download als auch Teil 2 werden in ein paar Tagen zur Verfügung gestellt.

Einleitung

Schlagwörter wie „FileStream“, „EBS Provider“ und „externe Speicherung von grossen Datenmengen“ kursieren innerhalb der Anwendungsbereiche von SharePoint und SQL Server und werden immer wieder diskutiert. Hinsichtlich der gegebenen Verwendungsmöglichkeiten dieser Features und den nicht zu unterschätzenden Einschränkungen gibt es allerdings Stand heute kaum dokumentierte Erfahrungen im Einsatz dieser Features. Diese Zusammenstellung der zentralen Fakten und Lösungsvarianten bringt ein wenig Licht ins Dunkel im richtigen Umgang und der Speicherung von grossen Datenmengen.

Unstrukturierte Daten

Grundlage dieser Ausführungen ist die Annahme, dass aufgrund des starken, fast explosionsartig ansteigenden Aufkommens an digitalen Daten und der einhergehenden Reduktion der Anschaffungs- und Betriebskoten von Hardwarekomponenten zur Speicherung des vermehrten Datenaufkommens viele Firmen unstrukturierte Daten in einer Datenbank speichern. Unter unstrukturierten Daten, auch Binary Large Objects (BLOB) genannt, versteht man Dokumente, digitale Bilder, Audio oder Videoformate. Immer häufiger werden diese Daten zu einem geschäftskritischen Bestandteil in Firmen und ihre Vorhaltung gewinnt an strategischer Bedeutung.

Business Value

Die Speicherung von strukturierten als auch unstrukturierten Daten geschieht im SQL Server 2005 auf dieselbe Art und Weise. In der ersten Darstellung im linken Bild wird aufgezeigt, wie sowohl Dateien als auch Metadaten dieser Dateien in einer relationalen Datenbank gespeichert werden. In der rechten Darstellung wird derselbe Vorgang für unstrukturierte Daten innerhalb des SQL Servers 2008 abgebildet.

Die Speicherung von strukturierten als auch unstrukturierten Daten geschieht im SQL Server 2005 auf dieselbe Art und Weise. In der ersten Darstellung im linken Bild wird aufgezeigt, wie sowohl Dateien als auch Metadaten dieser Dateien in einer relationalen Datenbank gespeichert werden. In der rechten Darstellung wird derselbe Vorgang für unstrukturierte Daten innerhalb des SQL Servers 2008 abgebildet.

Speicherung unstrukturierter Daten in SQL Server 2005 und SQL Server 2008

Abbildung 1: Unstrukturierte Daten im SQL Server 2005 und 2008

Der Zugriff auf BLOB’s, welche in der Datenbank gespeichert sind, ist allerdings in der Regel zu wenig performant.

Der SQL Server 2008 dagegen kann BLOB’s auch direkt auf dem Dateisystem speichern und die dazugehörigen Metadaten in einer Datenbank ablegen. Die Performance ist dadurch deutlich höher und für den Benutzer spürbar. Zusätzlich ist die Grösse der gespeicherten Dateien nicht wie beim SQL Server 2005 auf lediglich 2GB beschränkt.

Der SQL Server 2005 bietet von sich aus nicht die Möglichkeit der externen Speicherung von Daten wie oben beschrieben. Im Zusammenspiel mit SharePoint 2007 ist es dennoch möglich, die externe Speicherung über Sharepoint zu realisieren (Stichwort External BLOB Storage).

SharePoint 2007

Unter der Voraussetzung, dass Service Pack 1 installiert wurde, ergeben sich daraus zwei Lösungsansätze, um Daten ausserhalb des SQL Server zu speichern:

  • External BLOB Storage – EBS (SQL Server 2005)
  • FileStream (SQL Server 2008)

Der erste Lösungsansatz (EBS) ist auf der Seite von SharePoint umzusetzen und unterstützt den SQL Server 2005. Der zweite Lösungsansatz (FileStream) ist ein Feature des neuen SQL Server 2008.

01 Sep

MOSS 2007 und SQL 2008 - Follow Up

Ein kleiner Nachtrag zum früheren Blogeintrag: Die offizielle Microsoft Aussagen zu MOSS 2007 und der Unterstützung von SQL 2008 wurden auf dem MS SharePoint Teamblog veröffentlicht: http://blogs.msdn.com/sharepoint/archive/2008/08/15/sql-server-2008-support-for-sharepoint-products-and-technologies.aspx

So wie es aussieht sind BLOB bzw. Filestream noch nicht unterstützt, da hier eine separate API angesprochen werden muss. Soweit war MS noch nicht beim Infrastructure Update S2, aber es wird heftig daran gearbeitet.
BLOBs könnt ihr jedoch bereits selbst ansprechen: das Konzept findet ihr unter External Storing of Binary Large Objects (BLOBs) in Windows SharePoint Services (siehe auch folgende Grafik).

Zudem gibt es bereits ein neues Codeplex Projekt, welches SharePoint Adapter für Microsoft SQL Server 2008 Integration Services (SSIS) zur Verfügung stellt. Doch vorsicht: dies wird von MS nicht offiziell supported, sondern ist ein Community Projekt.

blob.gif

Unsere Blogs