XML-Archivierung betriebswirtschaftlicher Datenbank-Objekte* Bernhard Zeller Axel Herbst Alfons Kemper 9400 Passau <Nachname>@db.fmi.uni-passau.de SAP AG 6990 Walldorf axel.herbst@sap.com * Diese Arbeit wurde durch die Firma SAP im Rahmen des sog. Terabyte-Projektes gefördert.
Gliederung Motivation Archivierung bisher Verwandte Arbeiten Besonderheiten der XML-Archivierung Der XML-Archivierungs- Leistungsanalyse Zukünftige Arbeiten Zusammenfassung 6.0.00 Lehrstuhl für Dialogorientierte Systeme
Motivation Datenbanken betriebswirtschafticher Software wie z.b. SAP R/ wachsen stetig (bereits mehrere Terabyte) Tabellen mit sehr vielen Einträgen Leistungseinbußen, schwer administrierbar Archivierung kann Probleme lösen / lindern durch Verschieben der Daten von selten oder wenig benötigten betriebswirtschaftlichen Objekten aus der Datenbank heraus auf Tertiärspeichersysteme (z.b. CDs) Tabellen werden kleiner Kosten werden gesenkt (CDs billiger als Platten) 6.0.00 Lehrstuhl für Dialogorientierte Systeme
Archivierung bisher Anwendung Archivierungs- Komponente DB Ablagesystem 6.0.00 Lehrstuhl für Dialogorientierte Systeme 4
Archivierung bisher Anwendung Archivierungs- Komponente DB Ablagesystem 6.0.00 Lehrstuhl für Dialogorientierte Systeme 4
Archivierung bisher Anwendung Archivierungs- Komponente DB Ablagesystem 6.0.00 Lehrstuhl für Dialogorientierte Systeme 4
Archivierung bisher Anwendung Archivierungs- Komponente DB Ablagesystem 6.0.00 Lehrstuhl für Dialogorientierte Systeme 4
Archivierung bisher Anwendung Archivierungs- Komponente Ablagesystem Anwendung Archivierungs- Komponente DB Anwendung Archivierungs- Komponente Anwendung n Archivierungs- Komponente n 6.0.00 Lehrstuhl für Dialogorientierte Systeme 4
Archivierung bisher Anwendung Archivierungs- Komponente Anwendung Archivierungs- Komponente DB Anwendung Archivierungs- Komponente Anwendung n Archivierungs- Komponente n Ablagesystem Archivierungskomponente MM HR FI PS CO SAP- System 6.0.00 Lehrstuhl für Dialogorientierte Systeme 4
Probleme Anwendung Vielzahl von Archivierungskomponenten Daten in Ablage ohne Anwendung nicht lesbar Hohe Netzlast (DB Anwendung Ablage) Definition des betriebswirtschaftlichen Objektes nur in Anwendung verfügbar Komplexe Prüfungen für Archivierbarkeit notwendig Nur in Anwendung Archivierungs- Komponente Ablagesystem DB 6.0.00 Lehrstuhl für Dialogorientierte Systeme 5
Probleme Anwendung Vielzahl von Archivierungskomponenten Daten in Ablage ohne Anwendung nicht lesbar Hohe Netzlast (DB Anwendung Ablage) Definition des betriebswirtschaftlichen Objektes nur in Anwendung verfügbar Komplexe Prüfungen für Archivierbarkeit notwendig Nur in Anwendung Archivierungs- Komponente Ablagesystem DB 6.0.00 Lehrstuhl für Dialogorientierte Systeme 6
Lösung Zentrale Archivierungskomponente, die Teil der Datenbank ist und die Daten als XML-Dateien ablegt. 6.0.00 Lehrstuhl für Dialogorientierte Systeme 7
Verwandte Arbeiten K. Küspert and R. Schaarschmidt. Archivierung in Datenbanksystemen, Informatik Spektrum, 998 R. Schaarschmidt, Archivierung in Datenbanksystemen: Konzept und Sprache, Verlag B.G. Teubner, 00. M. J. Carey, D. Florescu, Z. G. Ives, Y. Lu, J. Shanmugasundaram, E. J. Shekita, and S. N. Subramanian. XPERANTO: Publishing Object-Relational Data as XML, In Proc. of the Third International Workshop on the Web and Databases, 000. M.F. Fernandez, W.-C. Tan, and D. Suciu. SilkRoute: Trading between Relations and XML. In Int l World Wide Web Conf. (WWW), 000. 6.0.00 Lehrstuhl für Dialogorientierte Systeme 8
Probleme Vielzahl von Archivierungskomponenten Daten in Ablage ohne Anwendung nicht lesbar Hohe Netzlast (DB Anwendung Ablage) Definition des betriebswirtschaftlichen Objektes nur in Anwendung verfügbar Komplexe Prüfungen für Archivierbarkeit notwendig Nur in Anwendung nur eine XML innerhalb DB 6.0.00 Lehrstuhl für Dialogorientierte Systeme 9
Probleme Vielzahl von Archivierungskomponenten Daten in Ablage ohne Anwendung nicht lesbar Hohe Netzlast (DB Anwendung Ablage) Definition des betriebswirtschaftlichen Objektes nur in Anwendung verfügbar Komplexe Prüfungen für Archivierbarkeit notwendig Nur in Anwendung nur eine XML innerhalb DB XML Schema 6.0.00 Lehrstuhl für Dialogorientierte Systeme 9
Probleme Vielzahl von Archivierungskomponenten Daten in Ablage ohne Anwendung nicht lesbar Hohe Netzlast (DB Anwendung Ablage) Definition des betriebswirtschaftlichen Objektes nur in Anwendung verfügbar Komplexe Prüfungen für Archivierbarkeit notwendig Nur in Anwendung nur eine XML innerhalb DB XML Schema temporäre Tabellen 6.0.00 Lehrstuhl für Dialogorientierte Systeme 9
XML Archivierung Anwendung Anwendung.. n XML-Archivierungs- Ablagesystem XML XML XML XML 6.0.00 Lehrstuhl für Dialogorientierte Systeme 0
XML Archivierung Anwendung Ablagesystem XML XML XML XML Schema + temp. Tabellen XML Anwendung.. n XML-Archivierungs- 6.0.00 Lehrstuhl für Dialogorientierte Systeme 0
XML Archivierung Anwendung Ablagesystem XML XML XML XML Schema + temp. Tabellen XML Anwendung.. n XML-Archivierungs- 6.0.00 Lehrstuhl für Dialogorientierte Systeme 0
XML Archivierung Anwendung Ablagesystem XML XML XML XML Schema + temp. Tabellen XML Anwendung.. n XML-Archivierungs- 6.0.00 Lehrstuhl für Dialogorientierte Systeme 0
XML Archivierung Anwendung Ablagesystem XML XML XML XML Schema + temp. Tabellen XML Anwendung.. n XML-Archivierungs- 6.0.00 Lehrstuhl für Dialogorientierte Systeme 0
XML Schema Parameter Definition des betriebswirtschaftlichen Objektes, d.h. auf welche Tabellen sind die Daten eines Objektes verteilt bestimmt das Aussehen der erzeugten XML Dateien Einbinden der Daten mittels Annotationen: <xsd:annotation> <xsd:appinfo> sql:[schema].[tabelle].[spalte] </xsd:appinfo> </xsd:annotation> 6.0.00 Lehrstuhl für Dialogorientierte Systeme
Temporäre Tabellen enthalten die Schlüsselwerte der zu archivierenden Tabelleneinträge Kennzeichnen, welche Tabelleneinträge zu welchem Objekt gehören: Bestellung (BID, Kunde, Datum, Summe) Bestellposition (BID, Zeile, Ware, Anz, Preis) Arch_Bestellung ArchKey BID Obj_ Obj_ Arch_Bestellposition ArchKey BID Zeile Obj_ Obj_ Obj_ 6.0.00 Lehrstuhl für Dialogorientierte Systeme
XML Archivierung Anwendung Ablagesystem XML XML XML XML Schema + temp. Tabellen XML Anwendung.. n XML- Archivierungs- 6.0.00 Lehrstuhl für Dialogorientierte Systeme
Beispiel Bestellung Bestellpositionen BID Kunde Datum Summe BID Zeile Ware Anz. Preis 47.5.0 00 Fernseher 000 5678.5.0 57 DVD-Player 00 456 4.5.0 07 Radio 57 4 5678 4.5.0 0 Batterien 0 0,0............ Lautsprecher CDs 0... 6.0.00 Lehrstuhl für Dialogorientierte Systeme 4
XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 5 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Zeile Obj_ Obj_ Obj_ Obj_ Obj_ XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 5 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 5 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 6 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 6 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 6 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 6 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 6 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 6 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 6 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 6 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 6 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 6 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 7 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung Lösch- Operation XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 7 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung Lösch- Operation XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 7 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung Lösch- Operation XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 7 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung Lösch- Operation XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 7 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung Lösch- Operation XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 7 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung Lösch- Operation XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 7 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung Lösch- Operation XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 7 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung Lösch- Operation XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 7 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung Lösch- Operation XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 7 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung Lösch- Operation XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 8 Ablage
Temporäre Tabelle ArchKey BID ArchKey BID Obj_ Obj_ Obj_ Obj_ Obj_ Zeile XML-Schema <xsd:schema XML- Generierung Lösch- Operation XML-Archivierungs- Anwendung 6.0.00 BID Kunde Datum Summe BID Zeile Ware Anz. Preis OLTP-Datenbasis Lehrstuhl für Dialogorientierte Systeme 9 Ablage
Ablauf einer XML-Archivierung. Temporäre Tabellen erzeugen. Temporäre Tabellen mit Schlüsselwerten füllen. Der XML-Archivierungs- wird aufgerufen. (a) Temporäre Tabellen sperren (b) Einträge in prod. Tabellen sperren (Lesesperre) (c) Daten und XML-Schema verknüpfen und XML-Dokumente generieren (d) XML-Dokumente ablegen (e) Lesesperren in Schreibsperren umwandeln und Daten in prod. Tabellen löschen (f) Der gibt die Sperren frei. 4. Temporäre Tabellen löschen 6.0.00 Lehrstuhl für Dialogorientierte Systeme 0
Bulkdelete (ICDE 00) 6.0.00 Lehrstuhl für Dialogorientierte Systeme
Light-Variante des Bulkdelete Wenn RID vorhanden (und order by erlaubt): delete from <produktive Tabelle P> where <P.Schlüssel> in (select <P.Schlüssel> from <produktive Tabelle P>, <temporärer Tabelle T> where <P.Schlüssel>=<T.Schlüssel> order by <P.RID>) Sortierung bzgl Primärschlüssel und auf gute Clusterung hoffen 6.0.00 Lehrstuhl für Dialogorientierte Systeme
Gliederung Motivation Archivierung bisher Verwandte Arbeiten Besonderheiten der XML-Archivierung Der XML-Archivierungs- Leistungsanalyse Zukünftige Arbeiten Zusammenfassung 6.0.00 Lehrstuhl für Dialogorientierte Systeme
Leistungsanalyse 00 50 Objekttyp, 0.000 Objekte Zeit (sec) 6.0.00 00 50 00 50 0 0 5 0 Prozent gelöscht trad light Lehrstuhl für Dialogorientierte Systeme 4
Leistungsanalyse XML Generierung: 0.000 Objekte, 0% archiviert Zeit (min) 6.0.00 45 40 5 0 5 0 5 0 5 0 OBJEKT OBJEKT OBJEKT OBJEKT 4 Objekttyp Lehrstuhl für Dialogorientierte Systeme 5
Leistungsanalyse 50 0 0.000 Objekte, Objekttyp Zeit (min) 90 60 0 client server 0 0 5 0 Prozent archiviert / gelöscht 6.0.00 Lehrstuhl für Dialogorientierte Systeme 6
Zukünftige Arbeiten Implementierung verschiedener XML- Generierungstechniken Vergleich mit den XML-Generierungswerkzeugen der Datenbankhersteller Entwicklung eines dafür geeigneten Benchmarks Leistungsanalyse 6.0.00 Lehrstuhl für Dialogorientierte Systeme 7
6.0.00 Lehrstuhl für Dialogorientierte Systeme 8
Zusammenfassung In dieser Arbeit wurde ein XML-Archivierungs-, der Daten betriebswirtschaftlicher Objekte als XML-Dokumente ablegt und in die Datenbank integriert ist Durch Archivierung verbessert sich die Leistung des DBMS, es werden Kosten gespart und durch Ablage als XML-Dokumente sind die Daten für andere Anwendungen lesbar 6.0.00 Lehrstuhl für Dialogorientierte Systeme 9
Fragen Danke für Ihre Aufmerksamkeit. Fragen? 6.0.00 Lehrstuhl für Dialogorientierte Systeme 0