Robert Godin. Tous droits réservés. 1

Documents pareils
ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Notes de cours : bases de données distribuées et repliquées

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

Bases de Données Réparties Concepts et Techniques. Matthieu Exbrayat ULP Strasbourg - Décembre 2007

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Administration des bases de données. Jean-Yves Antoine

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Module BDR Master d Informatique (SAR)

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Cours Bases de données 2ème année IUT

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Présentation du module Base de données spatio-temporelles

Master Exploration Informatique des données DataWareHouse

Bases de Données Réparties

Le Langage De Description De Données(LDD)

Intégrité des données

SQL Historique

TP Bases de données réparties

Optimisations des SGBDR. Étude de cas : MySQL

Les bases de données

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

Structure fonctionnelle d un SGBD

Réplication des données

Bases de Données relationnelles et leurs systèmes de Gestion

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Architectures d'intégration de données

Cours Bases de données

Bases de données et sites WEB

Partie 0 : Gestion des tablespace et des utilisateurs... 3

Le e s tocka k ge g DAS,NAS,SAN

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Olivier Mondet

1. Introduction. Bases de données Réparties, Fédérées et Réplication. Plan. Bibliographie du cours

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Les bases de l optimisation SQL avec DB2 for i

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

Encryptions, compression et partitionnement des données

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Langage SQL : créer et interroger une base

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Bases de données réparties: Fragmentation et allocation

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Bases de Données OLAP

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

CHAPITRE 1 ARCHITECTURE

Données Réparties. Thibault BERNARD.

Module BDR Master d Informatique (SAR)

Systèmes de Gestion de Bases de Données

Introduction aux SGBDR

Cours 13. RAID et SAN. 2004, Marc-André Léger

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

Cours 3. Développement d une application BD. DBA - Maîtrise ASR - Université Evry

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

et les Systèmes Multidimensionnels

Session S12 Les bases de l optimisation SQL avec DB2 for i

Bases de données cours 1

Introduction à MapReduce/Hadoop et Spark

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Bases de données relationnelles

Base de données II Module 3b

Java et les bases de données

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Du 10 Fév. au 14 Mars 2014

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Module BD et sites WEB

Evidian IAM Suite 8.0 Identity Management

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Le langage SQL Rappels

La présente publication est protégée par les droits d auteur. Tous droits réservés.

Bases de données avancées Introduction

Parallel Execution. IS-Net 29 DATA WEBHOUSE. Informatique de gestion et systèmes d information

Les technologies du Big Data

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

Bases de Données. Plan

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Sybase Adaptive Server Enterprise 15

//////////////////////////////////////////////////////////////////// Administration bases de données

Administration des bases de données relationnelles Part I

CESI Bases de données

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse

Oracle Décisionnel : Modèle OLAP et Vue matérialisée D BILEK

Gestion répartie de données - 1

Auto-évaluation Oracle: cours de base

Compte Rendu d intégration d application

1 Introduction et installation

I4 : Bases de Données

Cours Bases de données 2ème année IUT

Création et Gestion des tables

Transcription:

LOG660 - Bases de données de haute performance BD parallèles et réparties Département de génie logiciel et des TI BD parallèles vs réparties BD réparties Les données se trouvent sur plusieurs sites (noeuds) Chaque site possède un certain degré d autonomie BD parallèles Exploitent le parallélisme à l intérieur d un même site Peuvent utiliser plusieurs processeurs et/ou disques Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 2 Bases de données réparties BD BD Réseau Réseau Programme d'application Logiciel intermédiaire Pilote de télécommunication Client SGBD réparti Logiciel intermédiaire Pilote de télécommunication Serveur de données SGBD réparti Logiciel intermédiaire Pilote de télécommunication Serveur de données BD répartie dans deux sites Chaque site peut avoir une architecture parallèle Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 3 Robert Godin. Tous droits réservés. 1

Bénéfices de BD réparties Performance Coûts de transfert réduits en rapprochant les données de leurs s Ex: clients des succursales de Montréal dans une BD située à Montréal Parallélisme entre les sites (peu évident en pratique) Fiabilité et disponibilité En cas de panne, les autres sites peuvent assurer la disponibilité des données Extensibilité (scalabilité) Si les besoins en stockage et calcul augmentent, on peut rajouter un nouveau noeud, au lieu de remplacer le serveur Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 4 Complexité des BD réparties Transparence de la répartition Les applications ne doivent pas se soucier du fait que les données sont réparties sur plusieurs sites Les nœuds peuvent avoir des schémas/sgbd différents Répartition du dictionnaire de données Gestion des transactions réparties Maintenir les propriété d atomicité, isolation et durabilité des transactions est plus complexe dans un contexte réparti Évaluation de requêtes réparties Les plans d exécution doivent tenir compte Localisation des données sur chaque site Coût de transfert des données Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 5 Architectures réparties 1. SGBD répartis homogènes 2. Multi-SGBD 3. SGBD fédérés Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 6 Robert Godin. Tous droits réservés. 2

