Bases de datos distribuidas

Post on 13-Apr-2017

150 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

Transcript

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;

top related