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 Saada: Un Générateur Automatique de Bases de Données Astronomiques Ngoc Hoan NGUYEN Laurent MICHEL Christian MOTCH Observatoire Astronomique de Strasbourg.

Présentations similaires


Présentation au sujet: "1 Saada: Un Générateur Automatique de Bases de Données Astronomiques Ngoc Hoan NGUYEN Laurent MICHEL Christian MOTCH Observatoire Astronomique de Strasbourg."— Transcription de la présentation:

1 1 Saada: Un Générateur Automatique de Bases de Données Astronomiques Ngoc Hoan NGUYEN Laurent MICHEL Christian MOTCH Observatoire Astronomique de Strasbourg

2 2 Plan de la présentation Introduction Introduction Conception et Développement Conception et Développement Conclusions Conclusions Questions Questions

3 3 Introduction (1) Contexte Contexte Données personnellesDonnées personnelles Observation (espace, sol), Simulation Observation (espace, sol), Simulation Fichier FITS (entêtes et tableaux), non organisé, non recherchable par le contenu Fichier FITS (entêtes et tableaux), non organisé, non recherchable par le contenu Données hétérogènes Données hétérogènes Formats variésFormats variés Formats des fichiers (FITS, VOTable/XML) Formats des fichiers (FITS, VOTable/XML) Structures des fichiers (colonnes) Structures des fichiers (colonnes) Catégories variées (images, spectres, tables/sources..)Catégories variées (images, spectres, tables/sources..) Gestion et Partage des données personnelles avec la communautéGestion et Partage des données personnelles avec la communauté Internet, réseaux locaux ou Observatoire Virtuel (OV) Internet, réseaux locaux ou Observatoire Virtuel (OV) Edition et Traitement rapide des requêtes complexesEdition et Traitement rapide des requêtes complexes Trouver des images contenant des sources soit IR soit radio et dotées d'une vitesse radiale > 100 km/sec Trouver des images contenant des sources soit IR soit radio et dotées d'une vitesse radiale > 100 km/sec Il nexiste pas doutil générique permettant de créer facilement une base et dextraire facilement les contenus scientifiques

4 4 Introduction (2) Notre Solution Saada Notre Solution Saada Saada est un outil de transformation rapide des fichiers non recherchables en données recherchables et interconnectées Saada nest pas une base de données. Cest un paquetage Java pour la génération des bases de données hétérogènes Définition dune Saada-DB Définition dune Saada-DB Générée par SaadaGénérée par Saada Une base locale, opérationnelleUne base locale, opérationnelle Un système auto-configurableUn système auto-configurable apdatation du modèle de données apdatation du modèle de données description des données à archiver description des données à archiver archivage automatique sans codage archivage automatique sans codage Un système Objet-RelationelUn système Objet-Relationel Java/J2ee, Tomcat Java/J2ee, Tomcat Postgresql ou Sybase Postgresql ou Sybase

5 5 Introduction (3) Applications du Saada Gestion des données personnelles Recherche dobjets rares outliers Création d'une base avec des données d'origines diverses concernant la région étudiée Etablissement de liens qualifiés (ex. Distance, pixel ou probabilité,..) de corrélations entre ces données Utilisation des motifs de corrélations pour effectuer des recherches d'objets très spécifiques Intégration dans une chaîne darchivage ou des boucles de simulation

6 6 Conception et Développement de Saada

7 7 Cycle de vie dun produit Une Image FITS Web, WS, API, OV par Moteur de requêtes; et Couche dObjet dans une collection Couche commun (image) Couche produit Attributs communs (ex. position) Attributs originaux (classe de produits) Classe Javarepository SGDBR entrée sortie Saada-DB Couche dObjet (Modèle de données, Mapping OR,..) par les règles d Auto-configuration Le Générateur Saada est conçu par trois idées: Modèle de données flexible, Auto-Configuration, Moteur de requêtes Générique

