SlideShare a Scribd company logo
1 of 14
Download to read offline
Dynamo: Amazon’s Highly Available Key-Value Store
Farley Lai
University of Iowa
poyuan-lai@uiowa.edu

February 21, 2014

Farley Lai (UIOWA)

Amazon Dynamo (Big Data)

February 21, 2014

1 / 14
Motivation

MapReduce processes big data in a parallel and distributed fashion.
Daynamo forms the foundation of big data, namely, the storage.

Shopping Cart
Clients tend to insert and update items frequenty but review the cart to
check out only at the end. Is it fun for the sytem to always ask you to
retry later in minutes whenever there is an item inserted/updated in the
shopping cart?

Farley Lai (UIOWA)

Amazon Dynamo (Big Data)

February 21, 2014

2 / 14
SOA of Amazon’s Platform

Farley Lai (UIOWA)

Amazon Dynamo (Big Data)

February 21, 2014

3 / 14
Roles
Service Provider: Amazon
Service: Dynamo, the storage service
Customer: application/service vendors
Client: applications/services
User: human and/or bots

Service Level Agreements (SLA)
SLA are contracts signed by service providers and customers, specifying
the quality of service guaranteed for a client access distribution.
Example: service guaranteeing that it will provide a response within
300ms for 99.9% of its requests for a peak client load of 500 requests per
second.
Farley Lai (UIOWA)

Amazon Dynamo (Big Data)

February 21, 2014

4 / 14
What is Dynamo?

A distributed key-value storage service built on a ring topology with
high availability for writes
eventual consistency

Farley Lai (UIOWA)

Amazon Dynamo (Big Data)

February 21, 2014

5 / 14
Requirements and Assumptions

Requirements
Simple read/write to data items identified by unique keys
ACID: automicity, consistency, isolation and durability
SLA: latency constraints on the 99.9th percentile of the
distribution
Assumptions
Trusted environment and machines without security concerns

Farley Lai (UIOWA)

Amazon Dynamo (Big Data)

February 21, 2014

6 / 14
Problems, Techniques and Advantages

Problems
Partitioning
High write availability
Temporary failures

Permanent failures
Membership

Farley Lai (UIOWA)

Techniques

Advantages

Consistent Hashing
Vector clocks with
conlict resolution
Sloppy
Quorum,
hinted handoff

Incremental Scalability
Version size is decoupled
from update rates
High availability and durability guarantee despite
some unavailable replicas
Fast replica synchronization
decentralized registry for
storing membership and
liveness info

Merkle trees
Gossip protocol

Amazon Dynamo (Big Data)

February 21, 2014

7 / 14
Partitioning

Consistent hashing
1

key space

2

tokens assignment

3

replication

4

load distribution

5

node availability

6

node capacity

Farley Lai (UIOWA)

Amazon Dynamo (Big Data)

February 21, 2014

8 / 14
Data Versioning

Operations
1

read()⇒get()

2

write()⇒put()

3

conflict resolution

4

vector clock

Farley Lai (UIOWA)

Amazon Dynamo (Big Data)

February 21, 2014

9 / 14
Sloppy Quorum

1

R(2) + W (2) > N(3)

2

latency

Farley Lai (UIOWA)

Amazon Dynamo (Big Data)

February 21, 2014

10 / 14
Replica Synchronization

Figure : Merkle hash tree1

Farley Lai (UIOWA)

Figure : Merkle hash tree2

Amazon Dynamo (Big Data)

February 21, 2014

11 / 14
Evaluation: latency

Farley Lai (UIOWA)

Amazon Dynamo (Big Data)

February 21, 2014

12 / 14
Evaluation: load balance

Farley Lai (UIOWA)

Amazon Dynamo (Big Data)

February 21, 2014

13 / 14
Evaluation: write buffer

Farley Lai (UIOWA)

Amazon Dynamo (Big Data)

February 21, 2014

14 / 14

More Related Content

Viewers also liked

Google - Bigtable
Google - BigtableGoogle - Bigtable
Google - Bigtable영원 서
 
Introduction to Knockout Js
Introduction to Knockout JsIntroduction to Knockout Js
Introduction to Knockout JsKnoldus Inc.
 