SGBD répartis homogènes Application 1 Site 1 (Oracle) Site 2 (Oracle) Application 2 Application 3 Toutes les BD suivent un même schéma et utilisent la même technologie (ex: Oracle) Accès aux données et gestion des transactions réparties souvent fait de manière centralisée Plus grande fiabilité et performance dû à un meilleure couplage entre les sites Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 7 Multi-SGBD Application 1 Site 1 (Oracle) Site 2 (MySQL) Application 2 Application 3 Chaque site est autonome et peut avoir un SGBD de type différent Aucun interface (ex: schéma conceptuel) commun Accès aux données fait à partir de requêtes ad-hoc spécialisées Peut devenir très complexe à gérer Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 8 SGBD fédérés BD répartie virtuelle Application 1 Site 1 (Oracle) Site 2 (MySQL) Interface d accès commun Application 2 Application 3 Intègre plusieurs SGBD autonomes et potentiellement hétérogènes en une seule BD virtuelle Interface d accès commun pour masquer l hétérogénéité des BD et la répartition des données Mécanismes de coordination communs (ex: protocole XA 2-phases) Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 9 Robert Godin. Tous droits réservés. 3

SGBD fédérés Application type: Consolidation des données après la fusion/acquisition de compagnies Inconvénients: Intégration du schéma Réécriture des requêtes complexes Performance limitée. Produits commerciaux: IBM InfoSphere Federation Server, Oracle Data Service Integrator, etc. Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 10 Architecture des schémas Applications externe externe externe conceptuel global BD distribuée de localisation local local BD réparties local Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 11 Duplication répartie Copie partielle ou totale d une ou plusieurs tables maîtresses situées sur des sites distants Accès plus rapide aux données car moins de transferts Redondance assure la disponibilité des données si une des copies n est plus accessible Permet de contrôler l accès en limitant les données distantes qui sont accessibles ment La synchronisation entre la table maîtresse et sa copie peut être synchrone ou asynchrone Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 12 Robert Godin. Tous droits réservés. 4

Duplication répartie Duplication synchrone (synchronous replication) La sérialisabilité est assurée sur l ensemble des noeuds Une transaction est confirmée seulement lorsque tous les sites ont été mis à jour Duplication asynchrone (asynchronous replication) Les mises-à-joursont d abord faites sur une copie primaire Les sites de réplication sont mis-à-jour en différé, à partir de la copie primaire, après la confirmation de la transaction Ex. d implémentation: vues matérialisées Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 13 Fragmentation répartie Découpe une table en fragments répartis sur plusieurs sites Co-localisation des données avec leurs s Favorise l extensibilité du système (vs données centralisées) Deux types de fragmentation: 1. Fragmentation horizontale 2. Fragmentation verticale Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 14 Fragmentation répartie Fragmentation horizontale Table col 1 col 2 col 3 col 4 col 5 col 6 col 1 col 1 col 1 Fragment 1 Fragment 2 Chaque fragment contient un sous-ensemble de lignes Ex: comptes des clients de Montréal sur le site de Montréal Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 15 Robert Godin. Tous droits réservés. 5

Fragmentation répartie Fragmentation verticale Table col 1 col 2 col 3 col 4 col 5 col 6 col 1 col 1 col 1 Fragment 1 Fragment 2 Chaque fragment contient un sous-ensemble de colonnes Ex: la colonne des salaires sur le site de la comptabilité Moins utilisé que la fragmentation horizontale Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 16 Transactions réparties Transactions réparties Gestionnaire de transaction Gestionnaire de l'ordonnancement Gestionnaire de données Gestionnaire de transaction Gestionnaire de l'ordonnancement Gestionnaire de données Site coordonnateur: À l origine de la transaction répartie Site participant: Coopère avec le gestionnaire de transaction du site coordonnateur BD et journal BD et journal Site coordonnateur Site participant Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 17 Protocole de confirmation en deux phases (Two-phase commit 2PC) Site coordonnateur (usager) Site participant (données) Début Ecrire préparer au journal Préparer à confirmer Début Attente Vote OK Ecrire prêt au journal (vider tampons journal) Tous ont répondu OK Non Ecrire annuler au journal Annuler Prêt Oui Confirmer Ecrire confirmer Confirmer? au journal Oui Non Confirmé Accepter Annulé Ecrire confirmer Ecrire annuler au journal au journal Accepter Confirmé Annulé Ecrire fin de la transaction au journal Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 18 Robert Godin. Tous droits réservés. 6

