Hochverfügbarkeitssystem für die phonetische Suche auf Linux Cluster
Kunde
Bürgel Wirtschaftsinformationen GmbH & Co. KG
Das Pilot-Projekt
Für den Auskunftsbereich Privatpersonen der Wirtschaftsauskunftei war für die kommenden Geschäftsjahre eine starke Steigerung des Geschäfts zu erwarten. Um die dafür geforderte Leistung abdecken zu können, wäre eine signifikante Aufstockung der Rechenleistung und Speicherkapazität des Großrechners notwendig geworden. Da die für die Leistungssteigerung des Hosts anfallenden Kosten immens waren, wurde vorab eine Machbarkeitsstudie zur Realisierung eines vollkommen neuen Such- und Auswahlalgorithmus zur Beschleunigung der Rechenvorgänge durchgeführt. Der Algorithmus benutzte anstelle der üblichen Matchcode-Suche den Ansatz der Textnormierung und Phonetisierung. Alle Suchoperationen sollten komplett im Hauptspeicher ablaufen. Nach ersten erfolgreichen Versuchen wurde durch die Mitarbeiter der cimt AG ein Prototyp mit Hilfe der OpenSource-Entwicklungsumgebung Linux implementiert.
Benefits
In der darauf folgenden Design- und Weiterentwicklungsphase konnten die Algorithmen soweit optimiert werden, dass das bisherige Verfahren in puncto Qualität und Geschwindigkeit um ein Vielfaches übertroffen wurde. Folglich fiel nach kurzer Zeit die Entscheidung für die Ausgliederung der Suchfunktion auf einen Linux-basierenden Cluster.
Durch die Extrahierung bestimmter Applikationsteile können anfallende Kosten für aktuelle und zusätzliche Host-Rechenleistung eingespart werden. Der modulare Aufbau und der datenunabhängige Algorithmus ermöglichen den Einsatz für neue Funktionen mit geringem Anpassungsaufwand, durch die Ausgliederung wäre ein weiteres Downsizing des Großrechners möglich.
Der Einsatz eines High-Availability-Clusters gewährleistet die Bereitstellung einer hochverfügbaren, performanten und flexiblen Applikationsbasis, die nicht nur das Reagieren auf unterschiedlichste Lasten möglich macht, sondern auch die Lauffähigkeit der Applikationen bei nahezu unveränderten Antwortzeiten garantiert, wenn bis zu 50% der Systeme und Netzwerkkomponenten ausfallen sollten.
Die Implementierung der wesentlichen Funktionen mit Open-Source-Komponenten stellt eine kostengünstige Möglichkeit für Erweiterungen und Änderungen dar. Der Programmcode ist aufgrund weitgehender Orientierung an Sprachstandards über verschiedene Plattformen (Linux, Unix, Windows) kompatibel, so dass theoretisch eine heterogene Systemlandschaft innerhalb des Clusters realisierbar wäre. Die Kriterien Geschwindigkeit und Stabilität sprachen letztendlich für den Einsatz von Linux als Systembasis.
Die Folge-Projekte
Der Einsatz des Hochverfügbarkeits-Clusters mit mehrfach redundant ausgelegten Systemen war von Anfang an auf eine Erweiterung der darauf laufenden Anwendungen ausgelegt. Nach Realisierung der Pilot-Applikation auf allen Server Nodes wird aktuell eine (natürlich durch eine wachsende Kundenzahl steigende) tatsächliche Auslastung der Cluster-Nodes von ca. 1 Prozent erreicht. Aufgrund der erreichten Verbesserungen und der nun zusätzlich verfügbaren Ressourcen werden nach und nach alle Applikations-Komponenten, die auf dem Großrechner herkömmliche Verfahren verwendeten, auf Ihre Eignung zur Portierung geprüft. Anhand von Prototypen konnte für die folgenden Bereiche eine Verbesserung der Suchergebnisse und eine starke Beschleunigung der Suchdauern ermittelt werden:
- Suche auf juristische Personen/Firmen
- Kombinations-Suche auf Verknüpfungen zwischen natürlichen Personen und Firmen
- Validierung eingegebener Adressdaten
Insbesondere im Bereich der Adressprüfung wird durch die Portierung eine Steigerung der internen Antwortzeiten um mehr als das 10-fache bei gleichzeitiger Verbesserung der automatischen Adresskorrektur erreicht. Die höhere Qualität dieser Prüfung hat eine bessere und schnellere Bedienung der Kunden zur Folge.
Technische Details
Für die Implementation der genannten Applikationsteile wurden keine ungewöhnlichen Aufwände nötig. Größtenteils konnten vom Pilotprojekt bereits bestehende Entwicklungen wiederverwendet, für die jeweilige Aufgabe angepasst und erweitert werden. Durch die Schaffung von Update-Prozessen wurde für die Aktualität der im Hauptspeicher gehaltenen Daten gesorgt, die Adressprüfung wurde aufgrund der Komplexität der Korrekturvorgänge durch eine ebenfalls redundant ausgelegte Datenbank unterstützt. Ein weiterer technischer Knackpunkt war die Auslegung sämtlicher Applikationssoftware unter dem Gesichtspunkt der Hochverfügbarkeit. Alle Applikationsteile sollten ständig und unabhängig von der zu erwartenden Last in gleichbleibender Verfügbarkeit und Geschwindigkeit arbeiten. Auf Basis der Anforderungen wurde das System als Load Balancing Cluster konzipiert. Die applikationsspezifische Redundanz wurde um Backup-Mechanismen für alle Netzwerkkomponenten ergänzt. Dies betraf alle Leitungen, Router und Switche. Die komplette Cluster-Infrastruktur wurde über 2 physikalisch und logisch unabhängige Netze abgedeckt, die beim Ausfall einer technischen Komponente einen völlig transparenten Failover ermöglichten. Seit Produktionsbeginn ergab sich für das Gesamtsystem eine Verfügbarkeit von 99,9995 %.
Projektdaten
Status: Produktion/Erweiterung
Dauer: ca. 1 Jahr
Projektart: Technologieprojekt
Umfang: 3 Berater, 2 Kunden-Mitarbeiter
Ausblick: Produktiv seit April 2002
IT-Technologie
- IBM Mainframe
- Linux
- GNU-C-Compiler
- ANSI C, Perl
- Multithreading, Multiprocessing
Ansprechpartner
Weiterführende Informationen zu diesem und ähnlichen Projekten erhalten Sie bei:
Golo Lentz / Tel.: +49 (40) 53302-0
