MySQL-Cluster bei Neckermann.de

Leistung klein verpackt

28.04.2006 von Jan Schulze
Für geringere Kosten und mehr Flexibilität: Nicht mehr große Maschinen stellen bei Neckermann die Rechenleistung bereit, sondern eine Vielzahl von Blade-Servern.

Es galt, die Service-Qualität im Web-Shop sicherzustellen. Noch bis vor kurzem verfolgte die Neckermann.de GmbH die Strategie, Datenbanken in einem Scale-up-Ansatz auf hochperformante Multi-Prozessor-Server zu konsolidieren.Wurde mehr Leistung benötigt, setzte die Karstadt-Quelle-Tochter – das drittgrößte Versandhaus in Deutschland – einfach Server mit mehr Prozessoren ein. Unix-Maschinen mit 24 Prozessoren sorgten bislang dafür, dass die Website auch in Stoßzeiten rund lief.

Der Ansatz, die Datenbanksysteme auf einem großen SMP-Server (SMP steht für Symetric Multiprocessor) zu konsolidieren, stieß angesichts der steigenden Kundenzahl an seine Grenzen. „Die Strategie war in unserer Situation einfach nicht mehr wirtschaftlich. Um die Lösung noch höher zu skalieren, wären immense Investitionen vor allem in die Hardware notwendig geworden“, erinnert sich Jesus Villar-Rodriguez, Teamleiter Websysteme/Backend bei Neckermann.de. So entschied sich der Versandhändler, schrittweise einen komplett neuen Weg zu gehen.An die Stelle der Scale-up-Strategie tritt das Scale-out: Nicht ein großer Server stellt die Rechenleistung bereit, sondern ein Cluster aus vielen kleinen Maschinen.

Um den Online-Kunden einen möglichst komfortablen Einkauf zu ermöglichen und auch übergreifende Vertriebspotenziale nutzen zu können, ist das Online-Angebot unter anderem mit zwei Datenbanken hinterlegt: Die eine speichert jene Kundenprofile, die die Web- Shop-Besucher anlegen können. Das andere System ist für die so genannten Session-Daten verantwortlich, also die Verwaltung des Warenkorbs oder die Aufzeichnung der Bewegungen im Web-Shop, um dem Kunden eine einfache und schnelle Navigation zu ermöglichen. Diese werden anonym über eine Session-ID mit dem Einkaufenden verknüpft und erst bei der Bestellung mit den im Backend gespeicherten Kundendaten zusammengeführt. Die Session-Daten liegen nur kurze Zeit auf dem Datenbank-Server und müssen nicht transaktionssicher verarbeitet werden. Die Hauptanforderung an dieses Datenbanksystem sind Geschwindigkeit bei Schreib- und Lesezugriffen sowie Ausfallsicherheit.

Weniger Raum im Rechenzentrum

Mit der sukzessiven Einführung der neuen Architektur begann Neckermann.de im vergangenen Jahr. Als Hardware-Plattform entschied sich das Unternehmen für Blade-Server. Diese haben gegenüber den herkömmlichen Servern im 19-Zoll-Format einige Vorteile: Da mehrere Blades in einem Rack sitzen und sich Infrastrukturkomponenten wie Netzwerkkarten oder Stromversorgung teilen, benötigen sie weniger Raum im Rechenzentrum. Zudem können einzelne Blades bei Bedarf im laufenden Betrieb ausgetauscht werden.

In puncto Betriebssystem und Datenbank-Management-System entschied sich Neckermann.de für Open-Source-Produkte: Suse Linux und die Datenbank MySQL sollten das Altsystem ablösen. Damit hat man bereits gute Erfahrungen gemacht, seine Datenbank für die Kundenprofile läuft bereits seit 2004 in dieser Kombination. Bedenken gegen den Einsatz von Open-Source-Software gibt es bei dem Versandhändler nicht: „Aus fachlicher Sicht haben Open-Source-Produkte keinerlei Nachteil“, so Villar-Rodriguez.Wichtig war jedoch, dass hinter den Produkten auch Unternehmen stehen. „Wir haben eine relativ kleine IT-Mannschaft“, erklärt Villar-Rodriguez. „Wir brauchen aus diesem Grund professionelle Wartungs- und Support-Angebote.“

Die Einführung der neuen Lösung verlief problemlos – zumindest fast. Linux-Know-how war bereits vorhanden, und auch die Hardware konnte ohne Schwierigkeiten in Betrieb genommen werden. Knifflig hingegen war der MySQL-Cluster: „Wir erreichten in der ersten Projektphase nicht die Performance, die wir uns erhofft hatten“, so Villar-Rodriguez. Das Fein-Tuning der Cluster-Technologie fordere eine völlig andere Denkweise als SMP-Maschinen, die Administratoren seien damit zu Anfang nicht immer zurechtgekommen. Gleichwohl musste das Projekt auf jeden Fall rechtzeitig zum Weihnachtsgeschäft abgeschlossen sein. Den Verantwortlichen blieb nichts anderes übrig, als auf den Hersteller-Support durch MySQL zurückzugreifen.

Weiterer Roll-out in Arbeit

Die gesteckten Ziele wurden laut Villar-Rodriguez erreicht: „Wir können nun die Datenbanken durch den Cluster-Einsatz deutlich granularer skalieren, flexibler auf das Wachstum des Unternehmens reagieren und gleichzeitig unsere Ressourcen da einsetzen, wo sie gebraucht werden.“ Reicht die Leistung der 90 Blades im Rechenzentrum nicht aus oder fällt eines aus, kann das Unternehmen schnell reagieren: „Ein neues Blade ins Chassis zu stecken und mit der Software zu betanken dauert ungefähr 15 Minuten.“

Auch bei den Anschaffungs- und Betriebskosten verbesserte sich Neckermann.de. „Hierbei kommt der komplette Stack zum Tragen – die günstigere Hardware, eine gute Management-Software und die einfachere Administration sowie die Datenbank-Infrastruktur“, erläutert Villar-Rodriguez. Nun sei man dabei, die Lösung auch für andere Unternehmenstöchter auszurollen.