Protocole de confirmation en deux phases (Two-phase commit 2PC) Phase 1: demande de confirmation Le coordonnateur demande aux participants de confirmer ou infirmer le succès des transactions s Phase 2: confirmation Le coordonnateur reçoit les réponses des sites participants Si tous les participants ont confirmé le succès, le coordonnateur autorise les participants à compléter les transactions s (écriture du commit dans leur journal) Sinon, le coordonnateur demande aux participants d annuler les transactions s Note: les ressources sont bloquées (verrous) durant l attente de la confirmation Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 19 Optimisation de requête répartie Requêtes répartie vs s Requête : le principal coût provient des écritures et lectures (E/S) en mémoire secondaire (ex: disques durs) Requête répartie: le coût des E/S peut être inférieur à celui des transferts de données entre les sites Parallélisme intra-opération Parallélisation des sélections, jointures, etc. Rarement avantageux dans les architectures réparties Parallélisme inter-opération Calcule simultanément plusieurs opérations d une même requête Plus avantageux dans le contexte réparti Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 20 Étapes d optimisation Requête (ex:sql) Décomposition conceptuel & externe global Requête interne globale Localisation des données de localisation Site coordonnateur Requête sur fragments Optimisation globale Statistiques sur fragments Plan d'exécution réparti Optimisation Shéma interne local & statistiques Site participant Plan d'exécution local Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 21 Robert Godin. Tous droits réservés. 7

Optimisation globale (sans parallélisme) Exemple: jointure entre les tables T 1, T 2 et T 3 Chaque site S i contient une seule table T i Plan 1 : Transférer T1 au site 2 T1 T2 = R au site 2 Transférer R au site 3 R T 3 = Résultat final au site 3 Plan 2 : Transférer T2 au site 1 T1 T2 = R au site 1 Transférer R au site 3 R T 3 = Résultat final au site 3 Plan 3 : Transférer T1 au site 3 Transférer T 2 au site 3 T 1 T 2 T 3 = Résultat final au site 3 Règle: Transférer la plus petite table d abord Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 22 Stratégie par semi-jointure Plan 1 (sans optimisation) : Transférer T2 au site 1 T 1 T 2 = Résultat final au site 1 Plan 2 (stratégie par semi-jointure): Transférer πa(t2) au site 1 T 1 π A(T 2) (= T 1 T 2) = R au site 2 Transférer R au site 2 R T 2 = Résultat final au site 2 Stratégie: Transférer au site 1 seulement les colonnes de T 2 nécessaires à la semi-jointure (ensemble A) Renvoyer ensuite au site 2 le résultat de la semi-jointure pour compléter la jointure avec les autres colonnes Note: le nombre de lignes de T1! T2 doit être petit comparé au nombre de lignes de T2: taille de πa(t2) + taille de R < taille de T2 Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 23 Parallélisme inter-opération et inter-site Opération : T 1! T 2! T 3! T 4 Transférer T2 au site 1 T1! T2 = R au site 1 En parallèle, transférer T4 au site 3 T3! T4 = S au site 3 Transférer S au site 1 Ensuite, R! S = Résultat final au site 1 Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 24 Robert Godin. Tous droits réservés. 8

BD répartie avec Oracle (DATABASE LINKS) Permet à un usager local d accéder aux tables d une autre BD sans qu il soit usager de cette BD Syntaxe: CREATE [SHARED] [PUBLIC] DATABASE LINK nomlien CONNECT TO compteusager IDENTIFY BY motdepasse USING nomservice SHARED: permet de partager la connexion entre plusieurs usagers PUBLIC : rend le lien disponible à tous les usagers locaux nomservice : doit être défini dans un fichier de configuration de la BD Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 25 BD répartie avec Oracle (DATABASE LINKS) Exemple: accès au catalogue de produits en Grande-Bretagne CREATE DATABASE LINK site.europe.uk CONNECT TO Compte14 IDENTIFY BY abc123 USING SID_siteUK SELECT * FROM Compte14.Catalogue@site.europe.uk Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 26 Transparence de localisation (SYNONYM) Synonyme Évite aux applications de devoir connaître la localisation des données (transparence de localisation) Permet de conserver les mêmes requêtes, même si le lien change Exemple (suite): CREATE [PUBLIC] SYNONYM nomsynonyme FOR [nom].nomobjet[@lienbd] CREATE SYNONYM CatalogueEurope FOR compte14.catalogue@site.europe.uk SELECT * FROM CatalogueEurope WHERE Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 27 Robert Godin. Tous droits réservés. 9

