XML Einstieg
  XML Bibliothek
  Bücher
  Glossar
  Links
   
  engl. Version
  Ressourcen

 

 

 

 

XML Bibliothek

XML überfordert RDBMS

von Karin Oppel,  
Produktmarketing-Manager Tamino, Software AG

Mit XML hat sich ein neuer Standard etabliert, der nicht nur die Kommunikation im Web verändert, sondern auch die Datenhaltung. Die Speicherung von XML-Objekten mittels RDBMS oder ODBMS ist zwar möglich, aber nicht optimal. Gerade für Electronic-Business-Anwendungen werden spezielle XML-Informationsserver mit neuer Technologie benötigt.

Innerhalb weniger Jahre hat sich das Web zu einem universellen Kommunikationsstandard entwickelt, der mittlerweile alle Bereiche des Lebens beeinflußt. Aus der Geschäftswelt ist das Web schon heute nicht mehr wegzudenken: Hat der digitalisierte Briefwechsel in kürzester Zeit die Unternehmenskultur nachhaltig verändert, so werden sich allem Anschein nach elektronischer Handel und elektronische Geschäftsverbindungen noch weit stärker auswirken.
Für die IT-Branche bedeutet diese Entwicklung eine gewaltige Herausforderung. Was immer Unternehmen sich in Verbindung mit dem Web vornehmen – sie brauchen dafür neue Technologien: neue Kommunikationstechniken, neue Anwendungen, eine neue Informationsverarbeitung. Denn immer mehr zeigt sich, daß die Adaption herkömmlicher IT auf die neue Welt des Web an Grenzen stößt. Ohne diese bewährten Techniken hätte die IT sicher niemals in die Weiten des Web vorstoßen können. Aber hier einmal angekommen, müssen neue Wege beschritten werden, um die aktuellen Anforderungen bewältigen zu können.

Von HTML zu XML
Eine dieser Technologien, die das Web erst erschlossen haben, ist HTML. HTML ist die Beschreibungssprache, mit deren Hilfe die Web-Browser die grafische Oberfläche des Web erzeugen. Ohne HTML gäbe es kein Web. Jedoch reichen die Möglichkeiten von HTML für neue Aufgabenstellungen wie Electronic Business nicht mehr aus. Das ist die Stunde für neue Technologien.

XML wurde für Informationen konzipiert, wie sie im Web typischerweise vorliegen: dokumentenorientiert, hierarchisch strukturiert, mit einer großen Bandbreite verschiedener Inhalte. Mit XML lassen sich Informationen gerade im Web optimal beschreiben. Aber wie wer-den sie weiterverarbeitet? Herkömmliche Technologien sind dafür nur bedingt geeignet. SQL beispielsweise wurde für ganz andere Zwecke konzipiert, und Versuche, SQL für XML zurechtzubiegen, schneiden XML von dem ab, was es für seinen weiteren Weg mit am dringendsten braucht: Leistungsfähigkeit und Verfügbarkeit.

XML ist eine standardisierte Sprache zur Beschreibung von Daten auf der Basis von SGML und geht weit über den bislang im Web hauptsächlich verwendeten HTML-Standard hinaus. Anders als HTML ist XML in der Lage, Daten nicht nur nach formalen Kriterien (wie Überschrift, Textkörper usw.) zu strukturieren, sondern auch nach inhaltlichen Gesichtspunkten. Um den ganz unterschiedlichen Inhalten des Web Rechnung zu tragen, ist XML dabei so flexibel, daß die jeweiligen inhaltlichen Strukturmerkmale von Benutzergruppen selbst definiert werden können. Aufgrund seiner Einfachheit und großen Flexibilität ist XML das ideale Medium für die Beschreibung von Electronic-Business-Daten.

XML speichern
Die große Flexibilität von XML erschließt diesem Standard ein Einsatzgebiet, das weit über HTML hinausreicht. XML kann nicht nur komplexe hierarchische Informationen verarbeiten, sondern läßt sich auch für kommerzielle Transaktionen einsetzen. Aus Anwendungssicht ist XML das, was TCP/IP aus Sicht der Kommunikation ist. Beide Standards zusammen bilden eine Grundlage für die Nutzung des Web für Electronic Business. Vor diesem Hintergrund müssen zwei Forderungen an eine XML-Infrastruktur gestellt werden:

  • XML-Informationen müssen – gegebenfalls in großem Umfang und auch für Transaktionen – schnell und sicher zur Verfügung gestellt werden.

  • XML-Informationen müssen mit vorhandenen Unternehmensdaten integriert werden.

Schon wer HTML-Seiten in einem Filesystem verwalten will, wird sich bei zunehmendem Umfang der Web-Seiten mit einem gewaltigen Verwaltungsaufwand für Pflege und Aktualisierung konfrontiert sehen. Für die weitaus komplexeren XML-Dokumente sind dagegen leistungsfähigere Systeme nötig, vor allem wenn man sie im Rahmen von Electronic-Business-Anwendungen nutzen möchte. Nach dem derzeitigen Stand der Technik bieten sich für die Speicherung und Verwaltung der XML-Dokumente Datenbanken an, nicht zuletzt weil man deren Basis-Features, wie Konsistenzsicherung, Wiederanlauffähigkeit, Recovery usw., nutzen kann.

