11.05.2006, 18:13 Uhr

Datenbanken ohne eigenen Wächter

Alternativ zum unternehmensweiten Einsatz grosser Datenbanken bieten sich heute die so genannten Embedded Databases an.
Peter Mengel arbeitet für Intersystems.
Der Markt für Datenbanken scheint übersichtlich: Oracle, IBM und Microsoft halten nach aktueller Analysteneinschätzung einen Marktanteil von 85 Prozent. Die restlichen 15 Prozent allerdings haben es in sich.
Die Verfolgergruppe, zu der neben Open-Source-Anbietern diverse objektorientierte und postrelationale Datenbanken gehören, gewinnt in vielen Industriezweigen zunehmend an Bedeutung. Insbesondere in kleinen und mittleren Unternehmen scheiden die «grossen Drei» des Datenbankmarktes schon allein deswegen aus, weil sie es sich nicht leisten können, einen dedizierten Datenbankadministrator für die Betreuung des Datenbankmanagementsystems (DBMS) zu beschäftigen. Die Alternative zum unternehmensweiten Einsatz grosser Datenbanken nennt sich Embedded Database. In diesem Modell wird die Datenbanklösung bereits vom Softwarehaus direkt in die Anwendung integriert und auch über diese gewartet. Der Vorteil für die Unternehmen ist hierbei, dass kein spezielles Datenbank-Know-how mehr notwendig ist, sobald die Lösung installiert ist. Denn innerhalb der Anwendung arbeitet die eingebettete Datenbank quasi als Black Box, erfordert keine Vor-Ort-Administration und wird in der Regel vom Softwarehaus über dessen telefonischen Kundendienst mit betreut.
Verschiedene Anwendungen
Die Einsatzszenarien für diese Art der Datenbanknutzung sind zahlreich - von grossen Server-basierten Anwendungen bis zu kleinen mobilen Applikationen und Desktop-Werkzeugen. Das Marktsegment wächst stark, da immer mehr Anwendungen Datenbank-Funktionalität benötigen, Unternehmen ihre IT-Mannschaften aber nicht in gleichem Masse aufstocken können. Besonders in Branchen wie etwa dem Gesundheitswesen oder im Handel, wo Datenbankadministratoren grundsätzlich kaum zur Verfügung stehen, zählen die eingebetteten Datenbanken heute bereits zum Standard. Auch für kleine und mittlere Unternehmen stellt das in die Anwendung integrierte Datenbankmanagementsystem eine praktikable Lösung dar. Ohne sich auch noch mit der Datenbank beschäftigen zu müssen, können sie ihre meist ohnehin knappen IT-Ressourcen für deren eigentliche Aufgaben einsetzen. Deshalb ist dieses Datenbank-Prinzip bei den KMU ebenfalls bereits gut etabliert. Und selbst bei Grossunternehmen führen die Betriebskosten traditioneller Datenbanken und die zunehmende Knappheit an Administratoren zu einer steigenden Nachfrage.
Umfassende Anforderungen
Nicht jede Datenbank eignet sich nun allerdings zum unbeaufsichtigten Einsatz innerhalb von Applikationen. Denn eine Embedded Database muss auch unter erschwerten Bedingungen 100 prozentig fehlerfrei funktionieren - selbst wenn mitten während umfangreicher Verarbeitungsläufe versehentlich der Stecker gezogen wird. Schliesslich ist die Datenbank hier unsichtbar, und das heisst auch, dass niemand kommt um sie zu reparieren, wenn einmal etwas schief geht. Ganz ohne die sonst vom Administrator geleisteten Wartungsarbeiten wie Reorganisation und Pflege von Indizes muss ein eingebettetes DBMS beste Performance und Skalierbarkeit bieten. Kein Softwarehaus will sich hier einen Engpass einhandeln, der die Marktchancen der eigenen Applikation limitiert. Von den Softwarehäusern kommen noch weitere, grundlegende Anforderungen hinzu. Damit die Datenbank nicht den Einsatzbereich der Anwendung einschränkt, muss sie möglichst ohne Code-Anpassungen auf allen relevanten Betriebssystemplattformen lauffähig sein. Optimaler Weise dient die Datenbank sogar selbst als Plattform und sorgt für die Portabilität der Anwendung je nach Kunde etwa von Windows auf Linux oder Open-VMS. Gleiches gilt für die Unterstützung von Front-End-Techniken (Web, GUI) oder Frameworks wie Enterprise Java und Dotnet. Die Datenbankauswahl darf hier keinesfalls zur Einschränkung werden, im besten Falle ermöglicht gerade sie sogar die Unterstützung der verschiedenen Paradigmen.
Entwickler kann profitieren
Bedenkt man, dass je nach Anwendung die Programmierung der Datenbank-Schnittstellen bis zu 40 Prozent der Entwicklungszeit ausmachen kann, wird klar, dass die Auswahl der Datenbank für ein Softwarehaus mehr als nur taktische Bedeutung hat. Bei Verwendung einer Embedded Database kann das Softwarehaus sich auf eine einzige unterstützte Datenbank festlegen, die es dem Kunden dann mitliefert. Dadurch befreien sich die Entwickler von der Notwendigkeit, Datenbank-unabhängig zu programmieren, und werden durch optimale Nutzung der Spezifika der ausgewählten Datenbank entsprechend produktiver. Bringt das DBMS zudem einen Applikationsserver ebenfalls eingebettet mit, so können Entwickler je nach Produkt Funktionen wie XML-Unterstützung, Webservices, Dotnet-Anbindung oder sogar die Erzeugung leistungsfähiger Weboberflächen direkt aus der Datenbank heraus nutzen. Durch den Rückgriff auf solche fertigen Technologiekomponenten lässt sich die Entwicklungszeit einer Anwendung bis zur Marktreife leicht halbieren oder noch weiter verkürzen. Allerdings werden solch fortgeschrittene Anwendungsfunktionalitäten in der Regel nur von jenen Embedded Databases angeboten, die einem objektorientierten Modell folgen.
Wiedergeburt?
Der Datenbankmarkt durchlief bereits vor Jahren einen starken Trend zu so genannten Objektdatenbanken, die in der Folge allerdings nach und nach grösstenteils wieder vom Markt verschwanden. Viele Marktbeobachter halten Objektdatenbanken demnach für eine erfolglose Technik, die bestenfalls in speziellen Anwendungsbereichen noch ein Nischendasein fristet. Dabei bestand der Fehler der Objektdatenbanken vor allem darin, den Unternehmensdatenbanken ihren Platz streitig zu machen. Seine unbestrittenen Vorteile kann eine objektorientierte Datenbank nämlich dann ausspielen, wenn sie als Komponente in einem grösseren objektorientierten System eingesetzt wird. Für die Embedded Database einer objektorientierten Anwendung ist Objektorientierung eine Grundvoraussetzung dafür, dass Entwickler die zuvor beschriebenen Produktivitätsvorteile nutzen können. Ein durchgängiges Objektmodell zwischen Benutzerschnittstelle, Anwendung und Datenbank, in der die Datenbank automatisch für eine persistente Objektspeicherung sorgt, verkürzt die Entwicklungszeit, reduziert Fehler und erhöht damit die Qualität des resultierenden Softwareproduktes erheblich.
Sowohl als auch
Was aber, wenn der Kunde nicht nur mit der Anwendung auf seine Daten zugreifen möchte, sondern darüber hinaus ein Reporting auf SQL-Basis fordert? Für solche Fälle stehen heute postrelationale Datenbanken im Embedded-Database-Modell zur Verfügung, die den objektorientierten Ansatz mit dem altbewährten relationalen Ansatz kombinieren. Die objektorientierte Anwendung arbeitet beim Datenbankzugriff mit Klassen, das SQL-basierte Reporting-Tool sieht die identischen Daten als Tabellen. Verfügt die betreffende Datenbank über eine Gateway-Funktionalität, die Datenzugriffe an eine externe relationale Datenbank umleitet, ist sogar die Entscheidung zwischen eingebetteter oder Unternehmensdatenbank nicht mehr endgültig. Dann kann ein und dieselbe Anwendungsfunktionalität bei einem Kunden auf die eigene eingebettete Datenbank zugreifen, bei einem anderen Kunden aber auf die bereits vorhandene Unternehmensdatenbank aufsetzen.

Fazit

Bei sorgfältiger Auswahl des DBMS ist der Einsatz einer eingebetteten Datenbank also durchaus geeignet, die Produktivität bei der Entwicklung einer Anwendung zu steigern und die Kosten bei ihrem späteren Betrieb zu senken. Die erheblichen Vorteile sowohl für Entwickler als auch die Endkunden einer Anwendung machen klar, weshalb dieses Marktsegment heute zu einem der am schnellsten wachsenden Bereiche in der IT gehört.
Peter Mengel



Das könnte Sie auch interessieren