| Dynamo: amazon's highly available key-value store |
| Full text |
Flv
(33:59),
Mp3
(14.28 MB),
Pdf
(894 KB)
|
| Source
|
ACM SIGOPS Operating Systems Review
archive
Volume 41 , Issue 6 (December 2007)
table of contents
SOSP '07
SESSION: Distributed systems
table of contents
Pages: 205 - 220
Year of Publication: 2007
ISSN:0163-5980
Also published in ...
|
|
Authors
|
|
Giuseppe DeCandia
|
Amazon.com, Seattle, WA
|
|
Deniz Hastorun
|
Amazon.com, Seattle, WA
|
|
Madan Jampani
|
Amazon.com, Seattle, WA
|
|
Gunavardhan Kakulapati
|
Amazon.com, Seattle, WA
|
|
Avinash Lakshman
|
Amazon.com, Seattle, WA
|
|
Alex Pilchin
|
Amazon.com, Seattle, WA
|
|
Swaminathan Sivasubramanian
|
Amazon.com, Seattle, WA
|
|
Peter Vosshall
|
Amazon.com, Seattle, WA
|
|
Werner Vogels
|
Amazon.com, Seattle, WA
|
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 221, Downloads (12 Months): 1069, Citation Count: 36
|
|
ABSTRACT
Reliability at massive scale is one of the biggest challenges we face at Amazon.com, one of the largest e-commerce operations in the world; even the slightest outage has significant financial consequences and impacts customer trust. The Amazon.com platform, which provides services for many web sites worldwide, is implemented on top of an infrastructure of tens of thousands of servers and network components located in many datacenters around the world. At this scale, small and large components fail continuously and the way persistent state is managed in the face of these failures drives the reliability and scalability of the software systems. This paper presents the design and implementation of Dynamo, a highly available key-value storage system that some of Amazon's core services use to provide an "always-on" experience. To achieve this level of availability, Dynamo sacrifices consistency under certain failure scenarios. It makes extensive use of object versioning and application-assisted conflict resolution in a manner that provides a novel interface for developers to use.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
Atul Adya , William J. Bolosky , Miguel Castro , Gerald Cermak , Ronnie Chaiken , John R. Douceur , Jon Howell , Jacob R. Lorch , Marvin Theimer , Roger P. Wattenhofer, Farsite: federated, available, and reliable storage for an incompletely trusted environment, ACM SIGOPS Operating Systems Review, v.36 n.SI, Winter 2002
[doi> 10.1145/844128.844130]
|
 |
2
|
|
| |
3
|
Chang, F., Dean, J., Ghemawat, S., Hsieh, W. C., Wallach, D. A., Burrows, M., Chandra, T., Fikes, A., and Gruber, R.
|
 |
4
|
|
 |
5
|
Armando Fox , Steven D. Gribble , Yatin Chawathe , Eric A. Brewer , Paul Gauthier, Cluster-based scalable network services, Proceedings of the sixteenth ACM symposium on Operating systems principles, p.78-91, October 05-08, 1997, Saint Malo, France
|
 |
6
|
|
 |
7
|
Jim Gray , Pat Helland , Patrick O'Neil , Dennis Shasha, The dangers of replication and a solution, Proceedings of the 1996 ACM SIGMOD international conference on Management of data, p.173-182, June 04-06, 1996, Montreal, Quebec, Canada
|
 |
8
|
|
 |
9
|
John Kubiatowicz , David Bindel , Yan Chen , Steven Czerwinski , Patrick Eaton , Dennis Geels , Ramakrishna Gummadi , Sean Rhea , Hakim Weatherspoon , Chris Wells , Ben Zhao, OceanStore: an architecture for global-scale persistent storage, ACM SIGARCH Computer Architecture News, v.28 n.5, p.190-201, Dec. 2000
|
 |
10
|
David Karger , Eric Lehman , Tom Leighton , Rina Panigrahy , Matthew Levine , Daniel Lewin, Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web, Proceedings of the twenty-ninth annual ACM symposium on Theory of computing, p.654-663, May 04-06, 1997, El Paso, Texas, United States
[doi> 10.1145/258533.258660]
|
| |
11
|
Lindsay, B.G., et. al., "Notes on Distributed Databases", Research Report RJ2571(33471), IBM Research, July 1979.
|
 |
12
|
|
| |
13
|
|
| |
14
|
|
| |
15
|
Peter Reiher , John Heidemann , David Ratner , Greg Skinner , Gerald Popek, Resolving file conflicts in the Ficus file system, Proceedings of the USENIX Summer 1994 Technical Conference on USENIX Summer 1994 Technical Conference, p.12-12, June 06-10, 1994, Boston, Massachusetts
|
| |
16
|
|
 |
17
|
Antony Rowstron , Peter Druschel, Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility, Proceedings of the eighteenth ACM symposium on Operating systems principles, October 21-24, 2001, Banff, Alberta, Canada
|
 |
18
|
|
| |
19
|
Satyanarayanan, M., Kistler, J.J., Siegel, E.H. Coda: A Resilient Distributed File System. IEEE Workshop on Workstation Operating Systems, Nov. 1987.
|
 |
20
|
Ion Stoica , Robert Morris , David Karger , M. Frans Kaashoek , Hari Balakrishnan, Chord: A scalable peer-to-peer lookup service for internet applications, Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications, p.149-160, August 2001, San Diego, California, United States
|
 |
21
|
D. B. Terry , M. M. Theimer , Karin Petersen , A. J. Demers , M. J. Spreitzer , C. H. Hauser, Managing update conflicts in Bayou, a weakly connected replicated storage system, Proceedings of the fifteenth ACM symposium on Operating systems principles, p.172-182, December 03-06, 1995, Copper Mountain, Colorado, United States
|
 |
