reprises sur pannes d'une bd

29
Reprises sur Pannes Reprises sur Pannes d'une BD d'une BD Witold Litwin Witold Litwin

Upload: zeki

Post on 06-Jan-2016

47 views

Category:

Documents


2 download

DESCRIPTION

Reprises sur Pannes d'une BD. Witold Litwin. Pannes d'une BD. Matériel RAM ou CPU données sont perdues Disque données sont perdues ou corrompues Coupures de alimentation il faut "shut-down" la BD proprement Logiciel tout peut arriver. Reprises sur pannes. Panne régulière - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Reprises sur Pannes d'une BD

1

Reprises sur Pannes d'une BDReprises sur Pannes d'une BDReprises sur Pannes d'une BDReprises sur Pannes d'une BD

Witold LitwinWitold Litwin

Page 2: Reprises sur Pannes d'une BD

2

Pannes d'une BDPannes d'une BDPannes d'une BDPannes d'une BD

MatérielMatériel– RAM ou CPURAM ou CPU

» données sont perduesdonnées sont perdues

– DisqueDisque» données sont perdues ou corrompuesdonnées sont perdues ou corrompues

– Coupures de alimentationCoupures de alimentation» il faut "shut-down" la BD proprementil faut "shut-down" la BD proprement

LogicielLogiciel– tout peut arrivertout peut arriver

Page 3: Reprises sur Pannes d'une BD

3

Reprises sur pannesReprises sur pannesReprises sur pannesReprises sur pannes

Panne Panne régulièrerégulière– reprise à partir du journal et du checkpointreprise à partir du journal et du checkpoint

Panne Panne catastrophiquecatastrophique– reprise à partir d'une sauvegarde (copie globale) de la BDreprise à partir d'une sauvegarde (copie globale) de la BD

A froid (règle générale)A froid (règle générale)– l'accès des usagers à la base est arrêtél'accès des usagers à la base est arrêté

A chaudA chaud– l'accès à la base continuel'accès à la base continue

» préférable dans une BD répartiepréférable dans une BD répartie

Page 4: Reprises sur Pannes d'une BD

4

Principes généraux de reprisePrincipes généraux de reprisePrincipes généraux de reprisePrincipes généraux de reprise

Une transaction = unité de repriseUne transaction = unité de reprise– l'effet de toute transaction commise doit être l'effet de toute transaction commise doit être

restaurérestauré– l'effet de toute transaction avortée doit être l'effet de toute transaction avortée doit être

annuléannulé Un fichier dit Un fichier dit journal journal (log file) (log file) doit survivre doit survivre

aux pannes sur une aux pannes sur une mémoire stablemémoire stable– bande ou disquebande ou disque

CT OP AT CT ChP BT

temps

Page 5: Reprises sur Pannes d'une BD

5

Articles du journalArticles du journalArticles du journalArticles du journal

TID (début)TID (début) TID (commit/abort)TID (commit/abort) TID, Op, TupleId, TID, Op, TupleId, BeforeImage, AfterImageBeforeImage, AfterImage

– BeforeImage = Null pour un InsertBeforeImage = Null pour un Insert

– AfterImageAfterImage = Null pour un Delete = Null pour un Delete

» Log Log physiquephysique contient l'image-après physique contient l'image-après physique

» Log Log logique logique permet de le déduire de Oppermet de le déduire de Op Checkpoint recordCheckpoint record

– timestamp timestamp t t

– copie du cache au moment copie du cache au moment tt

– TIDs des transactions en cours au moment TIDs des transactions en cours au moment tt

Page 6: Reprises sur Pannes d'une BD

6

Reprise à partir du journalReprise à partir du journalReprise à partir du journalReprise à partir du journal

Les checkpoints sont pris aux intervalles Les checkpoints sont pris aux intervalles réguliersréguliers

Tout article du journal est écrit avant l'op. Tout article du journal est écrit avant l'op. corresp.corresp.– write-ahead protocolwrite-ahead protocol

Et quand une reprise est à faire:Et quand une reprise est à faire:

Page 7: Reprises sur Pannes d'une BD

7