Introduction to Apache Cassandra
Introduction to Apache Cassandra Introduction to Apache Cassandra
Introduction to Apache Cassandra Knoldus Inc.
 
CouchDB – A Database for the Web
CouchDB – A Database for the WebCouchDB – A Database for the Web
CouchDB – A Database for the WebKarel Minarik
 
Real World CouchDB
Real World CouchDBReal World CouchDB
Real World CouchDBJohn Wood
 
The Google Chubby lock service for loosely-coupled distributed systems
The Google Chubby lock service for loosely-coupled distributed systemsThe Google Chubby lock service for loosely-coupled distributed systems
The Google Chubby lock service for loosely-coupled distributed systemsRomain Jacotin
 

Viewers also liked (9)

Google - Bigtable
Google - BigtableGoogle - Bigtable
Google - Bigtable
 
Introduction to Knockout Js
Introduction to Knockout JsIntroduction to Knockout Js
Introduction to Knockout Js
 
Big table
Big tableBig table
Big table
 
Introduction to Apache Cassandra
Introduction to Apache Cassandra Introduction to Apache Cassandra
Introduction to Apache Cassandra
 
Couch db
Couch dbCouch db
Couch db
 
CouchDB – A Database for the Web
CouchDB – A Database for the WebCouchDB – A Database for the Web
CouchDB – A Database for the Web
 
Real World CouchDB
Real World CouchDBReal World CouchDB
Real World CouchDB
 
GOOGLE BIGTABLE
GOOGLE BIGTABLEGOOGLE BIGTABLE
GOOGLE BIGTABLE
 
The Google Chubby lock service for loosely-coupled distributed systems
The Google Chubby lock service for loosely-coupled distributed systemsThe Google Chubby lock service for loosely-coupled distributed systems
The Google Chubby lock service for loosely-coupled distributed systems
 

Similar to Amazon Dynamo

Dynamo Amazon’s Highly Available Key-value Store Giuseppe D.docx
Dynamo Amazon’s Highly Available Key-value Store Giuseppe D.docxDynamo Amazon’s Highly Available Key-value Store Giuseppe D.docx
Dynamo Amazon’s Highly Available Key-value Store Giuseppe D.docxjacksnathalie
 
Oracle Coherence: in-memory datagrid
Oracle Coherence: in-memory datagridOracle Coherence: in-memory datagrid
Oracle Coherence: in-memory datagridEmiliano Pecis
 
amazon-dynamo-sosp2007
amazon-dynamo-sosp2007amazon-dynamo-sosp2007
amazon-dynamo-sosp2007Thomas Hughes
 
Amazon dynamo-sosp2007
Amazon dynamo-sosp2007Amazon dynamo-sosp2007
Amazon dynamo-sosp2007huangjunsk
 
Storage strategy and tsm roadmap
Storage strategy and tsm roadmapStorage strategy and tsm roadmap
Storage strategy and tsm roadmapIBM Danmark
 
Moving Forward Faster: How Monash University Automated Data on AWS with Commv...
Moving Forward Faster: How Monash University Automated Data on AWS with Commv...Moving Forward Faster: How Monash University Automated Data on AWS with Commv...
Moving Forward Faster: How Monash University Automated Data on AWS with Commv...Amazon Web Services
 
Graph Data: a New Data Management Frontier
Graph Data: a New Data Management FrontierGraph Data: a New Data Management Frontier
Graph Data: a New Data Management FrontierDemai Ni
 
Critical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM ApplicationsCritical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM ApplicationsDatavail
 
Amazon的分布式Key Value存储系统(Dynamo)的论文
Amazon的分布式Key Value存储系统(Dynamo)的论文Amazon的分布式Key Value存储系统(Dynamo)的论文
Amazon的分布式Key Value存储系统(Dynamo)的论文yiditushe
 
Dynamo amazon’s highly available key value store
Dynamo amazon’s highly available key value storeDynamo amazon’s highly available key value store
Dynamo amazon’s highly available key value storeJoão Gabriel Lima
 
Amazon dynamo-sosp2007
Amazon dynamo-sosp2007Amazon dynamo-sosp2007
Amazon dynamo-sosp2007Julio Pari
 
Cloud Crowd GigaSpaces Presentation
Cloud Crowd GigaSpaces PresentationCloud Crowd GigaSpaces Presentation
Cloud Crowd GigaSpaces Presentationjimliddle
 