22
|
|
 |
23
|
|
 |
24
|
Matt Welsh , David Culler , Eric Brewer, SEDA: an architecture for well-conditioned, scalable internet services, Proceedings of the eighteenth ACM symposium on Operating systems principles, October 21-24, 2001, Banff, Alberta, Canada
|
CITED BY 36
|
|
|
|
|
Christopher Olston , Benjamin Reed , Utkarsh Srivastava , Ravi Kumar , Andrew Tomkins, Pig latin: a not-so-foreign language for data processing, Proceedings of the 2008 ACM SIGMOD international conference on Management of data, June 09-12, 2008, Vancouver, Canada
|
|
|
|
|
|
|
|
|
|
|
|
Stavros Harizopoulos , Daniel J. Abadi , Samuel Madden , Michael Stonebraker, OLTP through the looking glass, and what we found there, Proceedings of the 2008 ACM SIGMOD international conference on Management of data, June 09-12, 2008, Vancouver, Canada
|
|
|
Adam Silberstein , Brian F. Cooper , Utkarsh Srivastava , Erik Vee , Ramana Yerneni , Raghu Ramakrishnan, Efficient bulk insertion into a distributed ordered table, Proceedings of the 2008 ACM SIGMOD international conference on Management of data, June 09-12, 2008, Vancouver, Canada
|
|
|
|
|
|
Matthias Brantner , Daniela Florescu , David Graf , Donald Kossmann , Tim Kraska, Building a database on S3, Proceedings of the 2008 ACM SIGMOD international conference on Management of data, June 09-12, 2008, Vancouver, Canada
|
|
|
|
|
|
Zhou Wei , Jiang Dejun , Guillaume Pierre , Chi-Hung Chi , Maarten van Steen, Service-oriented data denormalization for scalable web applications, Proceeding of the 17th international conference on World Wide Web, April 21-25, 2008, Beijing, China
|
|
|
Roberto Baldoni , Ricardo Jiménez-Peris , Marta Patiño-Martínez , Leonardo Querzoni , Antonino Virgillito, Dynamic quorums for DHT-based enterprise infrastructures, Journal of Parallel and Distributed Computing, v.68 n.9, p.1235-1249, September, 2008
|
|
|
Samer Al-Kiswany , Abdullah Gharaibeh , Elizeu Santos-Neto , George Yuan , Matei Ripeanu, StoreGPU: exploiting graphics processing units to accelerate distributed storage systems, Proceedings of the 17th international symposium on High performance distributed computing, June 23-27, 2008, Boston, MA, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Brian F. Cooper , Raghu Ramakrishnan , Utkarsh Srivastava , Adam Silberstein , Philip Bohannon , Hans-Arno Jacobsen , Nick Puz , Daniel Weaver , Ramana Yerneni, PNUTS: Yahoo!'s hosted data serving platform, Proceedings of the VLDB Endowment, v.1 n.2, August 2008
|
|
|
|
|
|
Roberto Baldoni , Ricardo Jiménez-Peris , Marta Patiño-Martínez , Leonardo Querzoni , Antonino Virigllito, Harnessing the power of DHTs to build dynamic quorums in large-scale enterprise infrastructures, Proceedings of the 2nd Workshop on Large-Scale Distributed Systems and Middleware, September 15-17, 2008, Yorktown Heights, New York
|
|
|
Ryan Johnson , Ippokratis Pandis , Nikos Hardavellas , Anastasia Ailamaki , Babak Falsafi, Shore-MT: a scalable storage manager for the multicore era, Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology, March 24-26, 2009, Saint Petersburg, Russia
|
|
|
|
|
|
Atul Singh , Pedro Fonseca , Petr Kuznetsov , Rodrigo Rodrigues , Petros Maniatis, Defining weakly consistent Byzantine fault-tolerant services, Proceedings of the 2nd Workshop on Large-Scale Distributed Systems and Middleware, September 15-17, 2008, Yorktown Heights, New York
|
|
|
|
|
|
|
|
|
Allen Clement , Mirco Marchetti , Edmund Wong , Lorenzo Alvisi , Mike Dahlin, BFT: the time is now, Proceedings of the 2nd Workshop on Large-Scale Distributed Systems and Middleware, September 15-17, 2008, Yorktown Heights, New York
|
|
|
Atul Singh , Pedro Fonseca , Petr Kuznetsov , Rodrigo Rodrigues , Petros Maniatis, Zeno: eventually consistent Byzantine-fault tolerance, Proceedings of the 6th USENIX symposium on Networked systems design and implementation, p.169-184, April 22-24, 2009, Boston, Massachusetts
|
|
|
Jeremy Stribling , Yair Sovran , Irene Zhang , Xavid Pretzer , Jinyang Li , M. Frans Kaashoek , Robert Morris, Flexible, wide-area storage for distributed systems with WheelFS, Proceedings of the 6th USENIX symposium on Networked systems design and implementation, p.43-58, April 22-24, 2009, Boston, Massachusetts
|
|
|
|
|
|
|
|
|
|
|
|
Parag Agrawal , Adam Silberstein , Brian F. Cooper , Utkarsh Srivastava , Raghu Ramakrishnan, Asynchronous view maintenance for VLSD databases, Proceedings of the 35th SIGMOD international conference on Management of data, June 29-July 02, 2009, Providence, Rhode Island, USA
|
|
|
Daniel Nurmi , Rich Wolski , Chris Grzegorczyk , Graziano Obertelli , Sunil Soman , Lamia Youseff , Dmitrii Zagorodnov, The Eucalyptus Open-Source Cloud-Computing System, Proceedings of the 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid, p.124-131, May 18-21, 2009
|
|
|
|
|
|
|
|