Concept

Dynamo (storage system)

Dynamo is a set of techniques that 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). It was created to help address some scalability issues that Amazon experienced during the holiday season of 2004. By 2007, it was used in Amazon Web Services, such as its Simple Storage Service (S3). Amazon DynamoDB is "built on the principles of Dynamo" and is a hosted service within the AWS infrastructure. However, while Dynamo is based on leaderless replication, DynamoDB uses single-leader replication. Incremental scalability: Dynamo should be able to scale out one storage host (or “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 should be able to exploit heterogeneity in the infrastructure it runs on. For example, 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. Amazon published the paper on Dynamo, but never released its implementation. The index layer of Amazon S3 implements and extends many core features of Dynamo. Since then, several implementations have been created based on the paper. The paper also inspired many other NoSQL database implementations, such as Apache Cassandra, Project Voldemort and Riak.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Séances de cours associées (3)
Ingénierie des systèmes décentralisés
Explore l'ingénierie des systèmes décentralisés, couvrant l'initialisation de la base de données, la messagerie fiable, les algorithmes de consensus et les protocoles de cryptage.
Systèmes décentralisés : Attaques de stockage et d'éclipse distribuées
Explore les systèmes décentralisés, le stockage distribué et les attaques Eclipse dans les réseaux peer-to-peer, en mettant l'accent sur la sécurité et la cohérence.
Afficher plus
Publications associées (2)

Analysis of Spatial and Incremental LMS Processing for Distributed Estimation

Ali H. Sayed

Consider a set of nodes distributed spatially over some region forming a network, where every node takes measurements of an underlying process. The objective is for every node in the network to estimate some parameter of interest from these measurements by ...
IEEE2011

Experimental evaluation results of an advanced DHT-based peer-to-peer system

Karl Aberer, Manfred Hauswirth, Roman Schmidt

P-Grid is a decentralized DHT-based peer-to-peer system with logarithmic search complexity. As it is intended to provide a platform for distributed information management beyond mere file-sharing it supports an update functionality with lazy consistency gu ...
2004
Concepts associés (1)
Table de hachage distribuée
Une table de hachage distribuée (ou DHT pour Distributed Hash Table), est une technique permettant la mise en place d’une table de hachage dans un système réparti. Une table de hachage est une structure de données de type clé → valeur. Chaque donnée est associée à une clé et est distribuée sur le réseau. Les tables de hachage permettent de répartir le stockage de données sur l’ensemble des nœuds du réseau, chaque nœud étant responsable d’une partie des données.

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.