210 likes | 390 Views
Dynamo: Amazon’s Highly Available Key-value Store. DeCandia , Hastorun , Jampani , Kakulapati , Lakshman , Pilchin , Sivasubramanian , Vosshall , Vogels. PRESENTED BY: KIMIISA OSHIKOJI. OUTLINE. Amazon Dynamo Architecture Performance. AMAZON. Huge Infrastructure
E N D
Dynamo: Amazon’s Highly Available Key-value Store DeCandia, Hastorun, Jampani, Kakulapati, Lakshman, Pilchin, Sivasubramanian, Vosshall, Vogels PRESENTED BY: KIMIISA OSHIKOJI
OUTLINE • Amazon • Dynamo • Architecture • Performance
AMAZON • Huge Infrastructure • Customer oriented business • Reliability is key
DYNAMO • Data storage system • Flexible • Automated addition and removal of storage nodes
DYNAMO-QUERY MODEL • Key identifies operations • Operations don’t require multiple data items • Data to be stored is relatively small
DYNAMO-ASSUMPTIONS • Only used by internal Amazon systems • No security considerations • Limited scalability
DYNAMO-SLA • Service Level Agreement: contract between client and service about their relationship • In Amazon a typical client request involves over 100 services who might have dependencies • SLA are governed by 99.9th percentile
DYNAMO-DESIGN • Focus on correctness of an answer rather than how quickly it can be available • Eventually consistent data store • Writes can never be rejected • 99.9th percentile • Zero-hop DHT
ARCHITECTURE-STORAGE • Objects stored with a key using: • Get(key): locates object with key and returns object or list of objects with a context • Put(key, context): places an object at a replica along with the key and context • Context: metadata about object
ARCHITECTURE-REPLICATION • Data is replicated on N hosts (N is determined by user) • Coordinator nodes replicate the data for nodes they are responsible for coordinating
ARCHITECTURE-VERSIONING • Multiple versions can exist • Vector clock is used for version control • Vector clock size issue
ARCHITECTURE-FAILURE *Failure are not automatically detected by a central node
PERFORMANCE-BUFFER • System can be optimized without sacrificing the 99.9th percentile • Buffer usage can decrease latency by a factor of 5 during peak traffic times
PERFORMANCE-LOAD DISTRIBUTION *Third strategy is the best in terms of balancing