Bayerische Staatskanzlei

Die Bayerische Staatskanzlei unterstützt als oberste Landesbehörde den Ministerpräsidenten und die Staatsregierung in München. Das Landesamt für Statistik und Datenverarbeitung mit seinem Rechenzentrum Süd verantwortet die Datenverarbeitung sowie eine moderne Informations- und Kommunikationstechnik in der öffentlichen Verwaltung.

Der Freistaat Bayern hat 2005 eine ressortübergreifende IT-Strategie für die Staatsverwaltung festgelegt. IT-gestützte Verwaltungsabläufe sollen optimiert werden und so einen besseren Bürgerservice ermöglichen. Grundlage dafür ist ein zentralisierter und vereinfachter IT-Betrieb. Die technische Umsetzung erfolgt durch das Rechenzentrum Süd im Bayerischen Landesamt für Statistik und Datenverarbeitung.

Neben Basisdiensten wie dem Webhosting und E-Mail stellt das Rechenzentrum Süd mit BayText® eine SaaS-Komponente zur Texterstellung zur Verfügung. BayText selbst besteht im Wesentlichen aus einer Serverkomponente und einem Client zur Pflege der Dokumentvorlagen und Skripte.

Das Problem

Zwei Fachsysteme greifen via SOAP auf BayText zu: Das größte und wichtigste ist das bayernweite Personalverwaltungssystem auf SAP-HR-Basis, das bis vor kurzem auf einem Microsoft SQL-Server als BayText-Persistenz aufsetzte. Ein weiterer Oracle-Server war unter anderem für die Kultusverwaltung im Einsatz.

Im HR-Bereich werden sämtliche schriftliche Aufgaben der Behörden – von Ernennungsurkunden über Beförderungsschreiben bis hin zu Einladungen für Bewerbungsgespräche – im SAP-System verwaltet. Die entsprechenden Dokumente erstellt das angebundene BayText-System. Jährlich entstehen so mehrere Millionen Schriftstücke, bei Spitzenlast entspricht das etwa 10.000 bis 12.000 pro Tag. Der Datenbestand umfasst etwa 50.000 Einträge und 10 Gigabyte BLOBs (Binary Large Objects), bestehend aus RFT- und ODF-Vorlagen sowie Bildern. Die Dateiausgabe erfolgt wahlweise in den Formaten ODF, RTF oder PDF. „BayText ist als Template Prozessor für ODF- und RTF-Dokumente das, was PHP fürs Web erledigt“, sagt Christian Brensing, der zuständige Software-Entwickler beim Bayerischen Landesamt für Statistik und Datenverarbeitung IuK / Rechenzentrum Süd.

Das bestehende System musste aus zwei Gründen überarbeitet und zukunftstauglich gemacht werden: „Unser Hauptproblem waren Performance-Engpässe, die wir uns auf Dauer nicht leisten konnten“, erklärt Brensing. „Hinzu kam, dass die Verwaltungen ihre Aufgaben mit kleiner werdenden Teams erledigen müssen.“ Die daraus resultierenden Anforderungen waren die einfache Migration, weniger Komplexität, leichtere Bedienbarkeit und eine höhere Leistungsfähigkeit.

Warum MongoDB?

Für MongoDB sprachen letztlich drei Argumente: das einfache Datenmodell, die Ad hoc-Queries und die Performance. Aufgrund des Datenmodells lassen sich Objekte einfach auf die Mongo-Dokumente in der Datenbank abbilden.

Großer Vorteil für Anwender, die von der relationalen Welt in NoSQL-Gefilde wechseln, sind die Ad Hoc Queries in MongoDB, mit denen beliebige dynamische Abfragen wie in relationalen Datenbanken möglich sind. Da bei MongoDB ein Großteil der Daten und Indizes im Hauptspeicher vorgehalten werden, sind Abfragen rasend schnell.

Dieser große Vorteil liegt erneut im Datenmodell begründet: In nur einem Mongo-Dokument sind viele Eltern-Kind-Beziehungen gespeichert, so dass anstelle von zehn oder mehr relationalen Zugriffen nur ein Datenbankzugriff nötig ist, was sich deutlich auf die Geschwindigkeit auswirkt.

EINSATZ

  • HR-System auf SAP-Basis und Kultusserver auf Oracle-Basis greifen zur Dokumentenerstellung via SOAP auf SaaS-Komponente “BayText” zu
  • Zu verwaltender Datenbestand: 50.000 Einträge und 10 Gigabyte BLOBs (Binary Large Objects), bestehend aus RFT- und ODF-Vorlagen sowie Bildern
  • Jährlicher Output: Mehrere Millionen Schriftstücke
  • Anwendungssprachen: Groovy, Python, Ruby und Tcl

Ergebnis

Die Entscheidung für eine Migration auf die nichtrelationale Datenbank MongoDB trägt bereits Früchte: „Durch den Umstieg konnten wir die Komplexität unseres System deutlich verringern. Anstelle von 14 Tabellen kommen wir mit den vier Dokumentensammlungen nodes, roles, properties und GridFS aus. Auf eine komplexe objektrelationale Abbildung können wir ganz verzichten, und es sind auch keine SQL-Treiber mehr nötig.“

Weiterer Vorteil: Die Geschwindigkeit und Reaktionsfähigkeit wurden signifikant gesteigert. „Wir konnten die Geschwindigkeit etwa um den Faktor 10 erhöhen. Die Datenzugriffszeit liegt jetzt praktisch bei null, Zeit braucht jetzt nur noch das Abarbeiten der Skriptanweisungen. Außerdem sind Datenmodell und Code von MongoDB so einfach, dass die Nutzung schnell erlernt ist und es endlich wieder Spaß macht, für die Datenzugriffsschicht zu entwickeln.“

Ausblick

Signalwirkung hat das BayText-Projekt für den gesamten Freistaat Bayern: Brensing arbeitet mit seinen Kollegen daran, MongoDB landesweit als Standard für NoSQL-Datenbanken zu verankern. „Den Antrag bringen wir jetzt ins Standardisierungsgremium ein. Schon bald könnte MongoDB die erste Wahl für nichtrelationale Datenbanken in der öffentlichen Verwaltung des Freistaats sein.“