Cloud storage consistency
This presentation is the property of its rightful owner.
Sponsored Links
1 / 16

Cloud Storage Consistency PowerPoint PPT Presentation


  • 104 Views
  • Uploaded on
  • Presentation posted in: General

Cloud Storage Consistency . … Explained through Baseball. Doug Terry Microsoft Research Silicon Valley. Data Replication in the Cloud. Question : What consistency choices should cloud storage systems offer applications?. Some Popular Systems. Amazon S3 – eventual consistency

Download Presentation

Cloud Storage Consistency

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Cloud storage consistency

Cloud Storage Consistency

… Explained through Baseball

Doug Terry

Microsoft Research Silicon Valley


Data replication in the cloud

Data Replication in the Cloud

Question: What consistency choices should cloud storage systems offer applications?


Some popular systems

Some Popular Systems

  • Amazon S3 – eventual consistency

  • Amazon Simple DB – eventual or strong

  • Google App Engine – strong or eventual

  • Yahoo! PNUTS – eventual or strong

  • Windows Azure Storage – strong (or eventual)

  • Cassandra – eventual or strong (if R+W > N)

  • ...


A spectrum of consistency

A Spectrum of Consistency

Strong

Consistency

Intermediate

Consistency

Eventual

Consistency

Lots of consistencies proposed in research community: probabilistic quorums, session guarantees, epsilon serializability, fork consistency, causal consistency, demarcation, continuous consistency, ...


My favorite read consistency guarantees

My FavoriteRead Consistency Guarantees


Comparing consistency

Comparing Consistency

strength

Strong

metric =

set of allowable read results

Prefix

Bounded

Monotonic

RMW

Eventual


Consistency trade offs

Consistency Trade-offs

performance

consistency

availability


The game of baseball

The Game of Baseball

for inning = 1 .. 9

outs = 0;

while outs < 3

visiting player bats;

for each run scored

score = Read (“visitors”);

Write (“visitors”, score + 1);

outs = 0;

while outs < 3

home player bats;

for each run scored

score = Read (“home”);

Write (“home”, score + 1);

end game;


Official scorekeeper

Official Scorekeeper

Desired consistency?

Strong

= Read My Writes!

score = Read (“visitors”);

Write (“visitors”, score + 1);


Umpire

Umpire

Desired consistency?

Strong consistency

if middle of 9th inning then

vScore = Read (“visitors”);

hScore = Read (“home”);

if vScore < hScore

end game;


Radio reporter

Radio Reporter

do {

BeginTx();

vScore = Read (“visitors”);

hScore = Read (“home”);

EndTx();

report vScore and hScore;

sleep (30 minutes);

}

Desired consistency?

Consistent Prefix

Monotonic Reads

or Bounded Staleness


Sportswriter

Sportswriter

While not end of game {

drink beer;

smoke cigar;

}

go out to dinner;

vScore = Read (“visitors”);

hScore = Read (“home”);

write article;

Desired consistency?

Eventual?

Strong = Bounded Staleness


Statistician

Statistician

Desired consistency?

Strong Consistency (1st read)

Read My Writes (2nd read)

Wait for end of game;

score = Read (“home”);

stat = Read (“season-runs”);

Write (“season-runs”, stat + score);


Stat watcher

Stat Watcher

Desired consistency?

Eventual Consistency

do {

stat = Read (“season-runs”);

discuss stats with friends;

sleep (1 day);

}


Cloud storage consistency

Read My Writes

Official scorekeeper:

score = Read (“visitors”);

Write(“visitors”, score + 1);

Statistician:

Wait for end of game;

score = Read (“home”);

stat = Read (“season-runs”);

Write (“season-runs”, stat + score);

Umpire:

if middle of 9th inning then

vScore= Read (“visitors”);

hScore = Read (“home”);

if vScore < hScore

end game;

Radio reporter:

do {

vScore = Read (“visitors”);

hScore = Read (“home”);

report vScore and hScore;

sleep (30 minutes);

}

Sportswriter:

While not end of game {

drink beer;

smoke cigar;

}

go out to dinner;

vScore= Read (“visitors”);

hScore = Read (“home”);

write article;

Stat watcher:

stat = Read (“season-runs”);

discuss stats with friends;

Bounded Staleness

Strong Consistency

Strong Consistency

Read My Writes

Consistent Prefix

Monotonic Reads

Eventual Consistency


Conclusions

Conclusions

  • Replication schemes involve tradeoffs between consistency, performance, and availability

  • Consistency choices can benefit applications

  • But we, the research community, must provide better definitions, analysis, and tools


  • Login