Accéder aux bases de données avec le VO Plan 1) Les applications concernées + le contexte 2) Les bases de données en astronomie : état des lieux 3) Solutions VO : TAP/ADQL ➔ Interopérabilité + nouvelles possibilités ➔ Une représentation unifiée des descriptions des données ➔ Implantation TAP 4)Un traitement avancé et unifié des requêtes: ADQL ➔ Opérations arithmétiques, agrégations de colonnes ➔ Les fonctions géométriques ➔ Lier des tables 5)Les outils ➔ Clients spécifiques ➔ Clients génériques 1 Accéder aux bases de données avec le VO Le contexte Le contexte CNRS magazine : « la déferlante des octets » Un défi pour les scientifiques pour le stockage et l’exploitation des données « Comment les traiter, les analyser , les visualiser, leur donner du sens?[...] » L'article cite le Sloan, le LSST 2 Accéder aux bases de données avec le VO Le contexte Le stockage des données et leurs exploitations ➔ Applications et données impactées à l'Observatoire de Strasbourg : ➔ Accès à différentes bases de données par un langage de requêtes commun ➔ ➔ ➔ Le contexte international d'interopérabilité pour le partage des données : le VO Les bases de données relationnelles constituent un moyen standard, permettant d'organiser les données sous forme de tables 3 Accéder aux bases de données avec le VO Le contexte Interrogation et organisation d'une base de données : Les données sont stockées dans des tables ➔ Un « objet » peut être réparti dans une ou plusieurs tables ➔ On nomme METAdonnées les tables dédiées à l'organisation des données pour leur description ou indexation. ➔ Un langage de requêtes permet d’interroger ou mettre à jours les données : le SQL ➔ SELECT RA_ICRS_, DE_ICRS_, BTmag, VTmag, BTmag­VTmag FROM tyc2 WHERE Btmag­VTmag>0 AND BTmag­VTMag<0.2 (*) exemple de requete SQL sur la table Tycho SQL colonne1 colonne2 value value value value Base de données colonne1 colonne2 colonne1 colonne2 value colonne2 value colonne1 value value value value value value value value value value 4 Accéder aux bases de données avec le VO État des lieux Différents centre de données liés par une problématique commune ➔ ➔ ➔ Stockage de données astronomiques contenant souvent des informations de positions L'utilisation de bases de données Le langage SQL des bases de données Hétérogénéité du contenu des bases de données: ➔ ➔ ➔ ➔ ➔ Catalogue issues de publications: VizieR, HEASARC Grands relevés: CADC, GAVO, VizieR Dédié à un relevé particulier XCATDB, SDSS Base de données d'objets célestes : Simbad, NED Planétologie, comètes,... : IMCCE Une organisation des données propre à chaque centre: ➔ ➔ Hétérogénéité des systèmes utilisés: systèmes de coordonnées, précision, échelles … Hétérogénéité des modèles de recherches et de description des données (description des tables, des colonnes, …) (Les META données) 5 Accéder aux bases de données avec le VO La solution VO TAP : un protocole d'accès commun aux bases de données ➔ ➔ ➔ ➔ Un langage commun (ADQL) d'accès aux données Une représentation unifiée des descriptions des données (incluant la description des tables et des colonnes) Des requêtes asynchrones permettant l’exécution de jobs longs Travailler avec les systèmes de coordonnées référents: FK4, ICRS, GALACTIC,.. 6 Accéder aux bases de données avec le VO Plus d'interopérabilités Une représentation standardisée des descriptions des données Le contenu des bases de données et leur usage sont propres aux données : La représentation en tables suit un schéma dédié et approprié ➔ L'indexation des données est propre au contenu des valeurs stockées : position, magnitude, identifiant,... ➔ Caractéristiques : 50 tables dont 7 disponibles avec TAP Caractéristiques : 40 tables de METAdonnées 22,000 tables 300,000 colonnes Volumétrie ~ 3,5 Tb 7,000,000 objets 275,000 références bibliographiques 17Gb 7 Accéder aux bases de données avec le VO Implantation TAP : une méthode unifiée Les centres de données accessibles par TAP TOPCAT TAPHandle HEASARC Point d'entrée unique avec une interface commune ➔ Lier des données issues de centres différents ➔ 8 Accéder aux bases de données avec le VO La solution VO De nouvelles possibilités apportées par le langage ADQL: ➔ ➔ ➔ Des fonctions géométriques avancées disponibles pour rechercher des données: le POINT, le CERCLE, le POLYGONE, LE BOX, L'INTERSECTION Une homogénéisation des principales opérations: ➔ opérations sur les colonnes ➔ agrégation : moyennes, minimum, somme, … ➔ fonctions trigonométriques joindre des tables par objets similaire (par position ou identifiant) 9 Accéder aux bases de données avec le VO Un traitement avancé et unifié des données : ADQL Un traitement avancé et unifié des données : ADQL 10 Accéder aux bases de données avec le VO Un traitement avancé et unifié des données : ADQL Opérations arithmétiques, agrégations de colonnes ➔ Le langage permet les opérations mathématiques usuelles (y compris les fonctions trigonométriques) entre colonnes Exemple : catalogue tycho (I/259) contrainte : min < Bmag-Vmag < max Requête ADQL SELECT RA_ICRS_, DE_ICRS_, BTmag, VTmag, BTmag­VTmag as BV FROM tyc2 WHERE Btmag­VTmag>0 AND BTmag­VTMag<0.2 contrainte 11 Accéder aux bases de données avec le VO Un traitement avancé et unifié des données : ADQL ➔ Les fonctions d'agrégations : compter le nombre de lignes, moyenne, sommes... Exemple : Établir la répartition des galaxies d'un catalogue selon leur morphologie Catalogue of galaxies towards the Coma Supercluster (Slezak+ 1988) (VII/159,table=c7159c ) contrainte : compter le nombre de galaxies par type de morphologie (champ Mtype) SELECT Mtype, count(Mtype) FROM c7159c GROUP BY Mtype 12 Accéder aux bases de données avec le VO Un traitement avancé et unifié des données : ADQL Les fonctions géométriques Plusieurs géométries disponibles : POINT, CIRCLE, POLYGON, BOX ➔ La manipulation des objets géométriques se fait à l'aide des fonctions ➔ INTERSECTS ➔ CONTAINS ➔ CIRCLE INTERSECTS POLYGON → true CIRCLE CONTAINS POINT → true ➔ ➔ Les fonctions géométriques sont associées à un système de coordonnée : ICRS, FK4, GALACTIC Quelques autres fonctions : DISTANCE, AREA,... 13 Accéder aux bases de données avec le VO Un traitement avancé et unifié des données : ADQL Exemple : Recherche des images DENIS pour générer un « all-sky » Aladin (Sébastien Derrière) Catalogue Denis (B/denis,table=denis3 ) Contrainte : afficher les identifiants d'images sans répétition (champ Images) Le mot clé « DISTINCT » supprime les doublons SELECT DISTINCT denis3.Strip, denis3.Image FROM denis3 WHERE CONTAINS(POINT('ICRS',RAJ2000,DEJ2000), CIRCLE('ICRS',265,­19, 1)) 14 Accéder aux bases de données avec le VO Un traitement avancé et unifié des données : ADQL Lier des tables : ➔ Par identifiant ➔ Par positions (crossmatch) Lier des tables (jointure) en utilisant un identifiant. Table Tycho Table Hipparcos TYC1 (integer) HIP (integer) TYC2 (integer) ra_icrs_ (double precision) TYC3 (integer) ... Reconnaître un identifiant : HIP (integer) ... L'identifiant est reconnaissable par sa description : (ucd) meta.id;meta.main décrit dans les METAdonnées TAP ➔ Les METAdonnées TAP contiennent les identifiants de tables pouvant servir de jointures (foreign keys). Elles peuvent être lues par le logiciel accédant au service (TAPHandle)15 ➔ Accéder aux bases de données avec le VO Exemple d'utilisations Lier des tables (jointure) en utilisant un identifiant Exemple : CatalogueHipparcos (I/239, table c1239hip_main) Catalogue Tycho (I/259, table tyc2) Contrainte : fusionner les données de Hipparcos et tycho en utilisant l'identifiant HIP (champ HIP) Requête ADQL SELECT tyc2.TYC3, tyc2.TYC2, tyc2.TYC1, c1239hip_main.HIP, c1239hip_main.RA_ICRS_, c1239hip_main.DE_ICRS_ FROM tyc2, c1239hip_main WHERE tyc2.HIP=c1239hip_main.HIP Données en provenance du catalogue Tycho Données en provenance du catalogue Hipparcos 16 Accéder aux bases de données avec le VO Un traitement avancé et unifié des données : ADQL Lier des tables en utilisant les positions (crossmatch). Le catalogues Hipparcos et Tycho sont liés par ces positions Les METAdonnées TAP contiennent les colonnes de coordonnées principales ➔ Pour VizieR des bons temps d'exécutions (moins cependant que le service de crossmatch sur les grands catalogues) ➔ Temps d’exécution CDS crossmatch crossmatch Tycho-hipparcos 3s 1s crossmatch 2mass-hipparcos 6.5min 1min crossmatch 2mass-Tycho 11.5min 3min40s 17 Accéder aux bases de données avec le VO Exemple d'utilisations Fusionner des tables sur un critère de position Exemple : Catalogue Hipparcos (I/239, table c1239hip_main) Catalogue 2MASS (II/246, table c2mass) Contrainte : fusionner les données de Hipparcos et 2MASS selon leur position Requête ADQL SELECT c1239hip_main.HIP, c1239hip_main.RA_ICRS_,c1239hip_main.DE_ICRS_, c2mass.RAJ2000, c2mass.DEJ2000, c2mass."_MASS" FROM c1239hip_main,c2mass WHERE CONTAINS(POINT('ICRS',RA_ICRS_,DE_ICRS_), CIRCLE('ICRS',RAJ2000,DEJ2000, 2/3600.)) = 1 Données en provenance du catalogue Hipparcos Données en provenance du catalogue 2MASS 18 Accéder aux bases de données avec le VO Un traitement avancé et unifié des données : ADQL Les outils TAPHandle TOPCAT 19 Accéder aux bases de données avec le VO Les outils Accéder à Simbad avec ADQL Une interface web dédiée comme alternative aux scripts Simbad ➔ Possibilité d'exécuter des requêtes en mode asynchrone ➔ Un accès aux données pour des logiciels externes ➔ 20 Accéder aux bases de données avec le VO Les outils Listes d'exemples Exécution en mode asynchrone Vérification de la syntaxe ADQL Affichage du modèle de données 21 Accéder aux bases de données avec le VO Les outils Utiliser une table utilisateur à l'aide de la fonctionnalité d' « upload » Exemple : recherche des données présente dans Simbad et dans le catalogue II/47 de VizieR Utilisation du format VOTable 22 Accéder aux bases de données avec le VO Les outils Accéder à VizieR avec ADQL Une interface web dédiée ➔ Exécution des requêtes en mode asynchrone ➔ Un accès aux données pour des logiciels externes ➔ Utilisation des riches METAdonnées VizieR pour la recherche des tables ➔ Apporte des simplifications pour utiliser les possibilités ADQL. ➔ Interface réalisée par Anne-Camille Simon 23 Accéder aux bases de données avec le VO Les outils Plus d'interopérabilité avec les outils génériques : ➔ ➔ Des outils génériques (ex : TAPHandle) exploitent les META données et permettent d'en afficher le résultat dans une interface simple Ils permettent de réunir dans une même application des tables issues de différentes bases de données 24 Accéder aux bases de données avec le VO Les outils TOPCAT ➔ Un tableur permettant de faire des jointures entre tables issus de différentes bases de données Accéder au menu VO Données issues de Simbad Données issues de VizieR 25 Accéder aux bases de données avec le VO Les outils TOPCAT Affichage des tables Simbad Liste d'exemples (génériques) 26 Accéder aux bases de données avec le VO Les outils TOPCAT 27 Accéder aux bases de données avec le VO Les outils TOPCAT 28 Accéder aux bases de données avec le VO Les outils TAPHandle Permet une vue globale de différentes bases de données ➔ Accès unifié et homogène aux données ➔ Des METAdonnées bien exploitées notamment pour les jointures de tables ➔ La connaissance d'ADQL n'est pas requise ➔ Zone de recherche des bases de données 29 Accéder aux bases de données avec le VO Les outils TAPHandle Xcatdb intègre l'extension standard d'ADQL (« Obscore ») décrivant des composants images, url, ... 30 Accéder aux bases de données avec le VO annexes Merci ! 31