Distributed DBMS reliability Distributed DBMS reliability - - PowerPoint PPT Presentation

distributed dbms reliability distributed dbms reliability
SMART_READER_LITE
LIVE PREVIEW

Distributed DBMS reliability Distributed DBMS reliability - - PowerPoint PPT Presentation

Distributed DBMS reliability Distributed DBMS reliability


slide-1
SLIDE 1

Distributed DBMS reliability Distributed DBMS reliability

  • ! "# $% &#

'( )

  • !(*(*+((,

"# &#- ./ -

!( * ( * 01

slide-2
SLIDE 2

Outline (distributed DB)

  • 2 '( ⋆

  • '( . ⋆
  • 34% '( 5 ⋆
  • ! '( ⋆

2'( ⋆

  • ! "# $% &#

'( )

➡ 2'( ⋆ ➡ '4' '( ⋆ ➡ ⋆

⋆ Özsu and Valduriez, (3rd Ed.), 2011

slide-3
SLIDE 3

Outline (today)

  • 64'( ⋆

➡ 24 ➡ 24 ➡ 4

✦ !+(%'

  • ! "# $% &#

'( ).

⋆ Özsu and Valduriez, (3rd Ed.), 2011

slide-4
SLIDE 4

Reliability

%0

7+ 4 4

  • ! "# $% &#

'( )8

  • '( )8
slide-5
SLIDE 5

Fundamental Definitions

  • 64

➡ 9+(+((4(* ➡ 9+(+((4(*

(*

  • 9*4

➡ !(((4

  • :

➡ !(*4((*(

  • ! "# $% &#

'( );

slide-6
SLIDE 6

Types of Failures

  • !

➡ !4, ➡ !4,

  • 4

➡ :-4-+4-< ➡ 4-4 ➡ %*

➡ :4*((( ➡ 7()=

  • ! "# $% &#

'( )5

➡ %4--4> (,

  • '

➡ ?)* ➡ @+,

slide-7
SLIDE 7

Update Strategies

  • 2

➡ /((*( ➡ -

  • A

➡ /((+*4

(*

  • ! "# $% &#

'( )B

(*

➡ ?-4

slide-8
SLIDE 8

In*Place Update Recovery Information

?

/*44(- /*44(- + 4

@+

  • C

A A

  • ! "# $% &#

'( )

  • ?
slide-9
SLIDE 9

Logging

!(4(*4( 44 !(4 44 !(4

➡ ➡ 4 ➡ 4(( ➡ * ➡ +*

  • ! "# $% &#

'( )

<

slide-10
SLIDE 10

Why Logging?

C*40

➡ D((6/A4 ➡ D((6/A4

  • ➡ D((C@A4

4 (

  • /
  • ! "# $% &#

'( )

  • /
slide-11
SLIDE 11

REDO Protocol

6/A A

  • @+
  • 6/AD
  • ?

6/A

  • ! "# $% &#

'( )

  • 6/AD
  • !(6/A(
  • 6/A+(+4

4-4

➡ 44,44

slide-12
SLIDE 12

UNDO Protocol

@+ A

  • @+
  • ?

C@A A

  • ! "# $% &#

'( )

  • C@AD (E
  • !(C@A(
  • C@A+(4-

4(

➡ 4-,44

slide-13
SLIDE 13

When to Write Log Records Into Stable Store

9

  • :
  • :

➡ 4+ ➡ 4( ➡ F!/:92?C6/A''C6G

H*4 4(

  • C

➡ 4+ ➡ F!/:92?C6/A''C6G

  • ! "# $% &#

'( ).

F!/:92?C6/A''C6G

H*(( (*

  • 0H9(? H9?
slide-14
SLIDE 14

Write–Ahead Log Protocol

  • @0

➡ 24(-(( ➡ 24(-((

A4( (

➡ A-((*

@( (

  • H9?0
  • (((

+(

  • ! "# $% &#

'( )8

H(-((+

((

slide-15
SLIDE 15

Execution of Commands

'0

I

  • +
  • 21

4?6

  • ! "# $% &#

'( );

  • *
slide-16
SLIDE 16

Execution Strategies

➡ '(+(4

+?6= +?6=

✦ 1)1

➡ (?6(+

(D1=

✦ ()(

  • %10
  • ! "# $% &#

'( )5

  • %10

➡ 1)( ➡ 1)( ➡ 1)( ➡ 1)(

slide-17
SLIDE 17

No*Fix/No*Flush

  • 9

➡ 4(*+( ➡ 4(*+(

4-,

➡ ?6

  • '

➡ ?6+JIIK( ➡ 4+,

  • 6*
  • ! "# $% &#

'( )B

  • 6*

➡ :(((*(JIK

JIIK(- 4?6

➡ :((4(*JIK(-

14?6

slide-18
SLIDE 18

No*Fix/Flush

  • 9

➡ 4(*+( ➡ 4(*+(

4-,

➡ ?6

  • '

➡ ?6 (

✦ -,

➡ ?6+JIIK(

  • ! "# $% &#

'( )

➡ ?6+JIIK(

  • 6*

➡ @ ➡ %

slide-19
SLIDE 19

Fix/No*Flush

  • 9

➡ @((*+ ➡ @((*+ ➡ 6(

  • '

➡ ?6+JIIK( ➡ 4+, ➡ ?6 ((+

*4

  • ! "# $% &#

'( )

*4

  • 6*

➡ % ➡ @

slide-20
SLIDE 20

Fix/Flush

  • 9

➡ @((*+ ➡ @((*+ ➡ 6(

  • '(+(*4

➡ ?6 (

✦ -,

➡ ?6 ((+

*4

  • ! "# $% &#

'( )

*4

➡ ?6+JIIK(

  • 6*

➡ @4(

slide-21
SLIDE 21

Checkpoints

  • (,(

+( +(

➡ 9*(+(

  • 9(,4(
  • (,0

HI(, ( '((,(

  • ((+-4*
  • ! "# $% &#

'( )

  • ((+-4*
  • HI(, (
slide-22
SLIDE 22

Media Failures – Full Architecture

4 4

  • 6

H H 6 4

  • :(-

:(

  • ! "# $% &#

'( )

9(*

  • 9(*
  • H

H

slide-23
SLIDE 23

Distributed Reliability Protocols

  • '

➡ 7+1 ➡ 7+1 ➡ 20(+44=

  • !

➡ 2-(+((* ➡ ! 0(((+

((

  • 6*4

➡ H(-(+(+(((*

  • ! "# $% &#

'( ).

➡ H(-(+(+(((*

(4,

➡ " 0(+(

(*

  • 2*4 ⇒ ,
slide-24
SLIDE 24

Two*Phase Commit (2PC)

# 0!((4 (4 (4 $ 0!() L-((-+,L

➡ 0!((+((

+(((1

➡ !" 0!((((1(

  • M'60
  • ! "# $% &#

'( )8

M'60

  • !(4

*

  • /N*40!(4(

*

slide-25
SLIDE 25

2PC Protocol Actions

% '

#$#%#& #$#%#& @ ' %&'!(&" F )*&+*!+&, @ (

  • (
  • )&#%
  • **+

&$+ (

  • (

,**

  • &'
  • ! "# $% &#

'( );

@ (

  • 9

' +(- +(- (**

  • %"

* (**

  • &.%

.#% .#% &.% ( ,,

  • C
slide-26
SLIDE 26

Centralized 2PC

! !

  • !

! ! ! ! ! ! !

  • ! "# $% &#

'( )5

  • *)

* )

  • )

%( %(

slide-27
SLIDE 27

Linear 2PC

%( % &')&9 %( M')M9 &')&9 &')&9 &')&9

  • .

8 ; @ M')M9 M')M9 M')M9 M')M9

≈ ≈

  • ! "# $% &#

'( )B

%( &'0&'-&90&9-M'0M-M90M

slide-28
SLIDE 28

Distributed 2PC

' % %

  • ! "# $% &#

'( )

  • *)

* )

  • 4

%( %(

slide-29
SLIDE 29

Variations of 2PC

  • %%'%'
  • '4(4
  • '4(4
  • ➡ 6
  • ! "# $% &#

'( )

slide-30
SLIDE 30

State Transitions in 2PC

#$#%#& )&#% ' % & #$#%#&

  • &'

% & M % & M &

  • ! "# $% &#

'( ).

& M M 9, M 9,

' %

& M &.% .#% .#% &.%

slide-31
SLIDE 31

Site Failures * 2PC Termination

  • !H92!

➡ '4

'AA62@9!A6

➡ '4 ➡ '4

  • !9A6!'A2!

➡ 4,+(, ➡ 64JK

JK*

  • #$#%#&

)&#%

' %

  • ! "# $% &#

'( ).

& M

&.% .#%

& M

slide-32
SLIDE 32

Site Failures * 2PC Termination

  • !2@2!29?

➡ '(*

2@2!29?

%96!2'2%9@!

2@2!29?

➡ C4

  • !6/9F

➡ 4,

➡ 64J*K

  • 2-(4

#$#%#&

  • &'

% &

M

% & M

  • ! "# $% &#

'( ).

  • 2-(4

*, 9 6/9F,.

➡ . 2@2!29?0. ➡ . 6/9F0( ➡ . 9A6!)'A2!0. J*

K)K*

M

9, M 9,

&.% .#%

slide-33
SLIDE 33

Re*election of the coordinator

  • 2<
  • <(,+(((4
  • <(,+(((4
  • (((

➡ /444*

  • +,( 20

➡ %* ➡ %4 ➡ %(

  • ! "# $% &#

'( )..

➡ %( ➡ 9+1((((

(

  • %',
slide-34
SLIDE 34

Site Failures * 2PC Recovery

  • :2@2!29?

➡ (*4

'AA62@9!A6

➡ (*4

  • :H92!

➡ 6(*4

  • :9A6!)'A2!

➡ @((, (*

*

➡ A(+*,(

#$#%#& )&#%

' %

&

&

  • ! "# $% &#

'( ).8

➡ A(+*,(

9A6!)'A2!

& M

&.% .#%

& M

slide-35
SLIDE 35

Site Failures * 2PC Recovery

  • :2@2!29?

➡ C4*4

%96!2'2%9@!

➡ C4*4

  • :6/9F

➡ !((

(

➡ !6/9F

*,(

  • :9A6!'A2!

#$#%#&

  • &'

% & % &

  • ! "# $% &#

'( ).;

  • :9A6!'A2!

➡ @(

M

9, M 9,

&.% .#%

slide-36
SLIDE 36

2PC Recovery Protocols – Additional Cases

94

  • '+JIK
  • '+JIK

JK

➡ H92!O*,*4H92!

JK

  • %+J4KJ*

K

➡ 6/9F ➡ *,*46/9F

  • ! "# $% &#

'( ).5

➡ *,*46/9F

  • %+JKJ*

K

➡ 4(*4

slide-37
SLIDE 37

2PC Recovery Protocols – Additional Cases (cont’d)

  • '

( (

➡ 'A2!9A6! ➡ (6/9F

  • %+JKJK

,+

➡ 'A2!9A6! ➡ +(4'A2!9A6!

  • ! "# $% &#

'( ).B

➡ +(4'A2!9A6!

slide-38
SLIDE 38

Problem With 2PC

  • ,

➡ 64((+( ➡ 64((+( ➡ 2-,*4 ➡ ,*4

  • 2*4
  • 7+*-,+(0

➡ 2*414O

*41+((

  • ! "# $% &#

'( ).

*41+((

  • .%',
  • '+,

➡ @,1

slide-39
SLIDE 39

More Problematic Failure Types

  • H4

➡ 9*-* ➡ 9*-*

  • /

➡ 24+,10 ➡ (*0( ➡ 90

  • ! "# $% &#

'( ).