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
01 / 132Ralf Mueller Server Technologies Oracle Corporation
1 / 17
Télécharger la présentation
Ralf Mueller Server Technologies Oracle Corporation
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
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
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 • ...
XML Standards • XML – W3C • DOM – W3C • XPath – W3C • XML Schema – W3C • XSL and XSLT – W3C • WebDAV - IETF • SQL/XML – ANSI/ISO
Herausforderungen Abruf als XML • Beispiele: • heterogene Systeme • XML Schnittstellen • Versorgung des Workflow • Abruf per HTTP oder FTP relationale Datenbestände
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
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
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
1. Lösungsansatz • Semantik aus Tabellen nicht nachvollziehbar • Schwierige Integration • z.B. Stammdatentabellen • Tuning schwierig • Indizierung schwierig • Volltextsuche schwierig • Komplexe JOIN-Operationen
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.
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.
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
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!
Oracle XML DB: Architektur User XDB: XML DB Repository HTTP XML Schema FTP User SCOTT: XML Dokumente SQL*NET Oracle Shared Server
Installation der XML DB • Softwareinstallation • Keine Besonderheiten, automatisch bei der DB-Konfiguration, zusätzliches Schema XDB, FTP und HTTP-Portkonfiguration • Datenbankerstellung
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
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
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
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)
Folder anlegen • PL/SQL • per FTP oder im WebDAV-Client declare result boolean; begin result := dbms_xdb.createFolder('/public/<Ein Name>'); end; COMMIT;
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
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
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
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
Mischformen • Beide Konzepte in einem Dokument • Beispiele: • Zeitungsartikel mit strukturierten Zusatzinformationen • Autor, Zeitung, Erscheinungsdatum • ... • Kreditanträge • Strukturierte Kunden- und Kreditdaten • Unstrukturierte Begründungen
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
"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"
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
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.
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.
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.
Connexion au compte
Connectez-vous pour publier votre contenu sur SlideServe.