8 8 Modèle de données (1) Organisation des données Organisation des données Image Spectrum Table Entry Collection Radio Couche des attributs communs (ex. position) Requête sur toute la base Couche des attributs de produits (classe) Requête sur les attributs originaux d'une classe Base DEMO_DB RadioTheorie Classe de produits FITS Classe de produits Unité principale, nommée par lopérateur On peut ranger les produits par catégories en fonction de thèmes sémantiques (Collections)

9 9 Modèle de données (2) Relation Permanente Relation Permanente Stockage des liens corrélés et des qualificateurs ( distance, probabilité...)Stockage des liens corrélés et des qualificateurs ( distance, probabilité...) Définie par l'opérateurDéfinie par l'opérateur Les structures de collections, de classes et de relations permanentes sont générées par l'Auto-configuration Source Position Identification Probability Pixel values

10 10 Auto-Configuration (1) Configuration des produits Configuration des produits Règles didentification des produitsRègles didentification des produits Par répertoire Par répertoire Par nom (expressions régulières) Par nom (expressions régulières) Par mots clés existant dans les produits Par mots clés existant dans les produits Modes de mapping des classes de produitsModes de mapping des classes de produits Sélection des attributs particuliersSélection des attributs particuliers Mots clés recopiés dans la collection Mots clés recopiés dans la collection Mots clés ignorés Mots clés ignorés Archiver des données en analysant les règles de configuration et les contenus des fichiers de données Archiver des données en analysant les règles de configuration et les contenus des fichiers de données

11 11 Auto-Configuration (2) Configuration des produits (image) Configuration des produits (image) Identification des produits Identification/Adaptation ou Création de la classe fusionnée Chargement des produits dans la classe fusionnée, Copie des attributs communs TELESCOP EPIC EXPOSURE_MAP FK5 2000 EPIC OBJECT COMMENT,HISTORY

12 12 Auto-Configuration (3) Trois modes de classification Trois modes de classification Mode mapping FusionMode mapping Fusion Une seule classe pour tous les produits correspondant à une même configuration Une seule classe pour tous les produits correspondant à une même configuration Intérêt: Requêtes sur tous les produits en utilisant tous les mots clés Intérêt: Requêtes sur tous les produits en utilisant tous les mots clés Mode Mapping-1-1Mode Mapping-1-1 Une classe différente pour chaque produit Une classe différente pour chaque produit Chargement dun petit nombre de grosses tables très différentes entre elles Chargement dun petit nombre de grosses tables très différentes entre elles Mode Auto-ClassificationMode Auto-Classification Classification automatique des structures de produit Classification automatique des structures de produit Les produits de mêmes structures sont automatiquement mis dans une même classe Les produits de mêmes structures sont automatiquement mis dans une même classe Intérêt : On a pas besoin de connaître à priori la structure des produits Intérêt : On a pas besoin de connaître à priori la structure des produits Configuration Classe _Fusion Fichier 1 Fichier … Fichier N Configuration Classs_Fichier_1 Fichier 1 Class_Fichier_2 Fichier 2 Configuration Class_1 Fichier 1 Class_2 Fichier 21 Fichier 2 Fichier 22 Fichier N Class N Fichier N1

13 13 Moteur de requête (1) Objectif Objectif Requête sur des données hétérogènes retournant des résultats hétérogènesRequête sur des données hétérogènes retournant des résultats hétérogènes Langage de requêtes de haut niveau: SaadaQLLangage de requêtes de haut niveau: SaadaQL Adaptation au modèle de données Adaptation au modèle de données Requête par des motifs de corrélations (pré-définis) Requête par des motifs de corrélations (pré-définis) Génération automatique des requêtes SQL sur nimporte quelle Saada-DBGénération automatique des requêtes SQL sur nimporte quelle Saada-DB Traitement rapide des requêtes sans connaître à priori les produits dune Saada-DB

