Download - Petasky bda-2013-medernach
État d’avancementPetasky 2013
Workshop Petasky, BDA 2013
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 1 / 18
Plan
1 QservGestion de Données AstrophysiquesArchitecture et Principe de FonctionnementRésultats sur 300 Nœuds
2 Réécriture de requêtes SQLObjectifsAvantagesÉtat actuel
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 2 / 18
Plan
1 QservGestion de Données AstrophysiquesArchitecture et Principe de FonctionnementRésultats sur 300 Nœuds
2 Réécriture de requêtes SQLObjectifsAvantagesÉtat actuel
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 3 / 18
LSST: Gestion de Données Astrophysiques
I LSST: Acquisition de données astrophysiquesI Explosion de la taille des données
I ~ 100 Pb d’imagesI ~ 6 Pb de cataloguesI ~ 100 tables
Taille des tables.
Table Taille Lignes Colonnes
Object 109 TB 3.8× 1010 470Source 3.6 PB 5.0× 1012 125ForcedSource 1.1 PB 3.2× 1013 7CCDExposure 0.6 TB 1.7× 1010 45
I Comment interroger efficacement ces données ?
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 4 / 18
Plan
1 QservGestion de Données AstrophysiquesArchitecture et Principe de FonctionnementRésultats sur 300 Nœuds
2 Réécriture de requêtes SQLObjectifsAvantagesÉtat actuel
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 5 / 18
Architecture de Qserv
Orchestration de bases de données.
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 6 / 18
Principe de Fonctionnement
Découpage géometrique en “chunks” (ou “shards”).
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 7 / 18
Plan
1 QservGestion de Données AstrophysiquesArchitecture et Principe de FonctionnementRésultats sur 300 Nœuds
2 Réécriture de requêtes SQLObjectifsAvantagesÉtat actuel
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 8 / 18
Contexte
I Test sur 300 nœuds au CC-IN2P3 pendant l’été 2013I Par machine: 120G disque, 16G de RAMI 15 TB de données au total, ~50G de données par nœudI Partitionnement : 3000 chunks, de 9 à 11 chunks par nœudI Nombre d’objets: 0.4 milliardsI Nombre de sources: 14 milliards
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 9 / 18
Résultats
I SELECT * FROM Object WHERE objectId = <id>
Temps: 1.1sI SELECT s.ra, s.decl
FROM Object o
JOIN Source s USING (objectId)
WHERE o.objectId = <id>
AND o.latestObsTime = s.taiMidPoint
Temps: 11.2sI SELECT objectId
FROM Source
JOIN Object USING(objectId)
WHERE qserv_areaspec_box(1,3,2,4)
Temps: 9 min 42.9 secI SELECT COUNT(*) FROM Object o1, Object o2
WHERE qserv_areaspec_box(-5,-5,5,5)
AND scisql_angSep(o1.ra_PS, o1.decl_PS,
o2.ra_PS, o2.decl_PS) < 0.1
Temps: 4 min 50 sec
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 10 / 18
Résultats (suite)
SELECT COUNT(*) FROM Object WHERE gFlux_PS>1e-25 ;
Passage à l’échelle.
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 11 / 18
Plan
1 QservGestion de Données AstrophysiquesArchitecture et Principe de FonctionnementRésultats sur 300 Nœuds
2 Réécriture de requêtes SQLObjectifsAvantagesÉtat actuel
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 12 / 18
Objectifs
Module réutilisable dans plusieurs projets (QServ, Petasky, . . .)
SQL AST
Représentation intermédiaire de requêtes SQL (texte brut) en une structure“Abstract Syntax Tree” (AST)
AST
Traduction de l’AST
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 13 / 18
Plan
1 QservGestion de Données AstrophysiquesArchitecture et Principe de FonctionnementRésultats sur 300 Nœuds
2 Réécriture de requêtes SQLObjectifsAvantagesÉtat actuel
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 14 / 18
Avantages
AvantagesI Utiliser d’autres bases de données
I Exemple: traduction des requêtes pour NoSQLI Utiliser d’autres librairies de géométrie (avec différentes API)I Transformer ou adapter les requêtes
I Exemple: modification du schémaI Possibilité d’extension de SQL comme ADQL
http://www.ivoa.net/documents/latest/ADQL.html
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 15 / 18
Plan
1 QservGestion de Données AstrophysiquesArchitecture et Principe de FonctionnementRésultats sur 300 Nœuds
2 Réécriture de requêtes SQLObjectifsAvantagesÉtat actuel
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 16 / 18
État actuelI Déclaration de la BNF comme une extension de Scheme
(define <SQL>(BNF-sequence<SELECT>(BNF-optional <FROM>)(BNF-optional <WHERE>)(BNF-optional <GROUP-BY>)(BNF-optional <ORDER-BY>)(BNF-optional <LIMIT>)(BNF-optional (BNF-string ";"))))
I Parser SQL terminé (Ok sur les requêtes standards LSST)SELECT DISTINCT o1.objectId, o1.ra, o1.decl, o2.iauIdFROM Object o1, Object o2WHERE ABS(o2.ra - o1.ra ) < o2.raRange/(2*COS(RADIANS(o1.decl)))
AND ABS(o2.decl - o1.decl) < o2.declRange/2AND (
SELECT COUNT(o3.objectId)FROM Object o3WHERE o1.objectId <> o3.objectId
AND ABS(o1.ra - o3.ra ) < 0.1/COS(RADIANS(o3.decl))AND ABS(o1.decl - o3.decl) < 0.1
) > 10000;
16 ms real time
I Définition de la structure de l’AST en coursI Besoin de références sur la réécriture de requêtes
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 17 / 18
Merci
E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 18 / 18