Bases de datos distribuidas
Bases de datos distribuidas
¿Qué es una B.D. distribuida?
Estructura B.D. Distribuida
Estructura B.D. Distribuida
Características B.D. Distribuida
Componentes B.D. Distribuida
Componentes B.D. Distribuida
Componentes B.D. Distribuida
Tipologías B.D. Distribuida
Diferencias entre tipologías
Ventajas B.D. distribuidas
Inconvenientes B.D. distribuidas
Ventajas e Inconvenientes
B.D. centralizadas vs B.D. distribuidas
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.
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.
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.
Transacciones en B.D. distribuidas
• Debe mantenerse la atomicidad de las transacciones.
• Control de recuperación de la información.• Control de concurrencia.
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.
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.
PRÁCTICA1. Se prepara un servidor linux. Se crea un usuario llamado mysql.
groupadd mysqluseradd –g mysql mysqlpasswd 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.
PRÁCTICA3. 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.gzchown mysql:mysql /usr/mysql-cluster-gpl-7.4.10-linux-glibc2.5-x86_64/ -R4. Se crean los directorios donde se van a ubicar los archivos de datos del cluster.
mkdir /MySQL_Clusterchown 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 rutaPATH=$PATH:/usr/mysql-cluster-gpl-7.4.10-linux-glibc2.5-x86_64/bin
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.
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.
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;