Articulo de referencia

Dinamo (sistema de almacenamiento)

Dynamo es un conjunto de técnicas que, en conjunto, pueden formar un sistema de almacenamiento estructurado clave-valor de alta disponibilidad [ 1 ] o un almacén de datos distri...

Dynamo es un conjunto de técnicas que, en conjunto, pueden formar un sistema de almacenamiento estructurado clave-valor de alta disponibilidad [ 1 ] o un almacén de datos distribuido [ 1 ] . Posee propiedades tanto de bases de datos como de tablas hash distribuidas (DHT). Fue creado para ayudar a resolver algunos problemas de escalabilidad que Amazon experimentó durante la temporada navideña de 2004 [ 2 ] . Para 2007, se utilizaba en Amazon Web Services , como en su Simple Storage Service (S3) [ 1 ] .

Relación con DynamoDB

Amazon DynamoDB está "construido sobre los principios de Dynamo" [ 3 ] y es un servicio alojado dentro de la infraestructura de AWS. Sin embargo, mientras que Dynamo se basa en la replicación sin líder, DynamoDB utiliza la replicación con un solo líder. [ 4 ]

Principios

  • Escalabilidad incremental: Dynamo debería poder escalar un host de almacenamiento (o "nodo") a la vez, con un impacto mínimo tanto en los operadores del sistema como en el propio sistema.
  • Simetría: Cada nodo en Dynamo debe tener el mismo conjunto de responsabilidades que sus pares; no debe haber ningún nodo o nodos que se distingan por desempeñar funciones especiales o tener un conjunto adicional de responsabilidades.
  • Descentralización: Como extensión de la simetría, el diseño debe favorecer las técnicas descentralizadas entre pares sobre el control centralizado.
  • Heterogeneidad: El sistema debe ser capaz de aprovechar la heterogeneidad de la infraestructura en la que se ejecuta. Por ejemplo, la distribución de la carga de trabajo debe ser proporcional a las capacidades de cada servidor. Esto es fundamental para añadir nuevos nodos con mayor capacidad sin tener que actualizar todos los hosts a la vez.

Técnicas

Implementaciones

Amazon publicó el artículo sobre Dynamo, pero nunca lanzó su implementación. La capa de índices de Amazon S3 implementa y extiende muchas características principales de Dynamo. Desde entonces, se han creado varias implementaciones basadas en el artículo. Este también inspiró muchas otras implementaciones de bases de datos NoSQL , como Apache Cassandra , Project Voldemort y Riak . [ 2 ]

Véase también

Referencias

  1. 1 2 3 Decandia, G.; Hastorun, D.; Jampani, M.; Kakulapati, G.; Lakshman, A.; Pilchin, A.; Sivasubramanian, S.; Vosshall, P.; Vogels, W. (2007). "Dynamo: Almacén de clave-valor de alta disponibilidad de Amazon". Actas del vigésimo primer simposio ACM SIGOPS sobre principios de sistemas operativos - SOSP '07 . pág.  205. doi : 10.1145/1294261.1294281 . ISBN 9781595935915. S2CID 221033483 . 
  2. 1 2 Amazon vuelve a apostar por NoSQL con DynamoDB
  3. Amazon DynamoDB: un servicio de base de datos NoSQL rápido y escalable diseñado para aplicaciones a escala de Internet.
  4. Kleppmann, Martin (2 de abril de 2017). Diseño de aplicaciones con gran cantidad de datos (1.ª ed.). O'Reilly Media. pág. 177. ISBN   978-1449373320Dynamo no está disponible para usuarios fuera de Amazon. Curiosamente , AWS ofrece un producto de base de datos alojada llamado DynamoDB, que utiliza una arquitectura completamente diferente: se basa en la replicación de un único líder.
  • Dynamo de Amazon (2007)
  • Amazon presenta su sistema de almacenamiento distribuido: Dynamo (2007)