Amin Mesmoudi. Les Besoins LSST en stockage et accès aux données (1/2) Stockage: 2 TableTaille#enregistrements#colonnes (arité) Object109 TB38 B470 Moving.

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Optimisation des requêtes
Benoît Piranda Équipe SISAR Université de Marne La Vallée Bases de données Algèbre relationnelle, opérations Requêtes SQL.
Règles d’association.
Fonctionnalités des SGBD
Optimisation algébrique de requêtes relationnelles
Techniques dindexation Implémentation du modèle relationnel ~ LIF10: Fondements des bases de données relationnelles.
Optimisation de Requêtes
Sélection automatique d’index et de vues matérialisées
Base de données: Généralité
Les BDAs (Les bases de données réparties)
To Tune or not to Tune? To Tune or not to Tune? A Lightweight Physical Design Alerter Costa Jean-Denis Le Yaouanc Aurélie Mécanismes de SGBD 2007.
Contrôles d'accès aux données
Rappel sur les bases de données et le vocabulaire
Chap 4 Les bases de données et le modèle relationnel
1 Bases de Données Distribuées Chapitre 22, Sections 22.6–22.14.
Bases de Données Réparties
Bases de données et SGBD relationnels
Les requêtes Les requêtes permettent dinterroger une base de données suivant 3 opérateurs : La projection Affiche le contenu dun champ complet En langage.
Algèbre relationnelle et SQL
Services fournis par le SI et technologies associées
Staf 2x Cours de bases de données
1 Evaluation des Operations Relationnelles Chapitre 14, Section 14.4.
1 Évaluation des Requêtes: Survol Chapitre Objectifs Catalogue Préliminaires: Techniques de base pour traiter des requêtes Chemin daccès Correspondance.
Algèbre Relationnelle
Optimisation des Requêtes Relationnelles
1 Évaluation des Requêtes: Survol Chapitre Objectifs Catalogue Préliminaires: Techniques de base pour traiter des requêtes Chemin daccès Correspondance.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Évaluation des Requêtes: Survol Chapitre 12.
Universté de la Manouba
Les concepts et les méthodes des bases de données
2 Analyse et Optimisation des Performances du moteur SQL Serveur 10 février 2011 Frédéric Pichaut EMEA SR ESCALATION ENGINEER Microsoft France.
OPTIMISATION DE BASE DE DONNEES ORACLE
Chapitre 5 : Le langage SQL
Algèbre Relationnelle : Implémentation
La réplication dans les réseaux mobiles ad hoc
Traduction des opérations sous MySQL
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Bases de données fédéréEs hétérogènes
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
Optimisation de requêtes
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Arbres binaires et tables de hachage
D. E ZEGOUR Institut National d ’Informatique
1 G. Gardarin Optimisation de Requêtes  1. Introduction  2. Arbres relationnels  3. Restructuration algébrique  4. Modèle de coût  5. Choix du meilleur.
Sélection de colonnes (la projection)
MATHÉMATIQUES DISCRÈTES Chapitre 6 (relations)
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Laurence Duval IRISA/CREST-ENSAI Rennes
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
DB2. Universal Database. D. Chamberlin, Morgan-Kaufman Delmal, P. SQL2. INPRES, * A First Course in Database Syst. Ullman, J., Widom, J.,
1 Survol du Stockage et de l’Indexage Chapitre 8.
Les vues Une vue: c’est une relation virtuelle. Définie par:
Intégration des Tableaux Multidimensionnels en Pig pour
Réalisé par : Encadré par : - Keheli adnane Pr L.Lamrini
Les bases de données Séance 8 Jointures.
Veille Technologique SGBD Open Source PostgreSQL.
Séance /10/2004 SGBD - Approches & Principes.
Calcul pour le spatial & le CC-IN2P3 Jean-Yves Nief (CC-IN2P3)
Op é rateurs ensemblistes Module 4. 2 La clause GROUP BY La clause GROUP BY est nécessaire dès que l'on utilise des fonctions de calculs statistiques.
INFO 2014 Fichiers et base de données Philippe Fournier-Viger Département d’informatique, U.de Moncton Bureau D216
Traitement et optimisation de requêtes
Analyse, élaboration et exploitation d’une Base de Données
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
1 G ÉNÉRALITÉS Notions et caractéristiques générales.
PROJET DE SESSION PRÉSENTÉ PAR : Rosemarie McHugh DANS LE CADRE DU COURS : SCG Réalisation d’applications en SIG 16 avril 2007.
Projet DLM 3.0 État d’avancement Amin Mesmoudi. Architecture Digest Web service Meeting Web service web service Mail Client Query Web service Sparql.
PetaSky: Expérimentations avec HadoopDB et Hive 1 Amin Mesmoudi.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
1 Les bases de données Séance 6 L ’extraction de données Le SELECT.
Evaluation de requêtes Quelques résultats préliminaires 1 Amin Mesmoudi.
Transcription de la présentation:

