La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 XML et bases de données Formation SANDRE Pierre LAGARDE.

Présentations similaires


Présentation au sujet: "1 XML et bases de données Formation SANDRE Pierre LAGARDE."— Transcription de la présentation:

1 1 XML et bases de données Formation SANDRE Pierre LAGARDE

2 2 Données versus Documents

3 3 Documents centrés données / XML structuré Utilisé pour les échanges de données Construit pour lanalyse par lordinateur Caractéristiques : – Structures régulières – Données faible granularité – Pas de contenu mixte – Lordre des balises na pas dimportance Exemples – Données scientifiques – …

4 4 Exemple de fichier XML data-centric XML-SANDRE

5 5 Document centré document/ unstructured XML Elaboré pour la lecture humaine Caractéristiques – Structures irrégulières – Données à granularité importante (un élément = le document !) – Données mixtes – Lordre des élément est important Souvent ne provient pas dune base de données Exemples – Un livre – Un document issu de Word –..

6 6 Principales solutions pour gérer du XML XML documents Files system BD Relationnel ou object XML DB BD XML- enabled BD XML native Application mapping Middleware XML

7 7 Stocker et retrouver des données

8 8 Solutions pour les données XML documents XML- enabled database Mapping XML structures (XML schema) Database schema Mapper la structure XML Utilisation dun langage XML Utilisation de XSLT pour transformer la structure XML structure dans une structure attendue par la base de données database Middleware

9 9 Mapper les fichiers dans le schéma de la base Le mapping concerne – Les éléments, attributs et textes – Ignore la structure physique (CDATA sections, encoding,…) – Ignore les structures logiques (processing instructions, comments, order,…) 2 approches du mapping – Table-Based mapping – Object-relational mapping Un import et un export ne crée pas le même fichier (mais les mêmes données)

10 10 Table-based mapping Transférer les données dans les tables relationnelles 1340 Nitrates Validé T00:00:00 DIREN de bassin ILE-de-FRANCE et CENTRE NO3- Nitrates 24 Essais des eaux – Dosage colorimétrique des ions nitrate NF T Février 1952) 25 Essais des eaux - Dosage des nitrates (NF T Août 1975) Parameter Methods

11 11 Table-based mapping avec Oracle En deux opérations Java OracleXML getXML –conn –user system/admin select * from parametres OracleXML (XSU) La structure XML XSLT

12 12 Demonstration with Oracle Need Oracle 8i, 9i or 10g Creates (or exists) a specific schema (relational) To show XML documents : Java OracleXML getXML –user system/admin select * from parametres To put XML Documents : Java OracleXML putXML –user system/admin - fileName nvpara.xml parametres

13 13 Object-Relational mapping Modélisation des données comme des arbres dobjets 1340 Nitrates Validé T00:00:00 DIREN de bassin ILE-de-FRANCE et CENTRE NO3- Nitrates 24 Essais des eaux – Dosage colorimétrique des ions nitrate NF T Février 1952) 25 Essais des eaux - Dosage des nitrates (NF T Août 1975) XML document Objects view Database XML data binding Object/ relational

14 14 2 solutions – Use Object view – XMLType Demonstration of object view Demonstration of XMLTYPE… a native XML in Oracle ? Very complex to create… Object-Relational mapping dans Oracle

15 15 Les langages de requêtes Permettre dextraire des données XML dune base de données Trois approches : – Un développement spécifique – Un langage SQL amélioré – Un langage XML Query Parameter Methods 1340 Nitrates Validé T00:00:00 DIREN de bassin ILE-de-FRANCE et CENTRE NO3- Nitrates 24 Essais des eaux – Dosage colorimétrique des ions nitrate NF T Février 1952) 25 Essais des eaux - Dosage des nitrates (NF T Août 1975)

16 16 Un langage SQL amélioré Utilisé le SQL avec de nouvelles commandes SQL / XML : une évolution de ANSI/ISO SQL 2003 Exemple : – select XMLElement("Code",code_parametre) from parametres – Select XMLElement("Parametre",XMLElement("CodeParametre",XM LAttributes('SANDRE' as "schemeAgency"),code_parametre),XMLElement("NomParam etre",nom_parametre)) from parametres

