15. Fragmentación B.D. distribuidas
• Es necesaria por razones de rendimiento.
• Los usuarios deben comportarse como si los
datos no estuvieran fragmentados.
• Los datos deben estar almacenados en la
ubicación donde se usen más frecuentemente
para que las operaciones sean locales y se
reduzca el tráfico en la Red.
16. Replicación B.D. distribuidas
• Mejor rendimiento. Se opera sobre copias
locales en vez de acceder a sitios remotos.
• Mejor disponibilidad. Un objeto replicado está
disponible mientras haya una copia.
• Desventaja: propagar las actualizaciones.
• El usuario debe comportarse como si los datos
no estuvieran replicados.
17. Consultas en B.D. distribuidas
• El rendimiento de una consulta debe ser
independiente del sitio donde se realiza.
• Se debe maximizar la optimización de
consultas.
18. Transacciones en B.D. distribuidas
• Debe mantenerse la atomicidad de las
transacciones.
• Control de recuperación de la información.
• Control de concurrencia.
19. Diccionario de datos
• Describe la base de datos y sus objetos.
• Es un conjunto de metadatos que contiene las
características lógicas de los datos que se van
a utilizar en el sistema, incluyendo nombre,
descripción, alias, contenido y organización.
20. PRÁCTICA
• Crear un cluster MySQL. Se usaran como
servidores 4 máquinas virtuales pequeñas con
1 GB de RAM y como software un servidor
Linux. Para cada servidor se usará una
máquina virtual que será copia de la máquina
virtual patrón. Cada servidor albergará uno o
varios nodos componentes del cluster. Cada
nodo tiene un identificador único dentro del
cluster.
21. PRÁCTICA
1. Se prepara un servidor linux. Se crea un usuario llamado mysql.
groupadd mysql
useradd –g mysql mysql
passwd mysql
2. Se prepara dentro del nodo una carpeta con el software MySQL necesario
para que pueda formar parte del cluster. Este software se puede descargar
de:
http://dev.mysql.com/downloads/cluster/.
Se clonará este servidor para tener 4 máquinas idénticas.
22.
23. PRÁCTICA
3. Se descomprimen los fuentes de MySQL cluster en la máquina virtual y se
otorgan permisos necesarios.
tar –C /usr –zxvf mysql-cluster-gpl-7.4.10-linux-glibc2.5-x86_64.tar.gz
chown mysql:mysql /usr/mysql-cluster-gpl-7.4.10-linux-glibc2.5-x86_64/ -R
4. Se crean los directorios donde se van a ubicar los archivos de datos del
cluster.
mkdir /MySQL_Cluster
chown mysql:mysql /MySQL_Cluster
5. Habilitar los puertos a traves de los cuales se van a comunicar los nodos del
cluster.
Iptables –I INPUT –p tcp –dport
6. Añadir al PATH la ruta
PATH=$PATH:/usr/mysql-cluster-gpl-7.4.10-linux-glibc2.5-x86_64/bin
24. PRÁCTICA
- Con esto se termina de configurar la máquina patrón. A continuación, se
copian y generan 4 máquinas virtuales iguales, se configuran individualmente
y se les asigna dirección IP a cada una de las máquinas que harán de
servidores o nodos cluster.
- Se configurarán dos nodos de gestión y SQL y dos nodos de datos.
- Para poner en marcha el cluster se instala el software de MySQL Cluster para
windows, se arranca el asistente de creación del cluster ejecutando setup.bat.
Aquí se indican el nombre del cluster, los servidores que forman parte de él
con sus direcciones IP, el tamaño de carga de trabajo y credenciales de
conexión, a través de SSH indicando usuario y password mysql.
- A continuación se indica la tipología que tendrá el cluster y los parámetros
de cada proceso del cluster.
- Se hace deploy para desplegar la configuración.
25. PRÁCTICA
- Una vez configurado y arrancado el cluster, se gestiona a través de los nodos
de mantenimiento con el comando ndb_mgm.
ndb_mgm –e show : muestra el estado del cluster.
- Se configurarán dos nodos de gestión y SQL y dos nodos de datos.
- Para poner en marcha el cluster se instala el software de MySQL Cluster para
windows, se arranca el asistente de creación del cluster ejecutando setup.bat.
Aquí se indican el nombre del cluster, los servidores que forman parte de él
con sus direcciones IP, el tamaño de carga de trabajo y credenciales de
conexión, a través de SSH indicando usuario y password mysql.
- A continuación se indica la tipología que tendrá el cluster y los parámetros
de cada proceso del cluster.
- Se hace deploy para desplegar la configuración.
26. PRÁCTICA
- El nodo SQL se configura con una instancia normal de MySQL a través del
fichero de configuración my.cnf.
- Se puede crear una tabla de pruebas con la opcion engine=ndbcluster.
mysql> create table database pruebas;
mysql> use pruebas;
mysql> create table test (campo1 varchar (100)) engine =ndbcluster;
mysql> insert into test values (‘prueba nodo cluster’);
- La replicación es automática e instantánea como se puede comprobar en el
otro nodo haciendo:
mysql> select * from pruebas.test;