on trouve le dernier checkpointon trouve le dernier checkpoint on restaure le cacheon restaure le cache on crée deux listes vides UNDO et REDOon crée deux listes vides UNDO et REDO On lit le journal en arrière, et la liste des TIDS On lit le journal en arrière, et la liste des TIDS

dans l'article checkpoint :dans l'article checkpoint :– si Commit T, alors REDO := REDO + T ;si Commit T, alors REDO := REDO + T ;– si Abort T, alors UNDO := UNDO + T ;si Abort T, alors UNDO := UNDO + T ;– si Begin T et T si Begin T et T REDO, alors REDO, alors

UNDO := UNDO + T ;UNDO := UNDO + T ; Défais les transactions dans UNDODéfais les transactions dans UNDO Refais les transaction dans REDORefais les transaction dans REDO

Algo général de repriseAlgo général de repriseAlgo général de repriseAlgo général de reprise

Page 8: Reprises sur Pannes d'une BD

8

panne

T1C

T5

T3C

checkpoint

T4C

T2

T6A

REDO = ? UNDO = ?

Page 9: Reprises sur Pannes d'une BD

9

Journalisation & cacheJournalisation & cacheJournalisation & cacheJournalisation & cache

L'algo de reprise discuté ne marche que si toute L'algo de reprise discuté ne marche que si toute opération est dans le journal opération est dans le journal avantavant d'être sur le d'être sur le disquedisque

Mais, écrire chaque opération dans le journal Mais, écrire chaque opération dans le journal tout-de-suite est chertout-de-suite est cher

On utilise le On utilise le log-bufferlog-buffer et on écrit sur le disque et on écrit sur le disque dans le journaldans le journal– à chaque commità chaque commit

– quand le log-buffer est pleinquand le log-buffer est plein

Page 10: Reprises sur Pannes d'une BD

10

Journalisation & cacheJournalisation & cacheJournalisation & cacheJournalisation & cache Problème:Problème:

– la gestion du cache (ex. LRU) pourrait écrire une la gestion du cache (ex. LRU) pourrait écrire une page de données non-commises sur le disque page de données non-commises sur le disque avant le log-bufferavant le log-buffer

– le log-buffer pourrait se perdre durant la pannele log-buffer pourrait se perdre durant la panne– l'algo de reprise ne marcherait plusl'algo de reprise ne marcherait plus

Solution typique (une variante de log-ahead)Solution typique (une variante de log-ahead)– LSN - LSN - Log Sequence # est Log Sequence # est donné à chaque enr. du donné à chaque enr. du

journaljournal– on n'écrit une page de données du cache sur le on n'écrit une page de données du cache sur le

disque que si disque que si » LSN-max dans la page < LSN-min du log-bufferLSN-max dans la page < LSN-min du log-buffer

Page 11: Reprises sur Pannes d'une BD

11

Tolérance aux pannesTolérance aux pannesTolérance aux pannesTolérance aux pannes Possibilité de fonctionnement malgré les pannesPossibilité de fonctionnement malgré les pannes

– en général avec une reprise à chauden général avec une reprise à chaud Approche traditionnelleApproche traditionnelle

– duplication duplication en miroir en miroir du matériel et des donnéesdu matériel et des données» avantage suppl. : le partage de chargeavantage suppl. : le partage de charge

– ex. Tandem Non-Stop SQLex. Tandem Non-Stop SQL

Page 12: Reprises sur Pannes d'une BD

12

Tolérance aux pannesTolérance aux pannesTolérance aux pannesTolérance aux pannes

Duplication des CPU avec l'accès croisé Duplication des CPU avec l'accès croisé aux disques est difficile à réaliser sur le aux disques est difficile à réaliser sur le matériel de grande diffusionmatériel de grande diffusion

Deux techniques en vogue pour ce matérielDeux techniques en vogue pour ce matériel– enregistrements en miroir sur les disquesenregistrements en miroir sur les disques

» RAID 1RAID 1

– enregistrements partiellement redondants enregistrements partiellement redondants » RAID 2,..RAID 2,..

Page 13: Reprises sur Pannes d'une BD

13

MiroirsMiroirsMiroirsMiroirs Tout enregistrement est fait en Tout enregistrement est fait en n - n - copies sur des disques copies sur des disques

indépendantsindépendants– par le SGBDpar le SGBD– par le SGFpar le SGF