Amin Mesmoudi

Les Besoins LSST en stockage et accès aux données (1/2) Stockage: 2 TableTaille#enregistrements#colonnes (arité) Object109 TB38 B470 Moving Object5 GB6 M100 Source3.6 PB5 T125 Forced Source1.1 PB32 T7 Difference Image Source 71 TB200 B65 CCD Exposure0.6 TB17 B45

Les Besoins LSST en stockage et accès aux données (2/2) Accès Requêtes déclaratives (SQL) Possibilité de définir des fonctions ad hoc par l’utilisateur (UDF) Exemple: areaspec_box, angSep < dist 500,000 requêtes par jour 3 SELECT objectId, taiMidPoint, fluxToAbMag(psfMag) FROM Source JOIN Object USING(objectId) JOIN Filter USING(filterId) WHERE areaSpec_box(:raMin, :declMin, :raMax, :declMax) AND filterName = 'u' AND variability BETWEEN :varMin AND :varMax ORDER BY objectId, taiMidPoint ASC

Objectifs généraux PO Proposer une architecture distribuée pour stocker quelques dizaines de PO de données Open Source Shared-Nothing secondes heures Pouvoir évaluer aussi bien des requêtes simples (quelques secondes de calcul) que des requêtes complexes (des heures de calcul) (>> 1 PO Possibilité d’accéder à des objets en utilisant des indexes ou en procédant à un parcours (scan) complet des grosses tables (>> 1 PO)

Approche (1/2) Mise en place d'un environnement d’expérimentation avec 100 machines virtuelles. 350 Go d’espace disque 8 Go de RAM Systèmes de gestion de données Centralisés: Mysql, PostgresQL et DBMS-X Distribués (à la Map/Reduce): Hive et HadoopDB Caractérisation des requêtes selon la difficulté des traitements Extraction d’un jeu de 13 requêtes compatibles avec les systèmes existants

Approche (2/2) Développement d'un générateur de données 4 To de données pour évaluer les possibilités des systèmes existants (centralisés et distribués) Identification/sélection de quelques métriques : passage a l’échelle (#machines, volume de données), latence et tolerance aux fautes Expérimentation en considérant quelques indicateurs et les techniques d’optimisation disponibles ( ex., compression de données, distribution de calculs, indexation, utilisation des caches )

Enseignement tiré Les outils existants ne répondent que partiellement aux exigences de requêtage LSST Plusieurs techniques d'optimisation (indexation, partitionnement, utilisation de tampons,...) devraient être revisitées Pour plus d’informations : Amin Mesmoudi, Mohand-Saïd Hacid and Farouk Toumani. Benchmarking SQL on MapReduce systems using large astronomy databases. Distributed and Parallel Databases (DAPD). January

Quelques Réflexions Le modèle Relationnel et les données LSST ? 50 % des valeurs des tables sont NULL L’ajout d’un nouvel attribut pour certains tuples implique l’ajout de plusieurs valeurs null Un partitionnement basé sur une seule valeur (hachage) est-il suffisant pour équilibrer les charges des machines ? Concernant le modèle Map/Reduce ? Diviser le traitement en deux étapes Pas de vue globale dans la 1ère étape Pas d’accès locale en 2ème étape Pour les requêtes avec plusieurs opérateurs : Accès aux données (scan complet, index) Ordre d’évaluation des différents opérateurs (Projection, Sélection, Jointure, UDF, …) Si les données sont répliquées, quel réplica utiliser pour minimiser le coût du traitement des requêtes ? Plans d’exécution: Plusieurs plans physiques possibles, comment choisir le plan optimal ? Comment éviter les plans très couteux ? Comment estimer le coût d’évaluation d’un plan donné ? Phase 1: pousser les traitements vers les données Phase 2: pousser les données vers les traitements

Proposition Un graphe pour garantir l’unicité des valeurs dans la base de données ? On pourrait élaguer les nœuds inutiles, c-à-d les valeurs qui ne participeront pas à la construction des résultats finaux Exploration avec les arcs entrant et les arcs sortants Plusieurs combinaisons peuvent être utilisées SourceObjectID S1O1 S2O1 S3O2 ObjectIDRAdecl O14015 O24025 S1 S3 S2 O1 O2 OID 40 RA 15 Decl 25 dist 0,5

Stockage (1/2) SPO, OPS,… B+Tree pour chaque combinaison – recherche de triplet: log(n) RDF3X, …. x1 l1 z1 n1 k1 a b c d e y1 z2 x2 y2 a b c x1ay1 x1bz1 x1cl1 x2ay2 x2bz2 x2cl1 y1dk1 y1en1 SPO k1dY1 l1cx1 l1cx2 n1ey1 ax1 y2ax2 z1bx1 z2bx2 OPS

Stockage (2/2) ?x?y ?z a b Scan SPO ? SPO-Lattice a b c a a b b d e f d e f hj g c

Compression x1ay1 x1bz1 x1cl1 x2ay2 x2bz2 x2cl1 y1dk1 y1en1 x1ay1 x1bz1 x1cl1 x2ay2 x2bz2 x2cl1 y1dk1 y1en1 x11y1 1z11 l11x2 1y21 l1 a b c y11k1 1n1 d e a b c d e S P O Fragmentation Compression

Evaluation Parallèle des requêtes x1 l1 z1 n1 k1 a b c d e y1 Worker 1 z2 x2 y2 a b c Worker 2 x3 l2 z3 n2 k2 a b c d e y2 x4 a b c n3 k3 d e y3 l3 z4

BSP (Bulk Synchronous Parallel) BSP (Bulk Synchronous Parallel) Ne pas attendre quand on peut continuer les traitements M1 M2 Mn Super Step 1Super Step 2Super Step nSynch

Requête ?x cst ?y ?z Cst12 ?t ?k Cst3 a b c d e f j h g Backward Star Queries Forward Star Queries ?x Cst ?y ?z a b c ?k ?y cst12 ?t ?k d e f ?t cst3 h ?k cst3 g j SQ f 1 SQ f 2 SQ f 4 SQ f 3 SQ f 5 ?t ?k cst3 h g ?y ?t e ?y cst12 d ?y ?z ?k f j ?x cst ?y ?z a b c ?x SQb 1 SQb 2 SQb 3 SQb 4 SQb 7 SQb 5 SQb 6

Plan d’exécution ?x cst ?y ?z Cst12 ?t ?k Cst3 a b c d e f j h g ?x Cst ?y ?z a b c SQ f 1 ?t ?k cst3 h g SQb 1 ?y ?t e SQb 2 ?y b ?x SQb 5 ?y cst12 ?t ?k d e f SQ f 2 ?z ?k j SQ f 3 Back_instan_cst (SQb1 i ) Back_instan_cst (SQb2) For_instan_cst (SQf2) back_instan_cst (SQb5) back_instan_cst (SQf1) for_verificat (SQf1)

MERCI