17 17 Langage XML Query Un langage de programmation pour interroger des collections de données XML XQuery – Développé par W3C (Working Draft in 2005) – Utilisation XPATH – Sources multiples – Spécifique à XML

18 18 Principes XQUERY FLWR Expressions For …. Let ….Where …Return …. Exemples – let $a := input()/SI_DC return Actually, there are { count($a) } networks. – for $a in input()/SI_DC/Bdd where $a/TypeBdd/CdTypeBanque = '3 return $a – for $a in input()/SI_DC/Bdd, $b in input()//BddRdd where $b/Bdd/CdBdd=$a/CdBdd return {$b/Bdd/CdBdd}{$a/LbBdd}

19 19 Principes XQUERY Tri Fonctions dupdate – update replace input()/SI_DC/DispositifCollecte/MnRdd[.="RBESO UQAP"] with test – for $a in input()//DispositifCollecte return $a/MnRdd Recherche de texte

20 20 Stocker et retrouver des documents

21 21 Principals solutions to store XML documents XML documents Files system Relational database object-oriented database XML DB XML- enabled database Native XML database Application mapping XML Middleware

22 22 Stockage Files system Très simple Outils comme grep pour accéder XML Pas très performant

23 23 Stocker les fichiers dans un BLOB XML documents XML documents (no structured) Database schema Mapper les documents XML dans un champ binaire : BLOB Utilisation des technologies full-text BINARY

24 24 Avantages – transactionnel – Sécurité – multiutilisateur – Administration Quelques produits sont are XML-aware – Elimine le problème des tags – Compatible avec le langage XQUERY Utilisation des BLOBs Oracle 9i+ Db2

25 25 Utilisation dune base native XML XML documents XML documents (no structured) XML native database Une base de données optimisée pour le stockage XML Utilise uniquement des XML technologies : XPath, XQuery,…

26 26 Définition dune base de données XML native Un terme marketing de Tamino et non une définition technique. Définition – Un modèle logique pour des documents XML – XML document = lunité de base du stockage (= une ligne en BD relationnel) – Pas de modèle particulier pour le stockage physique

27 27 Native XML Database Architecture Text-Based Native XML Database – Store XML as text – File system, BLOB, … – Indexes of all text – Speed advantage when retrieving entire documents – Slow to find pieces of many documents Model-Based Native XML Database – Store XML documents in an internal object model – Performance similar to text-based – Less slower to find pieces of many documents Similar to a hierarchical database

28 28 Features of Native XML Databases Document Collections – Notion of collection (=table in an relational database) – Hierarchy of collections like directories in an file system Query Languages – Support one or more query languages – XPath, XQuery,… Transactions, Locking and Concurrency – Support transactions – Locking at the level of entire documents – In the future, locking at the level of elements,…

29 29 Features of Native XML Databases Application Programming Interface : API – Offer programmatic APIs – Proprietary APIs – XQuery for Java – Most XML Databases offer the ability to execute HTTP queries Round-tripping – Store an XML document and get the same document back again Remote data / repository – Some database include remote data and repository

30 30 Features of native XML Databases Indexes – A way to increase query speed – Structural indexes – Full-text indexes External entity storage – The problem to store external entities

31 31 An example : Tamino (Software AG) A server oriented native XML Database Features – Proprietary Model- based storage – Storage and search data with Query interpreter – Based from XML Standards – Connexion with XML softwares

32 32 An example : Tamino (Software AG) XML Engine – Native XML storage Query processors – XQuery – X-Query (!) XML Datamap – Metadata about XML documents – Describes where the data in a given XML document is stored X-Tension – access various external applications Management / Security

33 33 Demonstration Tamino

34 34 An example : eXist An OpenSource native XML database Features – Proprietary Text-based storage (B+-trees and paged files) – Hierarchical collections – Automatic Indexes – Supports XQuery – Full-text search – Work with HTTP / Java – Support XUpdate – No transaction support

35 35 Demonstration eXist

36 36 eXist : example of SANDRE Store schemas XML published by the SANDRE Find markup and characteristics Download schemas Parse XML documents

