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.

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,
P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
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.
High throughput chain replication for read-mostly workloads
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.
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,
1 Dynamo Amazon’s Highly Available Key-value Store Scott Dougan.
Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Dynamo Highly Available Key-Value Store 1Dennis Kafura – CS5204 – Operating Systems.
Technical Architectures
Dynamo Kay Ousterhout. Goals Small files Always writeable Low latency – Measured at 99.9 th percentile.
Overview Distributed vs. decentralized Why distributed databases
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.
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.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
DATABASE MANAGEMENT SYSTEMS 2 ANGELITO I. CUNANAN JR.
Distributed Databases
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.
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
HBase A column-centered database 1. Overview An Apache project Influenced by Google’s BigTable Built on Hadoop ▫A distributed file system ▫Supports Map-Reduce.
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
CSE 486/586 CSE 486/586 Distributed Systems Case Study: Amazon Dynamo Steve Ko Computer Sciences and Engineering University at Buffalo.
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Data Versioning Lecturer.
Frontiers in Massive Data Analysis Chapter 3.  Difficult to include data from multiple sources  Each organization develops a unique way of representing.
Dynamo: Amazon's Highly Available Key-Value Store Offense: Jori and Ning.
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.
Server to Server Communication Redis as an enabler Orion Free
DYNAMO: AMAZON’S HIGHLY AVAILABLE KEY-VALUE STORE GIUSEPPE DECANDIA, DENIZ HASTORUN, MADAN JAMPANI, GUNAVARDHAN KAKULAPATI, AVINASH LAKSHMAN, ALEX PILCHIN,
POND: THE OCEANSTORE PROTOTYPE S. Rea, P. Eaton, D. Geels, H. Weatherspoon, J. Kubiatowicz U. C. Berkeley.
Dynamo: Amazon’s Highly Available Key-value Store DAAS – Database as a service.
Chapter 1 Database Access from Client Applications.
1 HBASE – THE SCALABLE DATA STORE An Introduction to HBase XLDB Europe Workshop 2013: CERN, Geneva James Kinley EMEA Solutions Architect, Cloudera.
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.
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
CSE 486/586 Distributed Systems Case Study: Amazon Dynamo
Dynamo: Amazon’s Highly Available Key-value Store
NOSQL.
Lecture 9: Dynamo Instructor: Weidong Shi (Larry), PhD
Scaling Out Key-Value Storage
Arrested by the CAP Handling Data in Distributed Systems
EECS 498 Introduction to Distributed Systems Fall 2017
EECS 498 Introduction to Distributed Systems Fall 2017
Database System Architectures
CSE 486/586 Distributed Systems Case Study: Amazon Dynamo
Presentation transcript:

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 data –SQL Foundations Codd’s 12 rules –How database structured and what is available to user –Application not dependent on physical or logical levels of database –Insert, Update, Delete operators

Foundations, continued First Relational database management systems (RDBMS) –Oracle in 1979, first SQL based system –Microsoft SQL server, etc –Open source software would follow later (mySQL) Follows Codd’s ideas –Complexity on the server side, let the query do all the work –Very stringent requirements

Drawbacks Licensing fees on a per processor rate – High end Oracle system is mind-numbingly expensivemind-numbingly expensive Load Distribution requires specific nodes to handle – Some servers have specific roles, failure point in network Complexity on servers creates difficultly with maintenance, upgrades – Upgrades often all at once as result, not incremental

A New Direction Simplify services that the database provides – Easier scaling and error handling Take a more pragmatic approach – Tailor system to sacrifice some aspects of the traditional RDBMS to gain performance in others – Systems less general, specific end requirements in mind when creating

Examples Amazon Dynamo – Simple primary key – Highly available, end user based model – Low cost virtualized nodes Facebook Cassandra – Similar goals to Amazon’s Dynamo – Highly avaiable, incremental scalablilty Google File System – Master node – Data distributed across low cost nodes

Dynamo Goals Scale – adding systems to network causes minimal impact Symmetry – No special roles, all features in all nodes Decentralization – No Master node(s) Highly Available – Focus on end user experience SPEED – A system can only be as fast as the lowest level Service Level Agreements – System can be adapted to an application’s specific needs, allows flexibility

Dynamo Assumptions Query Model – Simple interface exposed to application level – Get(), Put() – No Delete() Atomicity, Consistency, Isolation, Durability – Operations either succeed or fail, no middle ground – System will be eventually consistent, no sacrifice of availability to assure consistency – Conflicts can occur while updates propagate through system – System can still function while entire sections of network are down Efficiency – Measure system by the 99.9 th percentile – Important with millions of users, 0.1% can be in the 10,000s Non Hostile Environment - No need to authenticate query, speed boost

Wanted Results Deliver requests in a bounded time Always writable – Highly available to users No dedicated roles Work split between nodes fairly

Techniques

Partitioning Consistent Hashing – Changing the number of slots in hash table results in only a small number of keys to remap – More info More info A ring of virtual nodes – Node responsible for region between it and its predecessor

Virtual Node Physical Machine has # of virtual nodes based on performance Can adapt load more easily if a machine goes down Likewise, assign nodes to a new machine in network

Replication Application provided parameter N Replication on different physical nodes – Data still available if nodes go down – Makes part of preference list for query

Versioning and Vector Clocks Updates propagate asynchronously, need a way of distinguishing conflicts – Possible reason for absence of Delete() Vector Clock – List of (node, counter) – Limited size, limit overhead for data – If all fields are less than or equal, first can be updated by second

Sloppy Quorum and Hinted Handoff W and R parameter set min # of nodes in a read or write Read and write on the first N healthy nodes, no strict membership, can vary over time Hint in metadata for intended node, will update once that node is again available Allows for temporary failure in nodes or entire networks

Synchronization and Gossip Merkle Trees - InfoInfo Use common key values between two nodes – Traverse tree and check vector clocks to see if updates are needed – Exchange information on most current version of the data if inconsistencies are found Gossip – Nodes select neighbors at random and reconcile membership change histories Use seed nodes to initialize Detect failures

Routing get() and put() Two Techniques – Route request through a load balancer Slower Simpler application level code – Partition aware client, route directly to appropriate nodes Faster More complicated application level First node routed to is “coordinator” node – Generates vector clock for put and gives data to N highest healthy nodes – Queries N highest nodes for all versions, returned all versions found

Implementation Java based – Hardware independent, JVM Allows different back-end systems to be used, based on size of data needed to be stored – Berkeley Database Transactional Data Store – BDB Java Edition – MySQL, can handle large objects Coordinator node is a state machine for read/writes for client – Coordinator for a write determined by fastest read

Flexibility Changing W, R, N – Business logic specific reconciliation Data replicated over nodes Application level reconciliation fro conflicting objects – Timestamp Reconciliation Similar to above, last write wins – High performance read engine By setting R = 1, W = N Reads fast and numerous, few updates

Observed Results - Speed

Observed Results – Load Balancing Higher traffic causes load to be balanced more evenly – Requests of popular keys let system to balance more easily In lower traffic, less important to balance load

Observed Results - Coordination Client coordination can provide a speed boost Read and write latency nearly identical Results as expected

Observed Results - Versions Measured over 24 hour period for shopping cart – 99.94% of users saw 1 version – % saw 2 versions – % saw 3 versions – % saw 4 versions Increase caused by increase in number of concurrent writers, most likely

Conclusions Dynamo allows Amazon’s customers to have a consistent experience even in face of server and network errors Gives a scalable solution with millions of data points to be queried quickly and efficiently Offloads complexity to the application to provide a simple, flexible, and fast server-side implementation

Thanks for listening!