14 14 Moteur de requête (2) Structure de requête SaadaQL Structure de requête SaadaQL Select [DataType] From [Class]In [Collection] WherePosition {IsInBox(), IsInCircle(),…} WhereAttributeSaada{»expression »} WhereAttributeClass {«expression » } WhereRelation { matchPattern{nom relation_permanente, Cardinality(operator,v1,v2), Qualifier(qualificateur,operator,v1,v2) AssObjClass(class1,class2,….classn), AssObjAttClass( expression ), AssObjAttSaada( expression ), } matchPattern{…} … } Modèle de données Motifs de corrélations: contraintes sur la correlation et sur les objets associés par la relation Requête sur toute la base par les attributs communs et par la position IMAGE2D SPECTRUM ENTRY TABLE Le résultat d'une requête est une liste des OIDs (Object Identifier)

15 15 Example Génération dune base DEMODB Génération dune base DEMODB Partage rapide des données personnelles avec la communauté

16 16 Conclusions Système Opérationnel répondant aux besoins réels Système Opérationnel répondant aux besoins réels Création rapide dune base de données hétérogènesCréation rapide dune base de données hétérogènes Organisation libre les donnéesOrganisation libre les données Mise en valeur du contenu scientifiqueMise en valeur du contenu scientifique Reconnaissance des motifs de corrélationReconnaissance des motifs de corrélation Exploitation des données XMM-NEWTONExploitation des données XMM-NEWTON Evaluation par VOTech/ESOEvaluation par VOTech/ESO Ouverture et Flexibilité Ouverture et Flexibilité Version 1.3 Version 1.3http://amwdb.u-strasbg.fr/saada

17 17 Merci de votre attention Soutiens: Le CNES La Région Alsace Observatoire Astronomique de Strasbourg

