18
État d’avancement Petasky 2013 Workshop Petasky, BDA 2013 E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 1 / 18

Petasky bda-2013-medernach

Embed Size (px)

Citation preview

Page 1: Petasky bda-2013-medernach

État d’avancementPetasky 2013

Workshop Petasky, BDA 2013

E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 1 / 18

Page 2: Petasky bda-2013-medernach

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

Page 3: Petasky bda-2013-medernach

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

Page 4: Petasky bda-2013-medernach

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

Page 5: Petasky bda-2013-medernach

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

Page 6: Petasky bda-2013-medernach

Architecture de Qserv

Orchestration de bases de données.

E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 6 / 18

Page 7: Petasky bda-2013-medernach

Principe de Fonctionnement

Découpage géometrique en “chunks” (ou “shards”).

E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 7 / 18

Page 8: Petasky bda-2013-medernach

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

Page 9: Petasky bda-2013-medernach

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

Page 10: Petasky bda-2013-medernach

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

Page 11: Petasky bda-2013-medernach

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

Page 12: Petasky bda-2013-medernach

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

Page 13: Petasky bda-2013-medernach

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

Page 14: Petasky bda-2013-medernach

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

Page 15: Petasky bda-2013-medernach

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

Page 16: Petasky bda-2013-medernach

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

Page 17: Petasky bda-2013-medernach

É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

Page 18: Petasky bda-2013-medernach

Merci

E. Medernach (IN2P3, CNRS) Petasky 2013 BDA 2013 18 / 18