1 / 132

Ralf Mueller Server Technologies Oracle Corporation

Oracle XML Datenbank. Ralf Mueller Server Technologies Oracle Corporation. Agenda. XML in der Datenbank Speicherformen für XML-Dokumente, Datenbankansätze, Oracle XML Technologie, Architektur der Oracle XML-Datenbank, Installation + Konfiguration

jana-joseph
Download Presentation

Ralf Mueller Server Technologies Oracle Corporation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Oracle XML Datenbank Ralf Mueller Server TechnologiesOracle Corporation

  2. Agenda XML in der DatenbankSpeicherformen für XML-Dokumente, Datenbankansätze, Oracle XML Technologie, Architektur der Oracle XML-Datenbank, Installation + Konfiguration XML-SpeicherstrukturenFestlegung der Speicherungsform, XML Schema, Registrierung, objektrelationale Strukturen Umgang mit XML-DokumentenSpeichern und Abrufen von XML-Dokumenten; Verbindung mit SQL; Protokollzugriff XML in der Praxis – Szenarien und ImplementierungImplementierung der Szenarien mit der XML-Datenbank, Zusammenspiel mit Oracle-Technologie

  3. Warum XML in der Datenbank ...?

  4. ... und nicht einfach im Dateisystem?

  5. Warum XML in der Datenbank ...... und nicht im Dateisystem? • relationale Daten bereits vorhanden • Kombination mit XML Dokumenten • Ausgabe als XML-Dokument • Erweiterung des XML-Datenmodells • Zusätzliche Datenbankvalidierung • Transaktionskonzept • Datennahe Sicherheitskonzepte • Datennahe Logik • ...

  6. XML Standards • XML – W3C • DOM – W3C • XPath – W3C • XML Schema – W3C • XSL and XSLT – W3C • WebDAV - IETF • SQL/XML – ANSI/ISO

  7. Wie speichert man XML-Dokumente in Datenbanken ...?

  8. Herausforderungen Abruf als XML • Beispiele: • heterogene Systeme • XML Schnittstellen • Versorgung des Workflow • Abruf per HTTP oder FTP relationale Datenbestände

  9. Herausforderungen • Beispiele: • XML als Austauschformat im e-Business • Sammlung und Aggregation im DWH • DWH-Versorgung aus heterogenen Systemen Abruf mit SQL XML-Dokumente Überführung in DWH oder andere Anwendung

  10. Beispiele: • XML Dokumente nativ speichern (jur. Gründe) • Validitätsprüfung gegen Stammdaten in einer relationalen Datenbank • Validierung im laufenden Workflow Herausforderungen Integritäts-bedingungen relationale Datenbestände XML Datenbestände

  11. HerausforderungenReferentielle Integrität in XML • XML-Datenmodell • referentielle Integrität • ID • IDREF • IDREFS • Dokumentbezogen

  12. HerausforderungenReferentielle Integrität in XML • XML-Datenmodell • referentielle Integrität • ID • IDREF • IDREFS • Dokumentbezogen • Das Dokument kann ohne weiteres nicht verlassen werden

  13. 1. Lösungsansatz • relationale Speicherung • Zwei-Tabellen-Modell ID TYPE VALUE ID PARENT_ID 1 ELE Order 2 ELE Kunde 3 ELE Name 4 TEX Mustermann 5 ATT id 6 TEXT 4711 1 NULL 2 1 3 2 4 3 5 1 6 5

  14. 1. Lösungsansatz • Semantik aus Tabellen nicht nachvollziehbar • Schwierige Integration • z.B. Stammdatentabellen • Tuning schwierig • Indizierung schwierig • Volltextsuche schwierig • Komplexe JOIN-Operationen

  15. 2. Lösungsansatz • relationale Speicherung • Fachliches Datenmodell KUNDEN ID NAME DEPOT ID WERTPAPIER 1 Muster 4711 2 Meier 4712 3 Schmitt 4713 1 VW AG 2 Oracle Corp. 3 Sun Microsys.

  16. 2. Lösungsansatz • Semantik nachvollziehbar • einfache Integration mit anderen Tabellen • Tuning für bestimmte Abfragen möglich • Volltextsuche schwierig • Komplexe Logik (Dokumentzerlegung) • Informationsverluste gute Eignung, wenn XML als reines Transportformat dient und die relationale Tabellenform im Vordergrund steht.

  17. 3. Lösungsansatz • Reine XML-Datenbank • "native" XML-Speicherung • für XML Strukturen optimiert • gute XML Schnittstellen • gute XML-Indizierung • Integration mit relationalen Daten schwierig • Locking-Verhalten • Referentielle Integrität

  18. Native XML-Speicherung • XML:DB Initiative • Definition • Unterstützt das XML-Datenmodell • Elemente, Attribute, PCDATA, Kommentare, ... • Garantiert 1:1-Wiederherstellung des XML-Dokumentes • Unterstützt standardkonforme Abfragesprachen • Ist unabhängig von physikalischer Speicherung!

  19. Oracle XML DB: Architektur User XDB: XML DB Repository HTTP XML Schema FTP User SCOTT: XML Dokumente SQL*NET Oracle Shared Server

  20. WebDAV

  21. FTP

  22. Installation der XML DB • Softwareinstallation • Keine Besonderheiten, automatisch bei der DB-Konfiguration, zusätzliches Schema XDB, FTP und HTTP-Portkonfiguration • Datenbankerstellung

  23. Installation der XML DB

  24. Installation der XML DB • Voraussetzungen: • R2 Standard oder Enterprise Edition • Oracle Java VM • Shared Server um Protokolle zu nutzen • Manuelle Installation in eine bestehende Datenbank • $ORACLE_HOME/rdbms/admin/catqm.sql[XDB-Passwort] [XDB-TS] [TEMP-TS] • $ORACLE_HOME/rdbms/admin/catxdbj.sql • Deaktivieren der XML DB • $ORACLE_HOME/rdbms/admin/catnoqm.sql • Datenbank neu starten

  25. TCP/IP Port für FTP und HTTP

  26. TCP/IP Port für FTP und HTTP • Manuelle Änderung der Ports über Skripts • $ORACLE_HOME/rdbms/admin/catxdbdbca.sql[ftp-port] [http-port] • Protokollserver abschalten • Jeweiligen Port auf "0" setzen

  27. Table Name Property 1 Property N Property N ACL XML DB Repository xdb$resource Resource_view FTP HTTP XML Tabellen im User Schema B Tree Index Text Index Hierarchical Index

  28. Das Repository RESOURCE_VIEW PATH_VIEW SQL> desc path_view Name Null? Type ----------------------------------------- -------- -------------------------- PATH VARCHAR2(1024) RES SYS.XMLTYPE LINK SYS.XMLTYPE SQL> desc resource_view Name Null? Type ----------------------------------------- -------- ------------------------- RES SYS.XMLTYPE ANY_PATH VARCHAR2(4000)

  29. Folder anlegen • PL/SQL • per FTP oder im WebDAV-Client declare result boolean; begin result := dbms_xdb.createFolder('/public/<Ein Name>'); end; COMMIT;

  30. Unterschiedliche Speicherarten • Die Speicherart richtetsich nach den • Anforderungen der • Anwendung: • Konkurrierender Zugriff • Vokabularänderung • Ladeperformance • Abfrage-Performance • Redundanzen • XML Schema Support Clob Nativ als Dokument Relational Nativ Objektrelational

  31. Unterschiedliche Speicherarten • Die Speicherart richtetsich nach den • Anforderungen der • Anwendung: • Konkurrierender Zugriff • Vokabularänderung • Ladeperformance • Abfrage-Performance • Redundanzen • XML Schema Support Clob Nativ als Dokument Relational Nativ Objektrelational

  32. Dokumentorientiertes XML • Dokument im Vordergrund • Dokument-Transformationen • Dokument als kleinste Einheit • Lesen und Schreiben als Ganzes • Dokumentteile nur selten • Skalare Daten nur selten • Häufig Volltextsuche • XML als medienneutrales Speicherformat

  33. Datenorientiertes XML • Daten im Vordergrund • Dokumentkontext nicht unbedingt wichtig • Häufig strukturierte Suche • größer-als und kleiner-als Abfragen • XML als Austauschformat • Standardisierung der Werkzeuge • Integration in die IT-Landschaft

  34. Mischformen • Beide Konzepte in einem Dokument • Beispiele: • Zeitungsartikel mit strukturierten Zusatzinformationen • Autor, Zeitung, Erscheinungsdatum • ... • Kreditanträge • Strukturierte Kunden- und Kreditdaten • Unstrukturierte Begründungen

  35. Technologie-StackXML-Dokumentspeicherung OS-Blöcke System Calls

  36. Technologie-StackXML-Dokumentspeicherung relationaleTabellen(Oracle 1.0) SQL OS-Blöcke System Calls

  37. Technologie-StackXML-Dokumentspeicherung ObjektrelationaleDatenbank(Oracle 8.0) SQL – Objektrelationale Syntax (SQL99) relationaleTabellen SQL OS-Blöcke System Calls

  38. Technologie-StackXML-Dokumentspeicherung XML-NavigationXPath XML DB (Oracle 9.2) ObjektrelationaleDatenbank SQL – Objektrelationale Syntax (SQL99) relationaleTabellen SQL OS-Blöcke System Calls

  39. Technologie-Stackrein dokumentorientiertes XML XML-NavigationXPath XML DB CLOB-Datentyp relationaleTabellen SQL OS-Blöcke System Calls

  40. Beispiel: Börsennachrichten

  41. Beispiel: BörsennachrichtenBeschreibung als XML Schema

  42. Beispiel: BörsennachrichtenÜberlegungen ... • Strukturierte Informationen • (WKN, Reuters-Code, Quelle, Kontakte, Datum) • Zugriff auf Elemente im Vordergrund • Kombination mit bspw. Kursdatenbank • Strukturierte Speicherung • Unstrukturierte Informationen • Zugriff auf den vollständigen Text im Vordergrund • Volltextsuche • Unstrukturierte Speicherung

  43. Beispiel BörsennachrichtRegistrierung des XML Schemas • 1. Ansatz: • W3C XML Schema wird unverändert in Oracle registriert • Oracle Enterprise Manager

  44. Beispiel BörsennachrichtRegistrierung des XML Schemas • Schema-URL zur Identifizierung des XML Schemas in der Datenbank • URL sinnvoll • jeder String möglich

  45. Beispiel BörsennachrichtErgebnisse: • Feingranulares Mapping • Abbildung nach Objektmodell • darüberhinaus „BODY“-Element • SQL-Datentypen • Systemgenerierte SQL-Namen • Case-Sensitiv • Sequence-Element für Eindeutigkeit über Namespaces hinweg • Neue Namen bei neuer Schema-Registrierung • Tabellen für XML-Dokumente bereits angelegt

  46. "annotated" XML Schema • XML Schema mit "Zusatzinformationen" • Herstellerspezifische Tags und Attribute zur Steuerung der Persistenz • Namespace-Konzept • bei der Schema-Prüfung ignoriert der Parser gemäß W3C "alle Namespaces, die er nicht kennt" • Datenbankunabhängige Parser beachten nur das allgemeine XML Schema • Bei Registrieren in der Datenbank beachtet diese nur das allgemeine XML Schema und die eigenen "Annotations"

  47. annotated XML Schema http://xmlns.microsoft.com/xml http://www.w3.org/2001/XMLSchema Ein XML Schema kann Annotations fürverschiedene Datenbanken enthalten,da die jeweiligen Datenbanken fremde Annotations gemäß W3C ignorieren sollen http://xmlns.oracle.com/xdb

  48. Beispiel BörsennachrichtSchema Annotations <xs:complexType name="aktie_t"><xs:attribute name="wkn" use="required" type="xs:string"><xs:attribute name="name" use="required" type="xs:string"><xs:attribute name="reuters" use="required" type="xs:string"><xs:attribute name="branche" use="required" type="xs:string"></xs:complexType> Das XML Schema beschreibt die Struktur des XML-Dokumentes, nicht deren physikalische Speicherung in einer Datenbank.Die Oracle XML DB macht daher Standard-Annahmenbei der Nachbildung des XML-Datenmodells mit Objekttypen.

  49. Beispiel BörsennachrichtSchema Annotations <xs:complexType name="aktie_t" xdb:SQLType="NR_AKTIE_T"><xs:attribute name="wkn" use="required" xdb:SQLName="AKT_WKN"><xs:attribute name="name" use="required" xdb:SQLName="AKT_NAME"><xs:attribute name="reuters" use="required" xdb:SQLName="AKT_REUTERSCODE"><xs:attribute name="branche" use="required" xdb:SQLName="AKT_BRANCHE"></xs:complexType> SQLType: Abbildung von XML-Datentypen auf Oracle-Datentypen SQLName: Benennung von Elementen in Oracle Der XML-Komplexe Typ „aktie_t“ wird in der Datenbank als Objekttyp „NR_AKTIE_T“ nachgebildet.

  50. Beispiel BörsennachrichtSchema Annotations <xs:element name="body" xdb:SQLName="NR_BODY"> <xs:complexType mixed="true" xdb:SQLType="CLOB"> <xs:choice minOccurs="0" maxOccurs="unbounded"> </xs:complexType></xs:element> SQLType: Abbildung von XML-Datentypen auf Oracle-Datentypen SQLName: Benennung von Elementen in Oracle Der komplexe Typ für den Nachrichten-Body wird nicht als Objekttyp, sondern als CLOB abgebildet.

More Related