Optimized Couchbase Data Management
Optimized Couchbase Data ManagementOptimized Couchbase Data Management
Optimized Couchbase Data ManagementImanis Data
 
CloudCrowd gigaSpaces Presentation
CloudCrowd gigaSpaces PresentationCloudCrowd gigaSpaces Presentation
CloudCrowd gigaSpaces PresentationNati Shalom
 
Computational Patterns of the Cloud - QCon NYC 2014
Computational Patterns of the Cloud - QCon NYC 2014Computational Patterns of the Cloud - QCon NYC 2014
Computational Patterns of the Cloud - QCon NYC 2014Ines Sombra
 
Improve your Tech Quotient
Improve your Tech QuotientImprove your Tech Quotient
Improve your Tech QuotientTarence DSouza
 
Cloud Computing Best Practices
Cloud Computing Best PracticesCloud Computing Best Practices
Cloud Computing Best PracticesBluePiIT
 
ScalabilityAvailability
ScalabilityAvailabilityScalabilityAvailability
ScalabilityAvailabilitywebuploader
 

Similar to Amazon Dynamo (20)

Dynamo Amazon’s Highly Available Key-value Store Giuseppe D.docx
Dynamo Amazon’s Highly Available Key-value Store Giuseppe D.docxDynamo Amazon’s Highly Available Key-value Store Giuseppe D.docx
Dynamo Amazon’s Highly Available Key-value Store Giuseppe D.docx
 
Oracle Coherence: in-memory datagrid
Oracle Coherence: in-memory datagridOracle Coherence: in-memory datagrid
Oracle Coherence: in-memory datagrid
 
amazon-dynamo-sosp2007
amazon-dynamo-sosp2007amazon-dynamo-sosp2007
amazon-dynamo-sosp2007
 
Amazon dynamo-sosp2007
Amazon dynamo-sosp2007Amazon dynamo-sosp2007
Amazon dynamo-sosp2007
 
Storage strategy and tsm roadmap
Storage strategy and tsm roadmapStorage strategy and tsm roadmap
Storage strategy and tsm roadmap
 
Moving Forward Faster: How Monash University Automated Data on AWS with Commv...
Moving Forward Faster: How Monash University Automated Data on AWS with Commv...Moving Forward Faster: How Monash University Automated Data on AWS with Commv...
Moving Forward Faster: How Monash University Automated Data on AWS with Commv...
 
Graph Data: a New Data Management Frontier
Graph Data: a New Data Management FrontierGraph Data: a New Data Management Frontier
Graph Data: a New Data Management Frontier
 
Critical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM ApplicationsCritical Preflight Checks for Your EPM Applications
Critical Preflight Checks for Your EPM Applications
 
Amazon的分布式Key Value存储系统(Dynamo)的论文
Amazon的分布式Key Value存储系统(Dynamo)的论文Amazon的分布式Key Value存储系统(Dynamo)的论文
Amazon的分布式Key Value存储系统(Dynamo)的论文
 
Dynamo amazon’s highly available key value store
Dynamo amazon’s highly available key value storeDynamo amazon’s highly available key value store
Dynamo amazon’s highly available key value store
 
Amazon dynamo-sosp2007
Amazon dynamo-sosp2007Amazon dynamo-sosp2007
Amazon dynamo-sosp2007
 
Cloud Crowd GigaSpaces Presentation
Cloud Crowd GigaSpaces PresentationCloud Crowd GigaSpaces Presentation
Cloud Crowd GigaSpaces Presentation
 
Cloud computing aenc - final
Cloud computing   aenc - finalCloud computing   aenc - final
Cloud computing aenc - final
 
Optimized Couchbase Data Management
Optimized Couchbase Data ManagementOptimized Couchbase Data Management
Optimized Couchbase Data Management
 
CloudCrowd gigaSpaces Presentation
CloudCrowd gigaSpaces PresentationCloudCrowd gigaSpaces Presentation
CloudCrowd gigaSpaces Presentation
 
Computational Patterns of the Cloud - QCon NYC 2014
Computational Patterns of the Cloud - QCon NYC 2014Computational Patterns of the Cloud - QCon NYC 2014
Computational Patterns of the Cloud - QCon NYC 2014
 