37 37 An example SANDRE Schema = an XML document DB Schema = XML database eXist Search and publish tags = XQuery

38 38 The market for XML database products Categories of XML products – Middleware : Software you call from your application to transfer data between XML documents and databases – XML-enabled database – Native XML database – XML Servers : XML-aware J2EE servers, Web application servers, integration engines, and custom servers. – Wrappers : Software that treats XML documents as a source of relational data. These products typically query XML documents using SQL. – XML Query engines : Standalone engines that can query XML documents – XML Data bindings : Products that can bind XML documents to objects. Some of these can also store/retrieve objects from the database.

39 39 Products : Middleware Lot of products ! ADOMicrosoftDB XMLXML DB XML SQL Utility for Java OracleDB XMLXML DB XSQL ServletsOracleDB XMLXML DB Castor (Java)OpenSourceDB XMLXML DB Alliance XML/400 (AS/400) Patrick TownsendDB XMLXML DB Pear_XML (php)OpensourceDB XMLXML DB

40 40 Products : XML-Enabled database Main databases are XML-Enabled… … if you buy recent versions … with important differences in the implementation of XML features ACCESS (2000+)MicrosoftRelational DB2IBMRelational InformixIBMRelational Oracle 8i,9i, 10gOracleRelational SQL Server (2000+)MicrosoftRelational Sybase ASESybaseRelational

41 41 Products : Native XML database Lot of opensource implementations… Commercial ? TaminoSofware AG Proprietary model Sonic XML ServerSonic software Object-oriented dbXMLOpenSource Proprietary model eXistOpenSourceText model Berkeley DB XML OpenSource Key-value ozone OpenSource Object-oriented XIndice (Apache) OpenSource Proprietary (Model-based)

42 42 Products : others XML Servers – Cocoon (Apache) – ColdFusion (Macromedia) – Zope (OpenSource) XQuery engine – BQ-XQuery engine – Web Logic Integration XQuery engine – DataDirect XQuery – XQEngine – XQuery for.NET – XQuery Processor Data bindings – Castor – JAXB for Java – Jakarta (Apache) – XDK Oracle – XML definition tool (.net) Wrappers – SQLServer – DB2 Information Integrator

43 43 Advantages / Disadvantages of relational database Very used ! Rules to organise data (modelling data) and manages the RDMS Efficient with data Allow all types of search SQL standard Complex (and slow) to find hierarchical data (with join,…) Bad performance with document Need engine to generate and understand XML documents

44 44 Advantages / Disadvantages of XML-Enabled database A database to store relational AND XML documents Rules to organise data (modelling data) and manages the DDMS Efficient with data and to mapping XML Data SQL extension less new skills to be acquired Complex to manage Data type conversion and Null data Binary data ? Character Sets

45 45 Advantages / Disadvantages of native XML database All is made to manage XML documents Efficient to store and use XML documents Performance to find an document or an fraction of document XQuery / XPath No mandatory normalization Problem of referential Integrity Less good performances when you search pieces of documents Scability Tools to develop applications Others types of data ? New skills

46 46 Comparison relational, XML-enabled, Native yours needsRelational DBXML-Enabled DBNative XML DB Database to store very structured data. Complex and different queries / analysis,… Lot of data The best solution Allow to answer all queries with the good average performance Why not ? To allow to exchange with XML formats ? Database to store XML documents. Always the equivalent queries XML documents = a binary information Not optimized A good solution allowing to use the same database The best solution. Database to store structured data. Lot of import / export in XML exchanges. A classical solution. Need import / export interface A good solutionA good solution. Allow to have quickly a database Database to store structured data and to publish information (HTML, PDF, WebServices,…) A classical solution but need to develop tools to publish information The best solution. Store in relational database but allows the push of XML Documents and transformation Why not if you succeed in organizing your data

47 47 Links about XML Databases XML family : Introduction to native XML database : History of XML database : XQuery : Oracle : Tamino : XIndice : eXist : SANDRE : XML-EAU :


Télécharger ppt "1 XML et bases de données Formation SANDRE Pierre LAGARDE."

Présentations similaires


Annonces Google