Am einfachsten wäre es natürlich XML-Objekte in einer bestehenden Datenbank lediglich als “Character Large Objects” zu speichern. Dabei wür-den die XML-Befehle (Tags) in diesen Objekten lediglich als Fließtext behandelt, die mit den Methoden der Volltextsuche erschlossen werden könnten. Außerdem kann eine Datenbank zusätzliche Möglichkeiten für die Indizierung der Informationsobjekte und damit flexiblere Zugriffspfade bereitstellen. Da-mit wäre der Zugriff auf diese Objekte sowohl über die Strukturen der Objekte (structure-based retrieval) als auch über ihre Inhalte (content-based retrieval) möglich. Allerdings müßten auf diesem Weg sämtliche relevanten Informationen in separaten Feldern oder Tabellen verwaltet werden. Die hierarchischen Strukturen von XML-Objekten könnten auf diese Weise jedoch nicht abgebildet werden. Eine derartige Lösung ließe sich mit den gegenwärtig verfügbaren Mitteln zwar relativ einfach umsetzen, eine performante Bewältigung auch größerer Datenvolumina oder gar von XML-Transaktionsdaten ließe sich so keinesfalls erreichen.

XML und SQL
Es ist naheliegend, für die Speicherung von XML-Informationen herkömmliche Datenbanken einzusetzen, zum Beispiel relationale Datenbanken, die mit SQL-Strukturen arbeiten. Dafür müssen XML-Objekte, die meist komplexe Strukturen aufweisen, in tabellanartige, relationale Strukturen umgesetzt werden. Diesen Weg gehen heute manche Anbieter relationaler Datenbanken.
Technisch ist die Verwendung solcher SQL-Datenbanken für XML-Objekte ohne großen Aufwand möglich. Für die Modellierung von Relationen zwischen SQL-Tabellen bietet XML zunächst allerdings keine geeignete Infrastruktur. Darüber hinaus stellt die fehlende Typisierungsmöglichkeit, also zum Beispiel die Definition von Feldeigenschaften wie 'numerisch', eine Einschränkung bei der Beschreibung gegebener SQL-Datenstrukturen mit XML dar. Zur Lösung dieses Problems gibt es bereits einige Ansätze. Der vielversprechendste ist "XML-Data", ein Vorschlag zur Beschreibung vollständiger Abbildungen von SQL-Strukturen gemäß XML, der beim WWW-Konsortium als "technical note" eingereicht wurde.

Umgekehrt ist die Implementierung beliebiger Baumstrukturen, wie sie von XML unterstützt werden, in einem relationalen Datenmodell zwar machbar, stellt aber in der Praxis ein kaum überschaubares Problem dar. XML erlaubt eine hierarchische Staffelung von Informationen in beliebiger Tiefe. Um dies in relationalen Datenbanken wiederzugeben, müßten umfangreiche Tabellenverknüpfungen nicht nur eingerichtet, sondern auch verwaltet werden. In der Praxis ergibt sich deshalb hier schon nach relativ wenigen Ebenen ein massives Performanceproblem. Auf diese Weise könnten also wieder nur sehr einfache XML-Objekte verwaltet werden – eine derartige Einschränkung widerspräche jedoch fundamental der ganzen XML-Philosophie.

Ein anderes gravierendes Problem stellen die Locking-Mechanismen der RDBMS dar. Locking auf Dokumentebene wird hier nicht unterstützt – Dokumente spielen in der Methodologie der RDBMS ja auch keine Rolle. Für das Update eines in einem RDBMS abgebildeten XML-Dokuments müßten zahlreiche Locks in vielen Tabellen kon-trolliert werden. Ein weiterer Grund für Performanceverluste und das Entstehen eines enormen, internen Verwaltungs-Overhead.

Außerdem entzieht sich die typische Dokumentenstruktur vieler mit Hilfe von XML modellierter Informationsobjekte, wie zum Beispiel längere Textelemente, Bilder und komplexe Querverbindungen, einer unmittelbaren Darstellung mit relationalen Mitteln, ganz abgesehen von der Möglichkeit, in XML auch nicht vordefinierte Tags zu verwenden. Es ist ja gerade der große Vorteil von XML, für Objekte dieser Art eine bessere Abbildung zu liefern als "reines" SQL. Diese Problematik ist im übrigen davon unabhängig, an welcher Stelle der Datenbank die Konvertierung von XML ins relationale Modell erfolgt, ob als Schnittstelle oder nativ.