» le SGBD n'écrit que la le SGBD n'écrit que la copie primairecopie primaire– le SGF propage l'enregistrement aux copiesle SGF propage l'enregistrement aux copies

Les lectures sont réparties sur les copies Les lectures sont réparties sur les copies – pour maximiser la charge possiblepour maximiser la charge possible

» en général on reparti l'accès uniformément en général on reparti l'accès uniformément n n copies permettent à la BD de survivre sans perte copies permettent à la BD de survivre sans perte toutetoute

panne simultanée de (panne simultanée de (n - n - 1) volumes 1) volumes

nn = 2 en général = 2 en général

Page 14: Reprises sur Pannes d'une BD

14

MiroirsMiroirsMiroirsMiroirs

Si une panne arrive à un volume, alors on lit une Si une panne arrive à un volume, alors on lit une autre copie de l'enregistrementautre copie de l'enregistrement

Le gestionnaire de reprise recrée alors le volume Le gestionnaire de reprise recrée alors le volume en panne sur un autre disqueen panne sur un autre disque– en général à chauden général à chaud

Page 15: Reprises sur Pannes d'une BD

15

MiroirsMiroirsMiroirsMiroirs CoûtCoût

– n n fois plus d'espace mémoirefois plus d'espace mémoire

– n n fois plus d'accès en MAJfois plus d'accès en MAJ» temps allongé d'une transactiontemps allongé d'une transaction

– si le SGBD gère tous les accèssi le SGBD gère tous les accès» une incohérence temporaire entre les copiesune incohérence temporaire entre les copies

– si le SGF gère les copiessi le SGF gère les copies

AvantageAvantage– probabilité de panne totale décroît en facteur probabilité de panne totale décroît en facteur ppnn

– les perf. I/O en lecture croient en facteur les perf. I/O en lecture croient en facteur nn» si le CPU n'est pas saturési le CPU n'est pas saturé

Page 16: Reprises sur Pannes d'une BD

16

RAIDRAIDRAIDRAID

Redundant Arrays of Independent DisksRedundant Arrays of Independent Disks Plusieurs disques de petite taille et de grande Plusieurs disques de petite taille et de grande

diffusiondiffusion– coûtent moins qu'un grand disque d'une même capacitécoûtent moins qu'un grand disque d'une même capacité

– offrent plus de parallélismeoffrent plus de parallélisme

– sont plus fiable dans l'ensemblesont plus fiable dans l'ensemble» R. Katz & D. Patterson, UC BerkeleyR. Katz & D. Patterson, UC Berkeley

RAID-1RAID-1 - les miroirs- les miroirs RAID-2 - voir la littératureRAID-2 - voir la littérature

Page 17: Reprises sur Pannes d'une BD

17

RAID-3 RAID-3 – bit-interleaving + paritybit-interleaving + parity

RAID-4RAID-4– block-interleaving + parityblock-interleaving + parity

RAID-5RAID-5– block-interleaving + rotated parityblock-interleaving + rotated parity

RAID-6RAID-6– dual-redundancydual-redundancy

» invention commercialeinvention commerciale

RAID-3,4,5RAID-3,4,5RAID-3,4,5RAID-3,4,5

Page 18: Reprises sur Pannes d'une BD

18

RAID-4RAID-4RAID-4RAID-4

101... 001... 111... 100... 111...

Segmentde paritéSegments de données

Write

101... 001... 111... 100...

le tuple

...

... ...

Page 19: Reprises sur Pannes d'une BD

19

RAID-4RAID-4RAID-4RAID-4

101... 001... 111... 100... 111...

Segmentde paritéSegments de données

Read

101... 001... 111... 100... ...

... ...

le tuple

Page 20: Reprises sur Pannes d'une BD

20

RAID-4RAID-4RAID-4RAID-4

101... 001... 111... 100... 111...

Segmentde paritéSegments de données

Read

101... 001... 111... 100... le tuple

... ...

Page 21: Reprises sur Pannes d'une BD

21

RAID-4RAID-4RAID-4RAID-4

001... 111... 100... 111...

Segmentde paritéSegments de données

Reconstruction sur un disque nouveau (spare disk)

Page 22: Reprises sur Pannes d'une BD

22

