Bedingt durch eine Kundenanfrage habe ich mich in den letzten Tagen nebenbei mit einem Feature beschäftigt, welches seit Exchange Server 4.0 implementiert ist: Single Instance Store (SIS). Einer unserer Kunden stellte bei seiner Exchange Server-Implementierung fest, dass Exchange Server 2007 keinen Single Instance Storage mehr unterstützten würde. Ist das wirklich so?

Richtig ist, dass Exchange Server 2007 weiterhin SIS unterstützt, allerdings nicht mehr für ganze Nachrichten, sondern nur für Nachrichtenanhänge. Um die Hintergründe für diese Entscheidung zu verstehen, muss man sich anschauen, was sich hinter dem Begriff Single Instance Store eigentlich verbirgt: SIS bezeichnet eine Technik zum Platz sparen innerhalb einer Exchange-Datenbank. Emails, die an mehrere Empfänger innerhalb eines Postfachspeichers gerichtet sind, werden nur einmal gespeichert und in allen anderen Postfächern referenziert.

Da dieser Spareffekt jedoch schlecht abschätzbar oder planbar ist und mit der Zeit drastisch sinkt, empfehlen wir seit langem, SIS einfach als Bonus zu sehen und nicht in Kapazitätsplanungen mit einzubeziehen. Der Knowledge Base-Artikel Single Instance Storage Ratio is Low beschreibt die Hintergründe dieses Effekts.

Trotz aller Bemühungen, Benutzer zur platzsparenden Nutzung von Email anzuleiten, ist die Verführung durch das Büroklammersymbol, einfach Dateien an andere versenden zu können, riesig. Die Größe von Emailpostfächern steigt deshalb seit Jahren immer weiter an. Habe ich früher bei Kunden Postfachgrößenbeschränkungen von 5 MB - 15 MB gesehen, wurden daraus mit der Zeit 50 MB - 500 MB und heute 1 GB und mehr.

Ich kenne Administratoren, deren Nutzer >10 GB große Postfächer als normal betrachten. Hier sinkt die Effektivität von SIS drastisch, da durch die steigende Größe von Postfächern in der Regel mehrere Postfachspeicher benutzt werden. Mit Exchange Server 2007 kann man zum Beispiel bis zu 50 Postfachspeicher auf einem Exchange-Server betreiben.

Der Bedarf an Festplattenspeicher für Exchange-Server orientiert sich schon seit langem an der benötigten IO-Leistung (IOPS) und nicht mehr an der notwendigen Speicherkapazität. Wenn man die IO-Anforderungen in der Planung richtig berücksichtigt und erfüllt, führt das zur Nutzung von entsprechend vielen Festplatten (spindle count) und RAID-Verfahren, was bei heutigen Festplattengrößen in der Regel dazu führt, dass deutlich mehr als der eigentlich benötigte Festplattenplatz für Exchange zur Verfügung steht.

Die Möglichkeit, deutlich mehr RAM für Caches aufgrund des Wechsels zu 64bit nutzen zu können, hat bei Exchange Server 2007 zu einer drastischen Reduzierung der IO-Anforderungen geführt. Dabei trafen wir die Entscheidung, zur weiteren Reduzierung des IO-Bedarfs SIS nicht mehr auf ganze Nachrichten, sondern nur auf Nachrichtenanhänge zu optimieren. Der Vorteil dieser IO-Ersparnisse wiegt meines Erachtens den Nachteil des fehlenden SIS für Nachrichteninhalte auf.

Hinweis: Wer Postfächer via move-mailbox verschiebt und so zum Beispiel von Exchange Server 2003 auf Exchange Server 2007 umstellt, der behält den kompletten SIS für die existierenden Nachrichten für alle Postfächer der gleichen Quelldatenbank, die in die gleiche Zieldatenbank überführt werden.

Weitere Informationen zu dem Thema beschreibt der Artikel Single Instance Storage in Exchange 2007 auf dem Exchange Team-Blog.