Capítulo 10 Bases de datos distribuidas · • Tipos de sistemas de bases distribuidas...

22
Capítulo 10 Bases de datos distribuidas

Transcript of Capítulo 10 Bases de datos distribuidas · • Tipos de sistemas de bases distribuidas...

Capítulo 10

Bases de datos distribuidas

Í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

Arquitectura y Configuración

Un maestro, un esclavo

Maestro dual

Anillo de replicación

Pirámide

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 en MySQL

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 ClusterEsquema

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)

FIN CAPITULO 10