Duplication avec vues matérialisées Syntaxe: CREATE MATERIALIZED VIEW nomvue [REFRESH {FAST COMPLETE FORCE} [ON COMMIT ON DEMAND]] [FOR UPDATE] FAST: mise-à-jour incrémentale de la copie COMPLETE: mise-à-jour complète de la copie à chaque rafraîchissement FORCE: mise-à-jour incrémentale lorsque possible, sinon complète ON COMMIT: rafraîchissem ent lorsqu une transaction modifiant les tables maîtresses fait un commit ON DEMAND (défaut): rafraîchissement sur demande de l usager (l instant peut être spécifié avec les clauses START et NEXT) FOR UPDATE: permet de mettre à jour la copie (les changements sont propagés aux tables maîtresses) Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 28 Duplication avec vues matérialisées Exemple: copie du catalogue européen CREATE MATERIALIZED VIEW CatalogueComplet REFRESH FAST ON COMMIT AS (SELECT * FROM Catalogue@site.europe.uk) UNION (SELECT * FROM CatalogueCanada) SELECT * FROM CatalogueComplet WHERE Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 29 Bases de données parallèles Exploitation du parallélisme intrasite Parallélisme de disques et d unités de Mémoire vive Disque Disque Disque Disque Disque Améliorent la fiabilité en dupliquant les données (ex: disques miroirs) Augmentent la performance en permettant de en parallèle des requêtes Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 30 Robert Godin. Tous droits réservés. 10

Parallélisme de disque Disques miroirs: Les données d un disque maître sont dupliquées sur un autre disque Code détecteur/correcteur d erreur Utilise un certain nombre de bits dans les données pour détecter une corruption et possiblement la corriger Ex: bit de parité, code de Hamming Répartition cyclique (striping) Améliore la performance en lecture/écriture par l utilisation de plusieurs disques en parallèle Répartit les données sur plusieurs disques, soit par bit (bit-level striping) ou par bloc (bloc-level striping) Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 31 A A Architectures RAID (Redundant Array of Independent Disks ) RAID 0 Répartition par bloc RAID 1 Disques miroirs RAID 2 Codes correcteurs (ex: Hamming) Moins de disque que 1 RAID 3 Répartition par bit (ou octet) Un disque de parité (détection) Récupération d une faute d un disque RAID 4 Répartition par bloc Disque de parité RAID 5 Répartition par bloc Blocs de parité répartis Permet les écritures parallèles RAID 6 Répartition par bloc Codes correcteurs répartis Raid 0 : Répartition par bloc Bloc 0 Bloc 4 Bloc 8 Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 32 Bloc 1 Bloc 5 Bloc 9 Raid 1 : Mirroirs Bloc 2 Bloc 6 Bloc 10 Bloc 3 Bloc 7 Bloc 11 A A B B Raid 2 : Codes correcteurs d erreurs A1 B1 C1 Bit 0 Bit 4 Bit 8 A2 B2 C2 Bit 1 Bit 5 Bit 9 A3 B3 C3 Bit 2 Bit 6 Bit 10 A4 B4 C4 Raid 3 : Répartition par bit + parité Bloc 0 Bloc 4 Bloc 8 Bloc 1 Bloc 5 Bloc 9 Bloc 2 Bloc 6 Bloc 10 Bit 3 Bit 7 Bit 11 Raid 4 : Répartition par bloc + parité Parité Bloc 4 Bloc 8 Bloc 12 Bloc 16 Bloc 0 Parité Bloc 9 Bloc 13 Bloc 17 Bloc 1 Bloc 5 Parité Bloc 14 Bloc 18 Bloc 3 Bloc 7 Bloc 11 Bloc 2 Bloc 6 Bloc 10 Parité bloc 19 Raid 0+1 Bloc 0 Bloc 2 Bloc 4 CCEA1 CCEB1 CCEC1 Parité Parité Raid 5 : Répartition par bloc + parité répartie Bloc 3 Bloc 7 Bloc 11 Bloc 15 Parité Bloc 1 Bloc 3 Bloc 5 CCEA2 CCEB2 CCEC2 Bloc 0 Bloc 2 Bloc 4 CCEA3 CCEB3 CCEC3 Bloc 1 Bloc 3 Bloc 5 Principales architectures RAID RAID 1: Duplication complète des données à l aide de disques miroirs Très haut niveau de fiabilité au coût d un espace disque important Met l emphase sur la fiabilité, pas la performance RAID 0+1: Combine la répartition par bloc de RAID 0 avec les disques miroirs de RAID 1 Offre fiabilité et performance, mais demande beaucoup d espace RAID 5: Répartition par blocs (sans duplication) avec bits de parité répartis Offre la performance et une certaine fiabilité (détection d erreur), sans exiger beaucoup d espace Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 33 Robert Godin. Tous droits réservés. 11

