SlideShare a Scribd company logo
1 of 1
Aakash Parwani 11/22/2015
Summary:
This paper presents Dynamo, a highly scalable system that provides key/value saving/retrieving service, which
is as the back end of Amazon online shopping service. Dynamo achieves over 99.9% availability
Problem Description:
Online shopping is an important part of IT industry. To achieve better user experience(low latency) and make
sure service is alive most of the time(high availability) is the key to success. How to implement a distributed
system that while maintaining high scalability that achieves both low latency and high availability.
Contribution:
Technically:
(1) Consistent hashing is used to achieve high scalability. In particular, a modified version by using virtual nodes
is used to achieve better load balancing. Consistent hashing, in my opinion, is the most important part in their
service, as that is the foundation of the "push/get" service.
(2) A modified version of quorum is used by having backup nodes to make up the insufficient quantity W,R
nodes when necessary. This strategy achieves better availability.
(3) They use timeout as failure detection technique.
(4) To achieve low latency, they attempted to use 0-hop DHT with a local node storing enough information
about routing.
(5) Data version and time stamp were used to resolve data consistency.
Applicability:
(1) It is applied to online shopping, which is arguably the biggest part of e-commerce and supposedly a heavy
user of DBMS. The claim that DBMS won't work in their case is quite interesting. As Dynamo's push/get
interface looks like Google's map reduce. It would be interesting to hear about how Prof Dewitt would
compare Dynamo and DBMS. While there are many papers in DB talking about how to Join, how to achieve
stabilizability . Dynamo seems to say for the world largest business management, just use distributed hash
table and last write wins.
Final Views:
(1) Simple ideas work better in the real world. When possible, always choose the simple alternative to achieve
certain goal.
(2) 99.9% availability is striking number and that has made amazon to lead the market.
(3) Eventual consistency model is sufficient for online shopping system, even a supposedly "transactional"-
required service.
(4) Dynamo is only fit for certain applications. It only stores simple key value pairs and it doesn't provide all of
the ACID properties. Although, perhaps it would be okay because Dynamo is "always writable".

More Related Content

Viewers also liked (7)

Desarmado de mause
Desarmado de mauseDesarmado de mause
Desarmado de mause
 
TIPOS DE RAM
TIPOS DE RAMTIPOS DE RAM
TIPOS DE RAM
 
Upstream A2-Unit 5: Reflexive Pronouns & Expressions + Telling a Story + Givi...
Upstream A2-Unit 5: Reflexive Pronouns & Expressions + Telling a Story + Givi...Upstream A2-Unit 5: Reflexive Pronouns & Expressions + Telling a Story + Givi...
Upstream A2-Unit 5: Reflexive Pronouns & Expressions + Telling a Story + Givi...
 
Andar com fé
Andar com féAndar com fé
Andar com fé
 
Na cestaria: As tramas da diversidade
Na cestaria: As tramas da diversidadeNa cestaria: As tramas da diversidade
Na cestaria: As tramas da diversidade
 
Prep 1/Prep 2: Hello/Upstream A2 & B1 (Comparatives and Superlatives)
Prep 1/Prep 2:  Hello/Upstream A2 & B1 (Comparatives and Superlatives)Prep 1/Prep 2:  Hello/Upstream A2 & B1 (Comparatives and Superlatives)
Prep 1/Prep 2: Hello/Upstream A2 & B1 (Comparatives and Superlatives)
 
Upstream B1 Present Perfect vs. Continuous
Upstream B1 Present Perfect vs. ContinuousUpstream B1 Present Perfect vs. Continuous
Upstream B1 Present Perfect vs. Continuous
 

DynamoSummary

  • 1. Aakash Parwani 11/22/2015 Summary: This paper presents Dynamo, a highly scalable system that provides key/value saving/retrieving service, which is as the back end of Amazon online shopping service. Dynamo achieves over 99.9% availability Problem Description: Online shopping is an important part of IT industry. To achieve better user experience(low latency) and make sure service is alive most of the time(high availability) is the key to success. How to implement a distributed system that while maintaining high scalability that achieves both low latency and high availability. Contribution: Technically: (1) Consistent hashing is used to achieve high scalability. In particular, a modified version by using virtual nodes is used to achieve better load balancing. Consistent hashing, in my opinion, is the most important part in their service, as that is the foundation of the "push/get" service. (2) A modified version of quorum is used by having backup nodes to make up the insufficient quantity W,R nodes when necessary. This strategy achieves better availability. (3) They use timeout as failure detection technique. (4) To achieve low latency, they attempted to use 0-hop DHT with a local node storing enough information about routing. (5) Data version and time stamp were used to resolve data consistency. Applicability: (1) It is applied to online shopping, which is arguably the biggest part of e-commerce and supposedly a heavy user of DBMS. The claim that DBMS won't work in their case is quite interesting. As Dynamo's push/get interface looks like Google's map reduce. It would be interesting to hear about how Prof Dewitt would compare Dynamo and DBMS. While there are many papers in DB talking about how to Join, how to achieve stabilizability . Dynamo seems to say for the world largest business management, just use distributed hash table and last write wins. Final Views: (1) Simple ideas work better in the real world. When possible, always choose the simple alternative to achieve certain goal. (2) 99.9% availability is striking number and that has made amazon to lead the market. (3) Eventual consistency model is sufficient for online shopping system, even a supposedly "transactional"- required service. (4) Dynamo is only fit for certain applications. It only stores simple key value pairs and it doesn't provide all of the ACID properties. Although, perhaps it would be okay because Dynamo is "always writable".