Was ist »FluidCache« und wie funktioniert er?
Leserfrage: Flash-Ressourcen zu verteilen, optimiert die Performance im Speicherumfeld. Wie genau aber funktionieren Lösungen wie »FluidCache« und wie viel Nutzen bringen sie? Andere Konzepte – wie das Startup DSSD es propagiert – bringen die Flash-Ressource direkt an den Server, dafür höchst parallelisiert. Wo lässt sich was besser einsetzen?
Antwort Doc Storage:
Zunächst einmal müssen wir diese Welt in »Wünsche« und Realität« einteilen. Und auch hier nicht nur die technische Machbarkeit, sondern vor allem den betriebswirtschaftlichen Nutzen der ganzen Flash-Angebote, die nun in welcher Kopplungstechnik auch immer den Markt förmlich fluten.
Zu den Wünschen der Hersteller zählt zweifelsohne, den Zugriff auf die verbauten Flash-Medien noch schneller zu ermöglichen als bisher. »Bisher« bedeutet in erster Linie die Nutzung von Festkörperspeichern auf PCI-Steckkarten. Diese Anbindung ist Faktoren schneller als über die üblichen Wege, also beispielsweise FC oder InfiniBand. Das bekommt man auch hin, allerdings für den Preis nicht vorhandenen physikalischen oder logischen Datenschutzes, da diese Karten meist nur singuläre Entitäten darstellen und sich damit nicht mit RAID oder ähnlichen Technologien schützen lassen. Viele Hersteller, die neben den PCI- auch herkömmliche Speicherlösungen anbieten, behelfen sich damit, die in die Steckkarten geschriebenen Daten in ein externes Array zu duplizieren. Womit man wieder in die Leistungsfalle gerät, denn, wie ein lieber Kollege immer zu sagen pflegte: »Nichts wird dadurch schneller, indem man es mehrfach macht.«
Ein weiterer Wunsch der Hersteller ist daher, wie bei DSSD eine Art Hardware-RAID über die Speichermodule zu legen, die dann gegenseitig mit einem eigens entwickelten Algorithmus für Datenintegrität sorgen. Auch nichts neues, eine solche Herangehensweise gab es schon weiland bei den alten »Symmetrix«-Modellen vor der »VMAX«, als es dort noch keinen gespiegelten Cache gab. Und diese hat wunderbar funktioniert, kamen doch Cache-Fehler so gut wie niemals vor. Allerdings handelte es sich damals um DRAM und ein eigens für diese Aufgabe entwickeltes Betriebssystem. Heute versucht DSSD das Ganze mit Standard-Flash und einer abgespeckten Linux-Version hinzubekommen. Ob das ein Wunsch bleibt oder irgendwann Realität wird, das werden die kommenden Quartale zeigen. Genug Geld hat EMC ja auch schon vor der Übernahme in das Unternehmen gesteckt.
In der Realität wird sich für den Kunden beim Einsatz von PCI-Lösungen wie zum Beispiel Dells Fluid Cache eine extreme Steigerung der Transaktionsleistung in Standardservern, also x86-Architekturen zeigen. Denn hier liegt der nächste Pferdefuß. Diese Lösungen sind fast ausschließlich der Intel-Welt vorbehalten, proprietäre Systeme mit AIX-, HP-UX- oder anderen professionell genutzten Betriebssystemen bleiben meist außen vor oder müssen eine erhebliche Verzögerung in der Entwicklung gegenüber den Commodity-Systemen hinnehmen.
Einsatzgebiete sind (ich werde jetzt absichtlich nicht Big-Data oder Cloud schreiben...) alle Anwendungen, die mit hohen Transaktionsleistungen daherkommen. Datenbanken, CRM-Systeme, Data-Warehouse oder Data-Mining. Webshops mit entsprechender Datenbankanbindung werden mit Sicherheit genauso von PCI-Flash profitieren wie Mailserver oder der schlichte Virtualisierungsserver, der morgens und mittags mit extrem vielen Zugriffen (Bootstorms) zurechtkommen muss.
Die Frage nach dem »besser« bei parallel oder direkt ist für jeden Nutzer, ja jede Anwendung individuell zu beantworten und kann nicht pauschal beschieden werden. Betriebswirtschaftlich ist nur eine Frage zu stellen: Ist das, was man durch den Einsatz von PCI-Flash schneller und dadurch mehr machen kann, den Aufwand wert? Ist das frühere Ergebnis oder die schnellere Verfügbarkeit am Markt so viel oder mehr wert als der Anschaffungspreis der Hardware? Kann man vielleicht Dinge tun, die mir vorher durch alte und langsame Methoden verwehrt waren, und dadurch neue Produkte, neue Verfahren und Methoden entwickeln, die meinem Unternehmen oder meinen Fachabteilungen einen Wettbewerbsvorteil und damit echte betriebliche Wertschöpfung bringen? Erst wenn sich diese Fragen mit »ja« beantworten lassen lohnt es sich überhaupt, über die Anschaffung solcher Hardware nachzudenken.
Und eines darf dabei nicht vergessen werden: Es geht hier nicht ums Kaufen, Einbauen und Weitermachen. Es geht hier um die Feststellung der Transaktionsleistung einer Anwendung, die Identifizierung der »Flash-würdigen« Daten, das Verbringen dieser Daten auf die neue Hardware, das Neustarten der Anwendung und die Inbetriebnahme einer (fast) völlig neuen Umgebung. Das ist nicht an einem Tag gemacht, und vor allem nicht mal so nebenher, wie es die Hersteller uns gern weiszumachen versuchen. Hier gilt es zu testen, zu identifizieren, seine Hausaufgaben als Rechenzentrum und Anwendungsbetreiber mehr als sorgfältig zu machen. Es gilt dann umzubauen, Daten umzuziehen, einen Probebetrieb parallel zur Produktion zu betreuen und dann irgendwann der Fachabteilung ein fertiges Produkt zu übergeben. Das dauert, je nach Personaldecke, zwischen mehreren Wochen und einem Jahr. Auch das ist in die Gesamtkalkulation einzubeziehen.
Ich kann mir am Schluss diese Bemerkung mit einem Augenzwinkern nicht verkneifen: Und dann, wenn die Rechenzentren mit der Einführung neuer Technologien auf Flash-Basis fertig sind, alle Tests gelaufen, alle Bugs gefunden und die Anwendungen in Produktion gegangen sind, genau an diesem Tag wird ein Hersteller eine Technologie veröffentlichen, gegen die Flash aussieht wie ein VW Käfer neben einem Ferrari.
Gruß
Doc Storage