1 Dynamo Amazon’s Highly Available Key-value Store Scott Dougan.

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.
Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M
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 Distributed Storage Systems CS presented by: Hussam Abu-Libdeh.
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,
Dynamo Highly Available Key-Value Store 1Dennis Kafura – CS5204 – Operating Systems.
Peer to Peer File Sharing Huseyin Ozgur TAN. What is Peer-to-Peer?  Every node is designed to(but may not by user choice) provide some service that helps.
Dynamo Kay Ousterhout. Goals Small files Always writeable Low latency – Measured at 99.9 th percentile.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
Dynamo: Amazon’s Highly Available Key- value Store (SOSP’07) Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman,
Rethinking Dynamo: Amazon’s Highly Available Key-value Store --An Offense Shih-Chi Chen Hongyu Gao.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
1 CS 194: Distributed Systems Distributed Hash Tables Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
Wide-area cooperative storage with CFS
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.
IBM Haifa Research 1 The Cloud Trade Off IBM Haifa Research Storage Systems.
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.
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
Depot: Cloud Storage with minimal Trust COSC 7388 – Advanced Distributed Computing Presentation By Sushil Joshi.
Introduction to Hadoop and HDFS
Dynamo: Amazon's Highly Available Key-value Store Dr. Yingwu Zhu.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
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)
Cassandra - A Decentralized Structured Storage System
CSE 486/586 CSE 486/586 Distributed Systems Case Study: Amazon Dynamo Steve Ko Computer Sciences and Engineering University at Buffalo.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
Peer to Peer Networks Distributed Hash Tables Chord, Kelips, Dynamo Galen Marchetti, Cornell University.
Oracle's Distributed Database Bora Yasa. Definition A Distributed Database is a set of databases stored on multiple computers at different locations and.
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.
Databases Illuminated
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Dynamo: Amazon’s Highly Available Key-value Store Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin,
Introduction to ZooKeeper. Agenda  What is ZooKeeper (ZK)  What ZK can do  How ZK works  ZK interface  What ZK ensures.
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.
CS426: Building Decentralized Systems Mahesh Balakrishnan.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
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.
CSCI5570 Large Scale Data Processing Systems NoSQL Slide Ack.: modified based on the slides from Peter Vosshall James Cheng CSE, CUHK.
Distributed Cache Technology in Cloud Computing and its Application in the GIS Software Wang Qi Zhu Yitong Peng Cheng
CSE 486/586 Distributed Systems Case Study: Amazon Dynamo
P2P: Storage.
Dynamo: Amazon’s Highly Available Key-value Store
CHAPTER 3 Architectures for Distributed Systems
DHT Routing Geometries and Chord
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:

1 Dynamo Amazon’s Highly Available Key-value Store Scott Dougan

2 Amazon One of Amazon’s biggest challenges is reliability at a massive scale. Even a small outage will have large financial consequences and impact customer trust. Also provides services for a lot of other websites.

3 Amazon Tens of thousands of servers handle amazon’s requests. With this many server’s, small and large components fail continuously.

4 Amazon Strict requirements for performance, reliability, efficiency and to support for new growth. Individuals should still be able to add items to their shopping cart even if disks are failing, network routes are flapping or if data centers are being destroyed by tornadoes.

5 Dynamo Dynamo was introduced to some of amazon’s core services to provide an “always-on” experience. In certain situations sacrifices consistency instead of failure. Uses object versioning, conflict resolution techniques and hashing.

6 Dynamo Uses a variety of well known techniques to achieve scalability and availability. Treats failure as a normal case. Manages the state of services. Minimal need for administration.

7 Assumptions and Requirements Query Model: simple read and write operations to a data item that is uniquely identified by a key. ACID Properties: ACID (Atomicity, Consistency, Isolation, Durability). Efficiency: Latency requirements (99.9%).

8 Service Level Agreements Clients and services agree on several system-related characteristics. Use of a particular API Expected service latency. An example would be a service that was guaranteed a response within 300ms for 99.9% of it’s requests for a peak load of 500 requests per second.

9 Amazon’s Platform

10 Design Eventually have consistent data store. Resolving update conflicts on reads. Writes will never be rejected. Rejecting customer updates could result in poor customer experience.

11 Conflict The process of conflict resolution can be done by either data store or the application. The data store can only do simple conflict resolutions as such “last write wins”. The application can merge the conflicting versions.

12 Nodes Each dynamo instance is classified as a node. Every node has the same set of responsibilities. Symmetry simplifies the process of debugging, provisioning and maintenance.

13 Nodes Decentralized peer-to-peer techniques as centralized control has resulted in outages. The system needs to favour heterogeneity. The distribution must be proportional to the capabilities of the individual servers.

14 Peer-to-Peer Systems First Generation: Freenet Gnutella Second Generation: Pastry Chord

15 Dynamo

16 Interface Two basic operations: get() and put(). A MD5 hash on the key determines which storage nodes that are responsible for serving the key.

17 Partitioning Each node is responsible for the area between it and its predecessor. Each node gets assigned to multiple positions in the ring by using virtual nodes. Each position in the ring is called a token.

18 Conflicts

19 Execution Both get() and put() can either go though a load balancer first, or directly connect to a node. Without the load balancer, the latency between responses is lower. Read and writes use the first N healthy nodes in the preference list.

20 Quorum This protocol has two key configurable values: R is the minimum number of nodes that must participate in a successful read. W is the minimum number of nodes that must participate in a successful write. R + W > N is a quorum like system.

21 Hinted handoff Dynamo doesn’t enforce struct quorum membership and instead it uses a “sloppy quorum”. Reads and writes are performed on the first N healthy nodes and is allowed to skip unavailable nodes. Setting W to 1 will only fail if every node is unavailable.

22 Merkle trees A merkle tree is a hash tree where leaves are hashes of values of individual keys. Part of the merkle tree can be used to verify part of the data. The hash value of two root nodes are equals the leaves are also equal.

23 Ring Membership An administrator uses a command line tool or a browser to control the dynamo nodes. Each node contacts a peer chosen at random every second and transfer personal data. Some nodes are seeds which are known by all nodes.

24 Failure Detection

25 Adding/Removing Nodes When a node is added into the system, it gets random tokens. Other nodes give up some of their tokens. This has shown to distribute the load of keys uniformly across the storage nodes.

26 Implementation Dynamo allows for different storage engines to be plugged in. Berkeley Database (BDB) Transactional Data Store BDB Java Edition MySQL in - memory buffer with persistent backing store.

27 Models Business logic specific reconciliation. Timestamp based reconciliation. High performance read engine.

28 Optimizations Each write is stored in a buffer and periodically gets written to disk by a writer thread. Has resulted in lowering the latency by a factor of 5. Higher chance of lose data.

29 Load Distribution T Random tokens per node and partition by token value. T random tokens per and equal sized partitions. Q/S tokens per node, equal-sized partitions.

30 Load Distribution

31 Load Distribution

32 Client/Server Driven

33 Time Slices Background tasks triggered the problem of resource contention and affected the performance of regular put and get operations. Each background task uses a controller to reserve a runtime slice. The controller decides when to give up these time slices.

34 References DECANDIA, G., HASTORUN, D., JAMPANI, M., KAKULAPATI, G., LAKSHMAN, A., PILCHIN, A., SIVASUBRAMANIAN, S., VOSSHALL, P., AND VOGELS, W. Dynamo: Amazon’s highly available key-value store. In Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles (2007), ACM Press New York, NY, USA, pp. 205–220.