0% ont trouvé ce document utile (0 vote)
323 vues27 pages

Fragmentation

La fragmentation est le processus de décomposition d'une base de données logique en un ensemble de sous-bases de données. La fragmentation permet de stocker les données à proximité de leur lieu d'utilisation et d'exécuter des sous-requêtes en parallèle.

Transféré par

mngkp
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
323 vues27 pages

Fragmentation

La fragmentation est le processus de décomposition d'une base de données logique en un ensemble de sous-bases de données. La fragmentation permet de stocker les données à proximité de leur lieu d'utilisation et d'exécuter des sous-requêtes en parallèle.

Transféré par

mngkp
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Répartition des données

1
Plan
• Stratégies de répartition
• Les types de fragmentation
• Données et fédération

2
Principes
• La fragmentation est le processus de décomposition d'une base de
donnée logique en un ensemble de "sous" bases de données. Cette
décomposition doit être sans perte d'information.
• La fragmentation peut être coûteuse s’il existe des applications qui
possèdent des besoins opposés.
• Les règles de fragmentation
• Les règles à appliquer sont :
• 1. La complétude
– pour toute donnée d’une relation R, il existe un fragment Ri de la relation R
qui possède cette donnée.
• 2. La reconstruction
– pour toute relation décomposée en un ensemble de fragments Ri, il existe
une opération de reconstruction.
– Pour les fragmentations horizontales, l’opération de reconstruction est l’une
union. Pour les fragmentations verticales c’est la jointure.
• 3. La Disjonction 3
Conception d’une base de données
répartie

• La définition du schéma de répartition est une


partie délicate de la phase de conception
d'une BDR
– il n'existe pas de méthode pour trouver la solution
optimale.
– DBA doit prendre des décisions en fonction de
critères techniques et organisationnels
– minimiser le nombre et le temps de transferts
entre sites, le volume de données transférées, les
temps moyens de traitement des requêtes, le
nombre de copies de fragments, etc...
4
Conception de BD répartie
• On ne met en place une BD répartie qu’en cas
de réel besoin
– Démarche de conception délicate
– Gestion complexe
– L’évolution du SI peut invalider la solution retenue…
• Des raisons valables :
– Volumes de données, sites distants, etc.
– Fusions de SI

5
• Conception descendante (top down design)
– On définit un schéma conceptuel global de la base
de données répartie,
– puis on distribue sur les différents sites en des
schémas conceptuels locaux.
• La répartition se fait donc en deux étapes:
– en première étape la fragmentation,
– En deuxième étape l’allocation de ces fragments
aux sites.
• L’approche top down est intéressante quand
on part du néant.
6
• En conception descendante
– Adéquation géographique
– Recherche de performance (I/O, traitements)

7
Migration vers une BD répartie

8
Décomposition

Transaction Distribuée

9
Fragmentation des données
• FRAGMENTATION: Découpage d’une relation R
en fragments R1; R2;… ; Rn

10
Fragmentation Horizontale
– Les tuples sont répartis
– Peut être définie par une sélection
– Fragments disjoints ou non (Duplication partielle)
– Reconstruction par UNION

11
12
Fragmentation Verticale
– Les tuples sont découpés et fragmentés
– Nécessite colonne commune (clé ou unique)
dupliquée

13
Fragmentation verticale
• On projette la table sur des attributs différents
suivant le site.
• Comme frag. horizontale, peut correspondre à
une consolidation ou une recherche de perf.
• La reconstruction des tuples doit être possible
(et validée)
• Forme la plus simple : Décomposition de R
– Identifiant (clef) dans chaque fragment
• Reconstruction par JOINTURE
14
15
Synthèse de la fragmentation

