Supriya Ghosh (Editor)

Dynamo (storage system)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

Dynamo is the name given to a set of techniques that when taken together can form a highly available key-value structured storage system or a distributed data store. It has properties of both databases and distributed hash tables (DHTs). Amazon DynamoDB is "built on the principles of Dynamo" (apparently with some improvements) and is a hosted service within the AWS infrastructure. It was created to help address some scalability issues that Amazon.com's website experienced during the holiday season of 2004. By 2007, it was used in Amazon Web Services, such as its Simple Storage Service (S3).

Contents

Principles

  • Incremental scalability: Dynamo should be able to scale out one storage host (henceforth, referred to as “node”) at a time, with minimal impact on both operators of the system and the system itself.
  • Symmetry: Every node in Dynamo should have the same set of responsibilities as its peers; there should be no distinguished node or nodes that take special roles or extra set of responsibilities.
  • Decentralization: An extension of symmetry, the design should favor decentralized peer-to-peer techniques over centralized control.
  • Heterogeneity: The system needs to be able to exploit heterogeneity in the infrastructure it runs on. e.g. the work distribution must be proportional to the capabilities of the individual servers. This is essential in adding new nodes with higher capacity without having to upgrade all hosts at once.
  • Implementation History

    Amazon published the paper on Dynamo, but never released their implementation. The index layer of Amazon S3 implements and extends many of the core features of a Dynamo. Since then, several implementations have been created based on the paper. The paper also inspired many other NoSQL database implementations. Here are some projects that implement it or were inspired by it.

  • Aerospike
  • Apache Cassandra
  • Project Voldemort
  • Riak
  • References

    Dynamo (storage system) Wikipedia