Vor einiger Zeit rief mich hilfesuchend ein Kunde an. Er erklärte mir die Situation wie folgt.
Seine Firma muss Daten von einem „Flat-Filesystem“ in eine Oracle-Datenbank migrieren. Die entsprechenden Tests seien erfolgreich verlaufen. Das Softwarehaus hat die entsprechenden Konvertierungsprogramme erstellt und dafür über 20.000 € erhalten.
Mit den Originaldaten dauerte die Umstellung mehr als 24 Stunden. So würde der Onlineshop der Firma nicht mehr rechtzeitig in Betrieb gehen können. Seine Frage war folgende:
„Können Sie die Performance so verbessern, dass die Migration in weniger als 24 Stunden erledigt ist?“.
Zunächst habe ich mir das Problem erklären lassen. In Kurzform ließ sich das Problem dementsprechend reduzieren, dass die Inhalte der Adressfelder bei der Umstellung von Großbuchstaben nach Groß- und Kleinbuchstaben umgewandelt werden sollten. Also zum Beispiel von „HANS-WILHELM-STR.“ nach „Hans-Wilhelm-Str.“.
Natürlich wollte ich vom Softwarehaus wissen, wie sie diese Problematik gelöst haben.
Ihre Antwort war:
„Wir haben jeden einzelnen Buchstaben gescannt. Dann je nach Situation HEX 20 abgezogen oder addiert. Wir haben die Besonderheiten, wie zum Beispiel Blanks, Bindestriche, Punkte berücksichtigt, da ja nach diesen Zeichen das erste Zeichen wieder groß zu schreiben ist.“ Beispielsweise wurde aus „A=HEX41“ durch die Addition von HEX20 „a=HEX61“.
Ich habe dem Kunden mitgeteilt, dass es für genau diese Situation eine „INITCAP“-Funktion von Oracle gibt. Die Umstellung nach dem Laden der Daten kann mit folgendem Updatebefehl erledigt werden:
Update Kunden
set Vorname=Initcap(Vorname),
Name=Initcap(Name),
Ort=Initcap(Ort),
usw.
Diese Konvertierung dauerte ca. 10 Minuten für ca. 500.000 Kunden.
Was habe ich für meine Bemühungen in Rechnung gestellt?
Hätte mich der Kunde vorher angerufen, hätte ich gar keine Rechnung gestellt.
In diesem Fall musste ich Ihm leider einen Espresso in Rechnung stellen, den er mir bei meinem nächsten Besuch ausgeben hat.
Daher meine Empfehlung: Fragen Sie häufiger Ihre Kollegen/Kolleginnen, Berater/Beraterinnen. Oft spart es einem eine Menge Zeit, Energie sowie Geld, und vor allem verursacht es wesentlich weniger Stress!
Ihr Bruno Cirone
Mitglied der Delegiertenversammlung und Themenverantwortlicher Security in der Database Community

