capítulo 10 bases de datos distribuidas · • tipos de sistemas de bases distribuidas...
TRANSCRIPT
ÍNDICE CAPÍTULO 10
Conceptos de bases distribuidas• Introducción• Arquitectura de un DDBMS• Fragmentación, replicación y distribución de datos• Tipos de sistemas de bases distribuidas
Replicación en MySQL• Panorámica de la replicación• Arquitectura y configuración• Implementación de un sistema de bases replicado• Administración y mantenimiento
Balanceo de carga y alta disponibilidad en MySQL• Fundamentos• MySQL Cluster• Organización de los datos• Instalación y configuración
Definición y esquema general
DefiniciónUna base de datos distribuida es una colección de datos que pertenece lógicamente al mismo sistema pero que se almacenan en distintas máquinas conectadas por una red
Porqué bases distribuidas
Mejora de rendimientoDisponibilidadDiccionario Optimización IntegridadConsistenciaRecuperación
FiabilidadTipos de aplicacionesEscalabilidadCapacidad DiccionarioOptimización
Arquitectura de un RDBMS
PARÁMETROS
Autonomía• Integración fuerte• Sistema
semiautonómo• Sistema aislado
Distribución• Distribución cero• Cliente/servidor• Servidores
cooperativos
Heterogeneidad• Hardware• Comunicaciones• Sistema operativo
Fragmentación, replicación y distribución de datos
Fragmentación
• Horizontal: Separamos filas
• Vertical: Separamos campos
Fragmentación, replicación y distribución de datos
Replicación
• Facilita la distribución de la carga
• Mejora la disponibilidad
• Sirve de copia de seguridad
Tipos de sistemas de bases distribuidas
Según los parámetros comentados: autonomía, heterogeneidad e integración
Replicación en MySQL
Concepto
La replicación en MySQL consiste en usar el registro binario para propagar modificaciones de las base de datos en uno o varios servidores maestros a otros esclavos
Beneficios
Alta disponibilidad: si cae un maestro puede sustituirlo un esclavo
Copia de seguridad
Posibilidad de balanceo de carga de lectura y/o escritura
Implementación de la replicación en MySQL
Replicación en un servidor existente
1. MASTER: Configurar server-id y reiniciar2. ESCLAVO: Preparar cuenta de acceso al master3. MASTER: Bloquear tablas 4. MASTER: Realizar copia de seguridad de datos5. MASTER: Leer coordenadas del Master6. MASTER: Desbloquear tablas7. ESCLAVO: Configurar server-id8. ESCLAVO: Iniciar con la opción skip-slave-start9. ESCLAVO: Cargar datos de copia de seguridad10.ESCLAVO: Indicar datos de Master11.ESCLAVO: Iniciar replicación
Administración y Mantenimiento
Monitorización
• Estado del maestro• Estado de los esclavos
Rotación del registro
Cambio de maestro
Balanceo de carga y alta disponibilidad
Balanceo carga
Reparto de la carga entre varios equipos o procesos
Alta disponibilidad
Garantiza que el servicio estará activo y disponible el máximo tiempo posible
Balanceo de carga y alta disponibilidad
Objetivos
-Escalabilidad
Eficiencia
Disponibilidad
Transparencia
Mysql Cluster
Definición de cluster en computación
Conjunto de computadoras que trabajan coordinadamente para ofrecer un servicio de forma que aparezcan ante el cliente como un solo equipo
Mysql ClusterComponentes
Nodos del cluster
• Nodo de administración (Management node)• Nodo de datos (Data node)• Nodos SQL (API node)
Aplicaciones cliente
• Clientes estándar• Clientes del gestor
Registro de eventos
Puntos de comprobación
Mysql ClusterOrganización de los datos
ParticiónRéplicaNodo de datosGrupo de nodo
Ejemplo dos gruposCon dos réplicas
Mysql ClusterInstalación y Configuración
1. Descargar/descomprimir archivo
2. Configurar nodos SQL
3. Configurar nodos de datos
4. Configurar nodo de administración
MySQL ClusterInicio y comprobación del cluster
Iniciar nodos por orden:
1. Nodo Administrador,2. Nodos de datos3. Nodos SQL
Comprobar estado con cliente de administración (SHOW STATUS)