TABLAS FEDERADAS EN MYSQL

En ocasiones puede ocurrir que necesitemos acceder a ciertas tablas de nuestra base de datos desde una red poco segura. Por supuesto, siempre podemos crear una base de datos con las tablas replicadas que necesitemos. De esta manera podremos leer toda la información de esas tablas sin necesidad de acceder a la base de datos central.

¿Pero qué ocurre si además de poder leer esas tablas necesitamos insertar o actualizar datos?

Siempre podríamos hacer una doble replicación, pero el sistema se vuelve demasiado complicado, además de de no tener toda la información ‘de primera mano’ en la base de datos central, ya que parte de la información viene ‘replicada’, con lo que no podremos replicar toda la base de datos a otro lugar (por ejemplo para tener una copia como espejo, o simplemente para balancear las lecturas entre varias bases de datos).
No es muy aconsejable realizar una doble replicación a no ser que sea absolutamente necesario y no haya otra posibilidad.

Pero hay otra posibilidad mucho más sencilla y elegante. Se trata de las tablas federadas, un tipo de motor de Mysql ‘FEDERATED’ en las que se crea un enlace entre la tabla ‘federada’ y la tabla principal de la base de datos central. Es por ello que esta tabla no contiene datos, sólo el enlace mencionado.

Por ejemplo si tenemos en la base de datos central (de un servidor principal) una tabla:

CREATE TABLE prueba (
idTabla INT(5) NOT NULL AUTO_INCREMENT,
dato VARCHAR(20) NOT NULL DEFAULT ”,
PRIMARY KEY (idTabla)
)
ENGINE=MyISAM

En la base de datos secundaria (de otro servidor) la tabla federada sería:

CREATE TABLE prueba (
idTabla INT(5) NOT NULL,
dato VARCHAR(20) NOT NULL DEFAULT ”
)
ENGINE=FEDERATED
CONNECTION=’mysql://usuario_de_conexión@IP_del_servidor:3306/base_de_datos/prueba’;

Evidentemente, la tabla principal y la tabla federada tendrán la misma estructura, aunque la tabla federada no necesita AUTO_INCREMENT ni índices, ya que no almacena datos, sólo funciona como una interfaz.

¿Cómo funciona exactamente una tabla federada?

se-federated-structure

Imaginemos que tenemos una base de datos central en un servidor principal, y otra base de datos secundaria en otro servidor donde crearemos nuestra tabla federada. En este caso, la cadena ‘CONNECTION’ de la tabla federada apuntará a la tabla real de la base de datos central (necesitaremos un usuario de conexión que se creará en la base de datos central para tal menester).

Cuando se lleva a cabo una operación de escritura en la tabla federada, ésta se conectará a la base de datos central, y le enviará la operación a realizar sobre la tabla real. La base de datos central realizará la operación y devolverá el resultado a la base de datos secundaria que informará al usuario.

El uso de tablas federadas es totalmente transparente para el usuario (el funcionamiento es igual que si fuese real), y de esta manera nos permite crear bases de datos secundarias sólo con las tablas necesarias y con posibilidad de escritura.

Más información en la web de Mysql

Inicio curso 2015-2016

Un septiembre más empezamos un nuevo curso en la Escuela Politécnica y, como siempre (aquí tenéis las entradas de otros cursos: I, II, III y IV), os queremos recordar los datos importantes y necesarios para el uso y utilización de los eServices y, en especial, de las prácticas que realizáis en los laboratorios de la EPS.

En la EPS tenemos 25 laboratorios de informática, uno de electrónica y otro de televisión y vídeo. En esta página tenéis información sobre ellos: dónde está, su horario y ocupación, características hardware tienen, normas de uso, software instalado,… Sobre los laboratorios tenemos cambios importantes:

  • Hemos  “congelado” los Windows 7. ¿Qué significa esto y en qué te puede afectar? Aquí la respuesta.
  • Tenemos problemas con el generador que nos hace de “backup” eléctrico y puede afectaros en vuestras prácticas. En cuanto esté resuelto, os avisaremos (mediante nuestras redes sociales), pero que no se os olvide guardar, periódicamente, vuestro trabajo (esta es una buena práctica que, en general, deberíais cumplir siempre, independientemente del estado de nuestra infraestructura)

Para utilizar los eServices así como para acceder a los PCs de prácticas de los laboratorios (por ahora, en GNU/Linux), necesitáis vuestro usuario y contraseña de la EPS, y  éste NO ES el que habéis utilizado en el Campus Virtual para la matriculación en la UA. Si necesitáis ayuda, esta página os proporcionará más información sobre los usuarios de la EPS. Un detalle que queremos remarcar es que si usáis otro correo distinto al que os proporciona la UA (gmail, hotmail,…) tenéis la opción de redirigir el de la UA al que uséis ya que toda las comunicaciones institucionales se os enviarán a vuestro correo UA.

Para quien necesite realizar sus prácticas en su PCs, tenemos:

  •  Convenio con Microsoft que permite la descarga y uso del software de Microsoft que se utiliza en prácticas (excepto Office) y que podéis instalar en vuestro PC. Este convenio se complementa con otro que hemos firmado recientemente mediante el cual nuestros alumnos y profesores tendrán acceso a la aplicaciones de trabajo de la plataforma Office 365
  •  DVD Ubuntu Live EPS donde podéis encontrar el software de GNU/Linux que se ha instalado en los laboratorios para las prácticas.

Además, otras herramientas que, quizás, os puedan interesar son:

Si tenéis dudas o consultas, podéis encontrar información para resolverlas y de contacto con los técnicos de la EPS aquí, además de poder usas nuestros canales en  Facebook,  Google +,  nuestro canal YoutubeTwitter  y, por supuesto, este blog.

¡Que tengáis buen curso!