Fragmentation de tables (contexte parallèle) Découpe une grosse table en morceaux plus facilement gérables Très utilisée dans les entrepôts de données Permet le parallélisme intra-opérations (ex: accélération des balayages, sélections, jointures, etc.) Partitionnement par intervalles de valeur: Ex: partitionnement de transactions selon l année Accélère les sélections par valeurs et par intervalles de valeurs sur la clé de partitionnement Partitionnement par hashage sur la clé Ex: hashage de la clé primaire de la table Assure une distribution uniforme des lignes dans les partitions Accélère uniquement les sélections par valeur sur la clé de partitionnement Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 34 Partitionnement par intervalles de valeurs Exemple: partitionnement selon la date de transaction CREATE TABLE Transacti on ( id INTEGER INTEGER NOT NULL, idclient INTEGER NOT NULL, idproduit INTEGER NOT NULL, jour INTEGER DATE NOT NULL, ) PARTITION BY RANGE(jou r) ( PARTITIO P1999ouM oi ns N VALUES LESS THAN TO_DATE( 01/2000, MM/YYYY ) TABLESPAC E TS1999ouM oi ns PARTITIO N P2000 VALUES LESS THAN TO_DATE( 01 / 20 01, MM / YY YY ) TABLESPAC E TS2000 PARTITIO N P2001 VALUES LESS THAN TO_DATE( 01 / 20 02, MM / YY YY ) TABLESPAC E TS2001 ); -- Acces a la partitio n des transacti on s de 2001 à 2002 SELECT * FROM Transact io n PARTITIO N( P 20 01 ) ; -- Ajout d une partition ALTER TABLE Transact io n ADD PARTITION (PARTITIO N P2002 VALUES LESS THAN TO_DATE( 01/20 0 3, M M/ YY YY ) TABLESPA CE TS2002); Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 35 Sélection parallèle Sélection globale Sélection Sélection Sélection Fragment 1 Fragment 2 Fragment 3 On sélectionne les lignes simultanément dans chaque fragment On concatène les lignes obtenues de chaque fragment Si la sélection se fait par rapport à la clé de partitionnement: On peut ignorer les fragments dont l intervalle (ou la valeur de hashage) ne contient pas les valeurs recherchées Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 36 Robert Godin. Tous droits réservés. 12

Jointure parallèle Conditions préalables: Les tables R et S ont été partitionnées selon la même clé La jointure est faite selon cette clé On limite la jointure aux paires de lignes dans les fragments ayant la même valeur pour la clé: Fragment 1 R Jointure Fragment 1 S Fragment 2 R Jointure Fragment 2 S Fragment 3 R Jointure Fragment 3 S Similaire à la jointure par hashage (HASH JOIN) Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 37 Autres formes de parallélisme Plusieurs processeurs Plusieurs unités de mémoire Duplication des processus SGBD Processus miroirs pour fiabilité Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 38 Architecture à mémoire partagée (Symmetric MultiProcessor SMP) Mémoire vive Disque Disque Disque Disque Disque Plusieurs processeurs qui partagent la même mémoire centrale Mécanisme d interconnexion très rapide (bus de données) Processus parallèles communiquent rapidement à travers la mémoire centrale partagée (goulot d étranglement) Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 39 Robert Godin. Tous droits réservés. 13

Architecture à disques partagés Mémoire vive Mémoire vive Mémoire vive Mémoire vive Disque Disque Disque Disque Disque Chaque unité de possède sa propre mémoire vive Les disques sont partagés entre les unités de Évite le goulot d étranglement au niveau de la mémoire, mais complexifie la communication entre les processus Ex: architecture en grappe (cluster) - À NE PAS CONFONDRE AVEC LES TABLE CLUSTERS Département de génie logiciel et des TI R. Godin, C. Desrosiers - Hiver 2011 40 Robert Godin. Tous droits réservés. 14