18 18 Perspective (1) Motif de corrélation imbriqué Motif de corrélation imbriqué Requête : Sélectionner les entrées dARCHIVE corrélées avec une source IR située à moins de 2 et elle-même détectée ailleurs que sur le pixel (23, 456) du CCD et associée à au moins un spectre. SaadaQL Imbriqué: Select ENTRY From * In ARCHIVE WhereRelation { matchPattern{ABCH_IR, Qualifier(distance, « < », 2, 0), CorrelationSecondary{ matchPattern{IR_CAMERA, Qualifier(pixel_x, « != », 23, 0), Qualifier(pixel_y, « != », 456, 0) } matchPattern{IR_SPECTRUM} }

19 19 Perspective (2) Requête par UCDs (~ Ontology) Requête par UCDs (~ Ontology) Sans connaître à priori les noms d'attributs et des classesSans connaître à priori les noms d'attributs et des classes Données hétérogènesDonnées hétérogènes

20 20 Classe Fusionnée

21 21 Moteur de requête (4) Traitement des requêtes SaadaQL Traitement des requêtes SaadaQL Requête SaadaQL Analyse et Décompose - Exécution des sous requêtes - Fusion des OIDs ( résultat) SQL niveau collection SQL niveau classe index du motifs de corrélation+ SQL Le résultat d'une requête est une liste des OIDs (Object Identifier)

22 22 Moteur de requête (5) Méthode dindexation des motifs de corrélations Méthode dindexation des motifs de corrélations Objectif: Eviter les requêtes sur plusieurs tables(jointures)Objectif: Eviter les requêtes sur plusieurs tables(jointures) Principe: Utilisation d'index pré-calculésPrincipe: Utilisation d'index pré-calculés Ces index sont calculés automatiquement Ces index sont calculés automatiquement Mis dans des fichiers, chargés en mémoire par Cache Index Mis dans des fichiers, chargés en mémoire par Cache Index Exemple de lindex de cardinalité Exemple de lindex de cardinalité OIDM,OIDN7 OIDK, OIDJ,OIDL 2 OID1,OID3,OID61 OID Primaire Cardinalité MatchPattern{ nom relation, Cardinality(..), Qualifier(qualificateur,..), AssObjClass(class1,….classn) } Index de cardinalité Index des qualificateurs Index de classe contrepartie

23 23 Moteur de requête (6) Evaluation SaadaQL / jointures SQL Evaluation SaadaQL / jointures SQL Requête par cardinalitéRequête par cardinalité Requête par classe de contrepartiesRequête par classe de contreparties SaadaQL: Select ENTRY From * In EPIC WhereRelation { matchPattern {CORR_EPIC_ARCHIVE, Cardinality (=,V1, 0) }} SQL: Select distinct OIDsaada From EPIC_EntrySaada as E Where (select count(*) from EPIC_ARCHI_15 as EA where E.oidsaada=EA.oidprimary)) =V1 SaadaQL: Select ENTRY From * In EPIC WhereRelation { matchPattern {EPIC_ARCHIVE, AssObjAttSaada (pos_dec_csa>10) }} SQL : jointure par deux tables Select distinct EA.OIDprimary From EPIC_ARCHIVE as EA, ARCHIVE_EntrySaada as A Where (EA.oidsecondary=A.oidSaada and A.pos_dec_csa>10 )

24 24 Solution Saada (9) Comment générer une Saada-DB? Comment générer une Saada-DB? Création dune Saada-DB vide par SaadaCréation dune Saada-DB vide par Saada Configuration des produits à chargerConfiguration des produits à charger Chargement des données selon les configurations définies à létape précédente.Chargement des données selon les configurations définies à létape précédente. Génération et déploiement de linterface et du serveur WebGénération et déploiement de linterface et du serveur Web A ce niveau, on a une base de données exploitable dont on peut enrichir le contenu scientifique Définition des corrélations permanentes (opt.)Définition des corrélations permanentes (opt.) Publication des données dans lOV (opt.)Publication des données dans lOV (opt.)

25 25 Introduction Définition dune Saada-DB Définition dune Saada-DB Base de donnée générée par SaadaBase de donnée générée par Saada Une base locale, opérationnelle, et indépendante de loutil SaadaUne base locale, opérationnelle, et indépendante de loutil Saada Un système auto-configurableUn système auto-configurable apdatation du modèle de données apdatation du modèle de données description des données à archiver description des données à archiver archivage automatique sans codage archivage automatique sans codage L'Opérateur : personne qui crée la base Saada-DB L'Utilisateur: personne qui exploite la base Saada-DB

26 26 Solution Saada (5) Quel contenu peut être archivé? Quel contenu peut être archivé? Base relationnelle : stockage des entêtes et des tables des fichiers (FITS)Base relationnelle : stockage des entêtes et des tables des fichiers (FITS) requêtes, calculs requêtes, calculs Repository accessible : stockage des fichiers originauxRepository accessible : stockage des fichiers originaux sauvegarde, téléchargement sauvegarde, téléchargement

27 27 Solution Saada (7) Application (2) Application (2) Intégration dune base de données dans une boucle de simulations ou dans un pipelineIntégration dune base de données dans une boucle de simulations ou dans un pipeline Paramètres dentrée Recepteur des données de Saada-DB Noyau de Simulation Validation ? Saada-DB ou Saada-DB/GRID Résultats OUI Boucle Non API Saada SaadaQL FITS boucle Données de référence Par l'Auto-Configuration Archivage des données simulées

28 28 Auto-Configuration (1) Objectif Objectif Paramétrage du modèle de donnéesParamétrage du modèle de données Configuration des produits à chargerConfiguration des produits à charger Identification automatique des produits à charger selon des règles définies Identification automatique des produits à charger selon des règles définies Reconnaissance automatique des nouvelles structures de produitsReconnaissance automatique des nouvelles structures de produits Mise à jour des données Mise à jour des données Ajout de nouveaux produits à une classe de produits existante Ajout de nouveaux produits à une classe de produits existante Adaptation automatique des classes existantes aux nouveaux produits Adaptation automatique des classes existantes aux nouveaux produits Archivage automatique de données sans codage

29 29 Moteur de requêtes SaadaQL(3) SaadaQL SaadaQL Facilité dimplémentation des modulesFacilité dimplémentation des modules Interface personnalisée Interface personnalisée

30 30 Modèle de données (1) Comment Organiser les données? Comment Organiser les données? Saada-DB est comme un meuble contenant des tiroirs séparés dans lesquels on peut ranger les produits par catégories en fonction de thèmes sémantiques Spectre Plot Image Table/source Généré dynamiquement FITS Un tiroir (Une collection de données hétérogènes)

31 31 Modèle de données Objet /Relationelle Table NameColl_SpectraTable NameColl_Image2DTable NameColl_EntryTable NameColl_Table Mappin g to SUPER CLASS SAADA OIDSaada int8 NameSaada Char(32) Name_product Char(32) …. Class NameColl_Table OIDSaada int8 NameSaada Char(32) Pos_ra_csa (double) Pos_dec_csa (double) OID_Table int8 … OIDSaada int8 NameSaada Char(32) Name_product (char 32) Pos_ra_csa (double) Pos_dec_csa (double) Alpha … OIDSaada int8 NameSaada Char(32) Name_product Char(32) … Class NameColl_EntryClass NameColl_Image2DClass NameColl_Spectra

32 32 Démonstration (1) Génération dune base DEMODB Génération dune base DEMODB Une collection (données du satellite Chandra) Une collection (données du satellite Chandra) X Images: Chandra Catalogue Sources: Chandra Catalogue Spectra Images Sources collection Chandra_Data DEMODB

33 33 Démonstration Base DEMODB complexe Base DEMODB complexe Deux collections avec relations permanantesDeux collections avec relations permanantes X Spectra: XMM-Newton SSC Galactic Plane Survey Courtesy of P. Guillout et Al. Images: XMM-Newton Catalogue Sources: XMM-Newton Catalogue GalactPlaneSurvey Spectra Images Source XMM_DATA THESE_DB2 Relationship ImgToSpectra Relationship ImgToSrc

34 34 Modèle de données Objets (UML)

35 35 Attributs communs MD5 (Message Digest version 5) est une fonction de hachage cryptographique qui permet d'obtenir pour chaque message une empreinte numérique

36 36 Intégration dans lOV Interopérabilité avec Aladin, Specview Interopérabilité avec Aladin, Specview Corrélation permanente et VOTableCorrélation permanente et VOTable Focus Demos à ADASS XV

37 37 Auto-Configuration (4) Mode de Mapping des classes Mode de Mapping des classes Mapping Classification: Classe contenant plusieurs produits ayant la même structure Mapping 1_1 Classe contenant un seul produit La collection Epic et ses catégories de produits (Image2D, Entry, Table, Spectre)

38 38 Moteur de requête SaadaQL(5) Méthode dindex des motifs de corrélations Méthode dindex des motifs de corrélations Objectif: éviter des jointures SQL lourdesObjectif: éviter des jointures SQL lourdes Forme générale dune requête JOINTURE SQL: Select * From A, B, A_B Where A.ID=A_B.IDa and A_B.IDb=B.IDb and (…)

39 39 Démonstration Con,figuration Con,figuration // nom dune configuration CONTENT EPIC EXPOSURE MAP EXPOSURE_MAP FK5 2000 EPIC OBJECT COMMENT,HISTORY

40 40 Approche Saada (1) Comment construire Saada? Comment construire Saada? Modèle de données flexible Auto- Configurati on Moteur de requête générique Modèle Objet- Relationnel Solutio n SAADA, Un Génér ateur de bases de donné es, Systè me Généri que Et Flexibl e Interfac e OV

41 41 Solution Saada (3) Architecture dune Saada-DB Architecture dune Saada-DB Système objet-relationnelSystème objet-relationnel Couche objet pour une présentation scientifiquement pertinente des données Couche objet pour une présentation scientifiquement pertinente des données Couche relationnelle pour la persistance Couche relationnelle pour la persistance Postgresql/Sysbase SQL Cache Objet Couche dObjet pour laccès aux données Relationnelles Moteur Requête SaadaQL Service Persistence, JDBC Auto Configuration Chargement Mise à Jour Web, WS/OV, Module Clients


Télécharger ppt "1 Saada: Un Générateur Automatique de Bases de Données Astronomiques Ngoc Hoan NGUYEN Laurent MICHEL Christian MOTCH Observatoire Astronomique de Strasbourg."

Présentations similaires


Annonces Google