Dynamo: Tienda de Amazon de alta disponibilidad de llaves y valores
1. Dynamo: Amazon’s Highly
Available Key-value Store
Paola Alexandra Orozco Sánchez
Universidad del Cauca
Ingeniería electrónica y Telecomunicaciones
Énfasis en Telemática
2013
2. Introducción…
Desafíos de Amazon.com: Fiabilidad a escala
masiva.
La mas mínima interrupción trae:
Consecuencias financieras y perdida de la
confianza del cliente (Netflix, Dropbox,
Entidades Bancarias.)
Posee decenas de miles de servidores y
componentes de res ubicados en muchos
centros de datos en el mundo.
Continuamente hay pequeñas y grandes fallas
lo que impulsa a buscar Fiabilidad y
Escalabilidad.
3. Qué es Dynamo?
Es un sistema de almacenamiento de claves y
valores de alta disponibilidad que algunos
servicios básicos de Amazon utilizan :
“Always-On”.
4. Qué es Dynamo?
Dynamo es una base de datos NoSQL rápida y
totalmente gestionado que permite almacenar y
recuperar de manera fácil cualquier cantidad de datos,
así como atender cualquier nivel de tráfico de
solicitudes. Todos los datos se almacenan en unidades
de estado sólido (SSD) y se replican en 3 zonas de
disponibilidad para obtener una mayor disponibilidad y
durabilidad.
5. Dynamo
Se especifica esta base de datos
como una gran Tabla de Hash
Distribuida (DHT) y accesible
mediante un mecanismo de “ClaveValor” .
6. Características de Dynamo
Utiliza Acuerdo de nivel de servicio (SLA)
Garantizar el 99.9% de los accesos en un
tiempo de respuesta menor de 300ms.
Provee a los clientes una experiencia “Siempre
en Línea”, sin caídas
ni restricciones.
7. Características de Dynamo
Esto implica una gran
distribución de los datos entre
nodos y sobretodo algo más
interesante aún: el mecanismo de
búsqueda.
No utiliza el mecanismo de
búsqueda Chord.
Cada nodo mantiene la suficiente
información de forma local como
para poder direccionar una
petición directamente al nodo que
contiene el valor a devolver.
8. Características de Dynamo
Se ha implementado
un mecanismo de
sincronización de las
réplicas, utilizando
Arboles de Merkle
(árboles de hash de
192 bits)
Permiten comprobar
discrepancias entre
dos nodos sin tener
que transferir toda la
estructura de datos
entre ambos.
9. Características de Dynamo
PROBLEMA
TÉCNCA
VENTAJA
Particiones
Hashing Consistente
Escalabilidad Incremental
Manejo
temporal de
fracasos
Quórum descuidado y
traspaso insinuado
Proporciona alta
disponibilidad y
garantiza de durabilidad
cuando algunas de los
réplicas no están
disponibles.
Recuperarse
de
fallas
permanentes
Anti-entropía utilizando Sincroniza réplicas
árboles Merkle
divergentes en el fondo.