Auckland Summit Keynote
Auckland Summit KeynoteAuckland Summit Keynote
Auckland Summit Keynote
 
Improve your Tech Quotient
Improve your Tech QuotientImprove your Tech Quotient
Improve your Tech Quotient
 
Cloud Computing Best Practices
Cloud Computing Best PracticesCloud Computing Best Practices
Cloud Computing Best Practices
 
ScalabilityAvailability
ScalabilityAvailabilityScalabilityAvailability
ScalabilityAvailability
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Amazon Dynamo

  • 1. Dynamo: Amazon’s Highly Available Key-Value Store Farley Lai University of Iowa poyuan-lai@uiowa.edu February 21, 2014 Farley Lai (UIOWA) Amazon Dynamo (Big Data) February 21, 2014 1 / 14
  • 2. Motivation MapReduce processes big data in a parallel and distributed fashion. Daynamo forms the foundation of big data, namely, the storage. Shopping Cart Clients tend to insert and update items frequenty but review the cart to check out only at the end. Is it fun for the sytem to always ask you to retry later in minutes whenever there is an item inserted/updated in the shopping cart? Farley Lai (UIOWA) Amazon Dynamo (Big Data) February 21, 2014 2 / 14
  • 3. SOA of Amazon’s Platform Farley Lai (UIOWA) Amazon Dynamo (Big Data) February 21, 2014 3 / 14
  • 4. Roles Service Provider: Amazon Service: Dynamo, the storage service Customer: application/service vendors Client: applications/services User: human and/or bots Service Level Agreements (SLA) SLA are contracts signed by service providers and customers, specifying the quality of service guaranteed for a client access distribution. Example: service guaranteeing that it will provide a response within 300ms for 99.9% of its requests for a peak client load of 500 requests per second. Farley Lai (UIOWA) Amazon Dynamo (Big Data) February 21, 2014 4 / 14
  • 5. What is Dynamo? A distributed key-value storage service built on a ring topology with high availability for writes eventual consistency Farley Lai (UIOWA) Amazon Dynamo (Big Data) February 21, 2014 5 / 14
  • 6. Requirements and Assumptions Requirements Simple read/write to data items identified by unique keys ACID: automicity, consistency, isolation and durability SLA: latency constraints on the 99.9th percentile of the distribution Assumptions Trusted environment and machines without security concerns Farley Lai (UIOWA) Amazon Dynamo (Big Data) February 21, 2014 6 / 14
  • 7. Problems, Techniques and Advantages Problems Partitioning High write availability Temporary failures Permanent failures Membership Farley Lai (UIOWA) Techniques Advantages Consistent Hashing Vector clocks with conlict resolution Sloppy Quorum, hinted handoff Incremental Scalability Version size is decoupled from update rates High availability and durability guarantee despite some unavailable replicas Fast replica synchronization decentralized registry for storing membership and liveness info Merkle trees Gossip protocol Amazon Dynamo (Big Data) February 21, 2014 7 / 14
  • 8. Partitioning Consistent hashing 1 key space 2 tokens assignment 3 replication 4 load distribution 5 node availability 6 node capacity Farley Lai (UIOWA) Amazon Dynamo (Big Data) February 21, 2014 8 / 14
  • 9. Data Versioning Operations 1 read()⇒get() 2 write()⇒put() 3 conflict resolution 4 vector clock Farley Lai (UIOWA) Amazon Dynamo (Big Data) February 21, 2014 9 / 14
  • 10. Sloppy Quorum 1 R(2) + W (2) > N(3) 2 latency Farley Lai (UIOWA) Amazon Dynamo (Big Data) February 21, 2014 10 / 14
  • 11. Replica Synchronization Figure : Merkle hash tree1 Farley Lai (UIOWA) Figure : Merkle hash tree2 Amazon Dynamo (Big Data) February 21, 2014 11 / 14
  • 12. Evaluation: latency Farley Lai (UIOWA) Amazon Dynamo (Big Data) February 21, 2014 12 / 14
  • 13. Evaluation: load balance Farley Lai (UIOWA) Amazon Dynamo (Big Data) February 21, 2014 13 / 14
  • 14. Evaluation: write buffer Farley Lai (UIOWA) Amazon Dynamo (Big Data) February 21, 2014 14 / 14