RAID-4RAID-4RAID-4RAID-4

101... 001... 111... 100... 111...

Segmentde paritéSegments de données

Reconstruction sur un disque nouveau (spare disk)

spare disk

Page 23: Reprises sur Pannes d'une BD

23

RAID-5RAID-5RAID-5RAID-5

S1,1 P1

Segment de paritéSegments de données

S1,2 S1,3

P2 S2,1

S1,4

P3

P4

P5

S2,3 S2,4

S3,1

S2,2

Page 24: Reprises sur Pannes d'une BD

24

RAIDRAIDRAIDRAID Avantages RAID - 3 / RAID-1Avantages RAID - 3 / RAID-1

– moins de mémoire additionnellemoins de mémoire additionnelle» combien ?combien ?

– I/O + rapideI/O + rapide» - de transfert- de transfert

» parallélismeparallélisme

– moindre coûtmoindre coût» disques bon marchésdisques bon marchés

Limitation (peu importante en pratique)Limitation (peu importante en pratique)– La BD ne survie que la panne d'un volume à la foisLa BD ne survie que la panne d'un volume à la fois

Technologie en vogueTechnologie en vogue

Page 25: Reprises sur Pannes d'une BD

25

MultiordinateursMultiordinateursMultiordinateursMultiordinateurs On peut stocker les données redondant d'une BD sur On peut stocker les données redondant d'une BD sur

plusieurs sitesplusieurs sites– même distantsmême distants

données d'une SDDSdonnées d'une SDDS– Structure de Données Distribuée et ScalableStructure de Données Distribuée et Scalable

Une meilleure protection contre une panne catastrophiqueUne meilleure protection contre une panne catastrophique– explosion, panne de courant, grève...explosion, panne de courant, grève...

Une meilleure sécuritéUne meilleure sécurité– il peut être nécessaire de pénétrer plusieurs sites pour avoir une il peut être nécessaire de pénétrer plusieurs sites pour avoir une

donnéedonnée

Page 26: Reprises sur Pannes d'une BD

26

MultiordinateursMultiordinateursMultiordinateursMultiordinateurs Deux SDDSs haute-disponibilité connuesDeux SDDSs haute-disponibilité connues

– LH*LH*MM stocke la BD en miroirs stocke la BD en miroirs

– LH*LH*SS stocke la BD en segments, comme RAID stocke la BD en segments, comme RAID» mais en général en RAM distribuéemais en général en RAM distribuée» et sur un nombre scalable de siteset sur un nombre scalable de sites» securité accruesecurité accrue

– l'accès pirate à un site amène des données partiellesl'accès pirate à un site amène des données partielles– un bit sur un bit sur n n si l'on distribue sur si l'on distribue sur n n segmentssegments

Un domaine de rechercheUn domaine de recherche– W. Litwin, M.-A. Neimat. High-Availability LH* Schemes with Mirroring. COOPIS-96, W. Litwin, M.-A. Neimat. High-Availability LH* Schemes with Mirroring. COOPIS-96,

Bruxelles, Juin 1996.Bruxelles, Juin 1996.– W. Litwin, M-A Neimat. Scattered LH* files for high availability and security. Tech. Rep W. Litwin, M-A Neimat. Scattered LH* files for high availability and security. Tech. Rep

HPL & GERM, Sept. 1995HPL & GERM, Sept. 1995

Page 27: Reprises sur Pannes d'une BD

27

ConclusionConclusionConclusionConclusion

Les SGBDs peuvent tomber en panneLes SGBDs peuvent tomber en panne La sauvegarde et reprise fiable d'une BD est La sauvegarde et reprise fiable d'une BD est

un problème capital pour un SGBDun problème capital pour un SGBD Toute donnée commise doit être préservéeToute donnée commise doit être préservée On peut restaurer les données à partir du On peut restaurer les données à partir du

journaljournal On peut aussi prévenir la perte de données On peut aussi prévenir la perte de données

par le stockage redondantpar le stockage redondant– RAID tout particulièrementRAID tout particulièrement– et SDDS haute-disponibilitéet SDDS haute-disponibilité

Page 28: Reprises sur Pannes d'une BD

28

FINFINFINFIN

Page 29: Reprises sur Pannes d'une BD

29