dynamo: tienda de amazon de alta disponibilidad de llaves y valores
TRANSCRIPT
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
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.
Es un sistema de almacenamiento de claves y
valores de alta disponibilidad que algunos
servicios básicos de Amazon utilizan :
“Always-On”.
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.
Qué es Dynamo?
Se especifica esta base de datos
como una gran Tabla de Hash
Distribuida (DHT) y accesible
mediante un mecanismo de “Clave-
Valor” .
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.
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.
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.
Características de Dynamo
Características de DynamoPROBLEMA 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
árboles Merkle
Sincroniza réplicas
divergentes en el fondo.