Dynamo: Amazon's Highly Available Key-value Store Distributed Storage Systems CS 6464 2-12-09 presented by: Hussam Abu-Libdeh.

Slides:



Advertisements
Similar presentations
Dynamo: Amazon’s Highly Available Key-value Store
Advertisements

Dynamo: Amazon’s Highly Available Key-value Store Slides taken from created by paper authors Giuseppe DeCandia, Deniz Hastorun,
Dynamo: Amazon’s Highly Available Key-value Store ID2210-VT13 Slides by Tallat M. Shafaat.
Case Study - Amazon. Amazon r Amazon has many Data Centers r Hundreds of services r Thousands of commodity machines r Millions of customers at peak times.
AMAZON’S KEY-VALUE STORE: DYNAMO DeCandia,Hastorun,Jampani, Kakulapati, Lakshman, Pilchin, Sivasubramanian, Vosshall, Vogels: Dynamo: Amazon's highly available.
D YNAMO : A MAZON ’ S H IGHLY A VAILABLE K EY - V ALUE S TORE Presented By Roni Hyam Ami Desai.
Distributed Hash Tables Chord and Dynamo Costin Raiciu, Advanced Topics in Distributed Systems 18/12/2012.
Amazon’s Dynamo Simple Cloud Storage. Foundations 1970 – E.F. Codd “A Relational Model of Data for Large Shared Data Banks”E.F. Codd –Idea of tabular.
Dynamo: Amazon's Highly Available Key-value Store Guiseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin,
Amazon Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber Google,
Dynamo: Amazon’s Highly Available Key-value Store Adopted from slides and/or materials by paper authors (Giuseppe DeCandia, Deniz Hastorun, Madan Jampani,
1 Dynamo Amazon’s Highly Available Key-value Store Scott Dougan.
Dynamo Highly Available Key-Value Store 1Dennis Kafura – CS5204 – Operating Systems.
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Scaling Distributed Machine Learning with the BASED ON THE PAPER AND PRESENTATION: SCALING DISTRIBUTED MACHINE LEARNING WITH THE PARAMETER SERVER – GOOGLE,
Dynamo Kay Ousterhout. Goals Small files Always writeable Low latency – Measured at 99.9 th percentile.
Dynamo: Amazon’s Highly Available Key- value Store (SOSP’07) Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman,
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Mutual Consistency Detection of mutual inconsistency in distributed systems (Parker, Popek, et. al.) Distributed system with replication for reliability.
Rethinking Dynamo: Amazon’s Highly Available Key-value Store --An Offense Shih-Chi Chen Hongyu Gao.
Versioning and Eventual Consistency COS 461: Computer Networks Spring 2011 Mike Freedman 1.
Dynamo A presentation that look’s at Amazon’s Dynamo service (based on a research paper published by Amazon.com) as well as related cloud storage implementations.
CS162 Operating Systems and Systems Programming Key Value Storage Systems November 3, 2014 Ion Stoica.
Inexpensive Scalable Information Access Many Internet applications need to access data for millions of concurrent users Relational DBMS technology cannot.
Amazon’s Dynamo System The material is taken from “Dynamo: Amazon’s Highly Available Key-value Store,” by G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati,
Dynamo: Amazon's Highly Available Key-value Store
Dynamo: Amazon’s Highly Available Key-value Store Giuseppe DeCandia, et.al., SOSP ‘07.
Cloud Storage – A look at Amazon’s Dyanmo A presentation that look’s at Amazon’s Dynamo service (based on a research paper published by Amazon.com) as.
Dynamo: Amazon’s Highly Available Key-value Store Presented By: Devarsh Patel 1CS5204 – Operating Systems.
EECS 262a Advanced Topics in Computer Systems Lecture 22 P2P Storage: Dynamo November 14 th, 2012 John Kubiatowicz and Anthony D. Joseph Electrical Engineering.
Presented by: Alvaro Llanos E.  Motivation and Overview  Frangipani Architecture overview  Similar DFS  PETAL: Distributed virtual disks ◦ Overview.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed File Systems Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Case Study: Amazon Dynamo Steve Ko Computer Sciences and Engineering University at Buffalo.
Peer-to-Peer in the Datacenter: Amazon Dynamo Aaron Blankstein COS 461: Computer Networks Lectures: MW 10-10:50am in Architecture N101
Dynamo: Amazon’s Highly Available Key-value Store Giuseppe DeCandia et al. [Amazon.com] Jagrut Sharma CSCI-572 (Prof. Chris Mattmann)
Dynamo: Amazon’s Highly Available Key-value Store COSC7388 – Advanced Distributed Computing Presented By: Eshwar Rohit
Ahmad Al-Shishtawy 1,2,Tareq Jamal Khan 1, and Vladimir Vlassov KTH Royal Institute of Technology, Stockholm, Sweden {ahmadas, tareqjk,
Dynamo: Amazon's Highly Available Key-value Store Dr. Yingwu Zhu.
Dynamo: Amazon’s Highly Available Key-value Store DeCandia, Hastorun, Jampani, Kakulapati, Lakshman, Pilchin, Sivasubramanian, Vosshall, Vogels PRESENTED.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Amazon’s Dynamo Lecturer.
D YNAMO : A MAZON ’ S H IGHLY A VAILABLE K EY - VALUE S TORE Presenters: Pourya Aliabadi Boshra Ardallani Paria Rakhshani 1 Professor : Dr Sheykh Esmaili.
Dynamo: Amazon’s Highly Available Key-value Store
1 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
CSE 486/586 CSE 486/586 Distributed Systems Case Study: Amazon Dynamo Steve Ko Computer Sciences and Engineering University at Buffalo.
Peer to Peer Networks Distributed Hash Tables Chord, Kelips, Dynamo Galen Marchetti, Cornell University.
Fast Crash Recovery in RAMCloud. Motivation The role of DRAM has been increasing – Facebook used 150TB of DRAM For 200TB of disk storage However, there.
Dynamo: Amazon’s Highly Available Key-value Store Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin,
Fault Tolerant Services
DYNAMO: AMAZON’S HIGHLY AVAILABLE KEY-VALUE STORE GIUSEPPE DECANDIA, DENIZ HASTORUN, MADAN JAMPANI, GUNAVARDHAN KAKULAPATI, AVINASH LAKSHMAN, ALEX PILCHIN,
Dynamo: Amazon’s Highly Available Key-value Store DAAS – Database as a service.
Highly Available Services and Transactions with Replicated Data Jason Lenthe.
Department of Computer Science, Johns Hopkins University EN Instructor: Randal Burns 24 September 2013 NoSQL Data Models and Systems.
Big Data Yuan Xue CS 292 Special topics on.
Kitsuregawa Laboratory Confidential. © 2007 Kitsuregawa Laboratory, IIS, University of Tokyo. [ hoshino] paper summary: dynamo 1 Dynamo: Amazon.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Amazon’s Dynamo Lecturer.
CS 540 Database Management Systems NoSQL & NewSQL Some slides due to Magda Balazinska 1.
CPT-S Advanced Databases 11 Yinghui Wu EME 49.
CSCI5570 Large Scale Data Processing Systems NoSQL Slide Ack.: modified based on the slides from Peter Vosshall James Cheng CSE, CUHK.
CSE 486/586 Distributed Systems Case Study: Amazon Dynamo
CS 440 Database Management Systems
P2P: Storage.
Dynamo: Amazon’s Highly Available Key-value Store
Scaling Out Key-Value Storage
Replication Middleware for Cloud Based Storage Service
Providing Secure Storage on the Internet
EECS 498 Introduction to Distributed Systems Fall 2017
CS 440 Database Management Systems
EECS 498 Introduction to Distributed Systems Fall 2017
EECS 498 Introduction to Distributed Systems Fall 2017
CSE 486/586 Distributed Systems Case Study: Amazon Dynamo
Presentation transcript:

Dynamo: Amazon's Highly Available Key-value Store Distributed Storage Systems CS presented by: Hussam Abu-Libdeh

Motivation In Modern Data Centers:  Hundreds of services  Thousands of commodity machines  Millions of customers at peak times  Performance + Reliability + Efficiency = $$$ 10  Outages are bad Customers lose confidence, Business loses money  Accidents happen

Motivation Data center services must address  Availability Service must be accessible at all times  Scalability Service must scale well to handle customer growth & machine growth  Failure Tolerance With thousands of machines, failure is the default case  Manageability Must not cost a fortune to maintain

Today's Topic Discuss Dynamo  A highly available key-value storage system at Amazon Compare design decisions with other systems such as Porcupine

Agenda Overview Design Decisions/Trade-offs Dynamo's Architecture Evaluation

Insight Brewer's conjecture  Consistency, Availability, and Partition- tolerance  Pick 2/3 Availability of online services == customer trust  Can not sacrifice that In data centers failures happen all the time  We must tolerate partitions

Eventual Consistency Many services do tolerate small inconsistencies  loose consistency ==> Eventual Consistency Agreement point:  Both Dynamo & Porcupine make this design decision

Dynamo's Assumptions Query Model:  Simple R/W ops to data with unique IDs  No ops span multiple records  Data stored as binary objects of small size ACID Properties:  Weaker (eventual) consistency Efficiency:  Optimize for the 99.9 th percentile

Service Level Agreements (SLAs) Cloud-computing and virtual hosting contracts include SLAs Most are described in terms of mean, median, and variance of response times  Suffers from outliers Amazon targets optimization for 99.9% of the queries  Example: 300ms response-time for 99.9% of requests w/ peak load of 500 rpc

Service-oriented Architecture (SoA)

Design Decisions Incremental Scalability  Must be able to add nodes on-demand with minimal impact  In Dynamo: a chord-like scheme is used  In Porcupine: nodes are discovered and new groups are formed. Load Balancing & Exploiting Heterogeneity  In Dynamo a chord-like scheme is used  In Porcupine nodes track CPU/disk stats

Design Decisions Replication  Must do conflict-resolution  Porcupine is a little vague on conflict resolution  Two questions: When ?  Solve on write to reduce read complexity  Solve on read and reduce write complexity Dynamo is an “always writeable” data store Fine for shopping carts and such services Who ?  Data store  User application

Design Decisions Symmetry  All nodes are peers in responsibility Decentralization  Avoid single points of failure Both Dynamo & Porcupine agree on this

Dynamo Design Decisions

Dynamo's System Interface Only two operations put (key, context, object)  key: primary key associated with data object  context: vector clocks and history (needed for merging)  object: data to store get (key)

Data Partitioning & Replication Use consistent hashing Similar to Chord  Each node gets an ID from the space of keys  Nodes are arranged in a ring  Data stored on the first node clockwise of the current placement of the data key Replication  Preference lists of N nodes following the associated node

The Chord Ring

Virtual Nodes on the Chord Ring A problem with the Chord scheme  Nodes placed randomly on ring  Leads to uneven data & load distribution In Dynamo  Use “virtual nodes”  Each physical node has multiple virtual nodes More powerful machines have more virtual nodes  Distribute virtual nodes across the ring

Data Versioning Updates generate a new timestamp Eventual consistency  Multiple versions of the same object might co-exist Syntactic Reconciliation  System might be able to resolve conflicts automatically Semantic Reconciliation  Conflict resolution pushed to application

Data Versioning

Execution of get() & put() Coordinator node is among the top N in the preference list Coordinator runs a R W quorum system  Identical to Weighted Voting System by Gifford ('79) R = read quorum W = write quorum R + W > N

Handling Failures Temporary failures: Hinted Handoff  Offload your dataset to a node that follows the last of your preference list on the ring  Hint that this is temporary  Responsibility sent back when node recovers

Handling Failures Permanent failures: Replica Synchronization  Synchronize with another node  Use Merkle Trees

Merkle Tree

Membership & Failure Detection Ring Membership  Use background gossip to build 1-hop DHT  Use external entity to bootstrap the system to avoid partitioned rings Failure Detection  Use standard gossip, heartbeats, and timeouts to implement failure detection

Evaluation

Thank You