Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ricardo Galli
gallir@uib.es http://ow.ly/33QGk
Mitos
La base de datos ser gigantesca La normalizacin es fundamental No se puede perder un dato No hacen falta transacciones Hace falta un cluster Las consultas darn los tiempos adecuados porque el gestor es muy eficiente Los programadores saben de bases de datos
Escalado
Requisitos
Siempre en marcha Cargas fundamentalmente transaccionales Datos simples, consultas simples Disponibilidad sobre consistencia Desarrollo gil/rpido Despliegue en lnea Construido por desarrolladores
Crecimiento tpico
No existe todava una solucin genrica de clustering que funcione para todos los casos Teorema CAP y ACID vs BASE
ACID
Atomicity: todo o nada Consistency: se pasa de un estado consistente a otro Isolation: no leer datos no commited (nota: dirty reads) Durability: una vez ha sido commited no se perder.
CAP
Consistency: todo o nada (equivalente a atomicidad en ACID) Availability: disponibilidad permanente. Partition Tolerance: la cada parcial de red/nodos no causa resultados errneos
Puedes tener cualquiera de los dos, pero no los tres simultneamente Ms info: http://goo.gl/0DKD
BASE
Estrategia I
Cache (como memcache, memoria compartida en xcache...) Acotar los lmites (nmeros de amigos, etc.) Limitar los requerimientos
Arquitecturas seguras
Estrategia II
Buenas apuestas
Arquitectura ms riesgosas
Sharding
Escribir en varios msters Replicacin multinivel y anular Patrones de diseo atributo-valor
Buenas prcticas
Hacer backups desde un esclavo Facilitar los cambios de esquema Monitorizacin e instrumentalizacin Anlisis de rendimiento Archivar y eliminar datos obsoletos