16
Intérêts de la fragmentation
• L’usage : dans le contexte de la répartition des données, il paraît approprié de
travailler sur des sous-ensembles de relations, constituant l’unité de répartition
• L’efficacité : Un stockage des données à proximité du lieu où elles sont le plus
utilisées est essentiel et inversement, les données non nécessaires aux
applications locales ne sont pas emmagasinées inutilement.
• Sous-requêtes en même temps: Lorsque le fragment constitue l’unité de
répartition, une transaction peut être découpée en plusieurs sous-requêtes qui
opèrent sur des fragments. Ceci a pour effet d’accroître le degré de simultanéité,
c'est-à-dire le parallélisme, du point de vue du système dans sa totalité, ce qui
permet aux transactions qui le peuvent, de s’exécuter en parallèle et en toute
sécurité.
• La sécurité: Les données qui ne sont pas indispensables aux applications locales
ne sont pas présentes inutilement à des endroits à la portée des utilisateurs non
17
autorisés
Réseau

18
Mise en pratique de la fragmentation
• Dans les SGBD commerciaux actuels:
– Pas de fragmentation explicite au niveau du
schéma
– Assemblage = création de vue (ou de snapshot)
– Distribution des données :
• Une solution = triggers

19
Mise en oeuvre sous SQL (Assemblage)

• Frag. Horizontale
• CREATE VIEW V1
AS SELECT Table1.cle, Table1.attr1
FROM Table1@site1
UNION
SELECT Table2.cle, Table2.attr1
FROM Table2@site2

20
Mise en œuvre sous SQL (Assemblage)
• Frag. Verticale
• CREATE VIEW V1
AS SELECT Table1.cle, Table1.attr1, Table2.attr2
FROM Table1@site1, Table2@site2
WHERE Table1.cle=Table2.cle
• Remarque :
– l’attribut de fragmentation n’est pas forcément la
clé primaire…
– En frag. verticale, il faut au moins que ce soit une
clé
21
Gestion de l’hétérogénéité
• Hétérogénéité « sans problème »
– SE et réseau : géré par SGBD (si « bon » SGBD)
• Hétérogénéité plus délicate
– SGBD : pb des dialectes de SQL
– passerelles entre SGBD
• Ex : ODBC (au départ sous Windows mais
porté sous d’autres OS)
• Ex : passerelles propriétaires SGBD à SGBD

22
Communication Inter-sites
• Chaque SGBD dispose d’un démon permettant
les connexions distantes, sur un mode client –
serveur Listener (médiateur)
• Chaque SGBD dispose d’une table des BDs
accessibles
– Nom >> doit être unique !!!
– Adresse
– Protocole
• Cette approche permet aussi un équilibrage de
charge transparent…
23
Mise en oeuvre en SQL
(Insertion avec les triggers Oracle)
• CREATE TRIGGER Tr1
INSTEAD OF INSERT on Table
BEGIN
IF :New.cle < 1000 THEN
INSERT INTO Table1@site1(cle,attr1)
VALUES(:New.cle,:New.attr);
ELSE
INSERT INTO Table2@site2(cle,attr2)
VALUES (:New.cle,:New.attr);
END IF;
END; 24
Fédération
– Distribution pré-existante
– Nécessite consolidation, uniformisation («
réconciliation sémantique»)
– Identifier les données semblables
– Accorder leurs types, gérer leur cohérence…
– Interfacer ou adapter les SGBD…
– Ex : fusion, mise en place DW

25
BD fédérée
• Généralement, l’architecture proposée est constituée
de cinq couches ou cinq niveaux d’abstraction :

26
• un schéma local (Local schema) est le schéma
d’une base de données constituant la fédération
;
• un schéma du composant (Component schema)
est dérivé du schéma local par transformation et
il constitue une couche de médiation ;
• un schéma d’export (Export schema) constitue
une sous-partie du schéma du composant. Il
filtre les données accessibles par la fédération.
• Il définit les droits d’accès aux données ;
• le schéma intégré (Integrated schema) compose
un ensemble de schémas d’export. Il définit
comment sont traduites les requêtes effectuées
à son niveau en une multitude de requêtes sur
chaque base de données de la fédération ;
• un schéma externe (External schema) est une
vue du schéma intégré pour un usage particulier
(type d’application, type d’utilisateur…).

27

Vous aimerez peut-être aussi