XML und ODBMS
Die Welt der hierarchisch strukturierten XML-Objekte legt auf den ersten Blick eine direkte Verbindung mit objektorientierten Datenbanken (ODBMS) nahe. Diese bieten ja für XML eine fast generische Möglichkeit, die Strukturen persistenter Objekte in einen Server zu implementieren. Damit könnten derartige Objekte an einer transparenten Schnittstelle mit XML bereitgestellt und von einer Vielzahl von Benutzern lokal oder über das Web genutzt werden. Allerdings werden die bekannten Nachteile der ODBMS nicht aufgehoben, wenn die Daten über eine XML-Schnittstelle laufen. ODBMS sind in der Praxis für hohen Durchsatz und große Datenmengen nicht brauchbar, sie eignen sich vor allem wenig für Transaktionsaufgaben, die gerade im Electronic Business gefordert werden. Zudem sind ODBMS aufwendig zu implementieren und fallen in ihrer Leistungsfähigkeit erst recht zurück, wenn es darum geht, "Altdaten" aus RDBMS oder gar aus File-Systemen zu integrieren. ODBMS konnten sich daher bisher nur in Spezialaufgaben bewähren – XML-Objekte aber werden zukünftig für die Verwendung in den unterschiedlichsten Geschäftsabläufen bereitgestellt werden müssen.

Die ideale Grundlage für die Speicherung und den Austausch verschiedenartiger XML-Objekte bietet ein XML-Server. Vor allem durch die Möglichkeit der impliziten Datenstrukturierung ergibt sich eine enorme Flexibilität, die gerade für Electronic-Business-Anwendungen gebraucht wird. Informationsabfragen werden dabei nicht als eine Abfolge von SQL-Queries formuliert, sondern als URL an den Server geschickt. So lassen sich in einer einzigen Abfrage nicht nur relationale Datenbanken, sondern gleichzeitig auch andere Quellen nutzen, beispielsweise Bilddateien. Komplexe Objekte, wie Patientendaten – einschließlich Röntgenbilder – können so sehr effizient verwendet werden. Der Einsatz von XML bietet hier eine offene Struktur und bewahrt vor den Problemen proprietärer Ansätze.

Natürliches XML
Manche Datenbankhersteller haben ihre relationalen oder objektorientierten Datenbanksysteme mit Konvertern ausgestattet oder werden dies tun, um XML-Informationen für die Speicherung in ihre gegebenen Strukturen umzusetzen. Die Software AG beschreitet dagegen den "natürlichen" Weg. Sie hat mit Tamino einen "Informationsserver" entwickelt, der von Grund auf auf XML ausgerichtet ist. Tamino verfügt über einen XML-Kern, der XML-Informationen in ihrer natürlichen Struktur speichert. Tamino muß keine zeitraubende Umformatierung in andere Strukturen wie SQL vornehmen. Der Vorteil wird hier eindeutig in höherer Performance liegen, was für transaktionsorientierte Anwendungen wichtig ist – und gerade solche werden ja für die rapide wachsenden Anforderungen im Electronic Business benötigt.

Ein Schwachpunkt bisheriger XML-Systeme ist die Transaktionsverarbeitung. Traditionell regieren im Web noch Einzeldokumente, mehr oder wenig komplexe Web-Seiten, deren Verwaltung zwar aufwendig, selten aber zeitkritisch ist. Dies ändert sich mit Electronic Business, wenn Transaktionen benötigt werden, um kommerzielle Operationen wie Bestellungen, Buchungen usw. durchführen zu können. Auf Basis des zustandslosen HTTP-Protokolls läßt sich das freilich nicht realisieren. Tamino stellt deswegen eine Transaktionslogik auf Grundlage klassischer ACID-Transaktionen erstmals auf Dokumentenebene zur Verfügung. Ganz im Sinne der XML-Logik ist dabei Locking für ganze Dokumente möglich, so daß User auf ein Dokument, das in Bearbeitung ist, nicht zugreifen können. Mit einer XML-Datenbank auf SQL-Basis wäre dieses Konzept nur mit größtem technischen Aufwand – und folglich mit eingeschränkter Leistungsfähigkeit – umsetzbar.

Umgekehrt wird es natürlich auch mit XML-Speichersystemen praktisch sein, wenn SQL-Daten in ihrem eigenen Format gespeichert werden können. Deswegen hat die Software AG Tamino, ihrem neuen XML-Informationsserver, zusätzlich eine SQL-Engine eingebaut. Diese kann sowohl tabellarische Daten aufnehmen, die in XML-Dokumenten eingebettet sind, als auch für die Unterstützung von Anwendungen dienen, die auch weiterhin mit SQL auskommen und auf dem gleichen Rechner laufen wie der XML-Server. So ist aus Tamino nicht bloß eine XML-Informationsspeicher, sondern eine ganze Architektur rund um einen XML-Server geworden. Ein vielversprechendes, ganz neues Konzept, dessen Umsetzung in praktische Projekte spannend wird.

 

Was ist neu?

Software AG baut Marktanteil bei XML-Technologie deutlich auf 40,5 Prozent weltweit aus
 

XML Einstieg

Was ist XML?
Warum XML?
XML in der Praxis
XML Glossar

mehr...

Mehr über XML

Robin Cover's XML News

XML.ORG
XML.COM
W3C


mehr...

Bücher über XML

XML Grundkurs
XML & Co.
Workshop XML
XML Ge-Packt
Datenbanken und XML
Java/XML. Das Einsteigerseminar
XSLT und XPath