CONFIGURACIÓN DE UNA BASE DE DATOS DISTRIBUIDA EN DB2
En este documento se explica el procedimiento que se llevó a cabo para la elaboración de una base de datos distribuida con el sistema manejador DB2 express-C, trabajando con un desarrollo web en java el cual permite al usuario interactuar con la base de datos. Fue necesario del uso de un sistema virtualizador Virtual-box, ya que permite virtualizar los equipos tanto clientes como servidor conectados en red, ya que este software soporta diferentes sistemas operativos. Al conectar los nodos en red y después la configuración del gestor de bases de datos distribuido DB2 en red se esperó su funcionamiento en red con una consulta multitabla en cualquiera de los 3 nodos configurados.
INTRODUCCIÓN
El almacenamiento de grandes cantidades de información cada vez es más sofisticado, llevando a las mismas bases de datos a una evolución en sus estructuras, administración y manejadores de las mismas, hoy en día las bases de datos [3], están en plena transformación ya que en la mayoría de las empresas y grandes instituciones están pasando de utilizar bases de datos centralizadas a enfocarse en un sistema de bases de datos distribuidas, dando flexibilidad y rápido procesamiento de los datos útiles. Por esto, el Tecnológico de Estudios Superiores de Jocotitlán como tal es una institución que ha ido creciendo en matrícula y para el departamento de control escolar es necesario automatizar un sistema en línea pero con un soporte ante las posibles caídas del sistema debido a una falla de cualquier tipo; es por eso que en la carrera de ingeniería en sistemas computacionales se propuso la creación de un a base de datos con soporte distribuido en espejo ante las posibles fallas que se puedan presentar. Así pues el sistema distribuido refleja la estructura de la institución manteniendo la información de un departamento de forma local y accediendo a datos remotos, también nos ofrece la gran ventaja de que cada base de datos almacena una copia de información de otros nodos haciendo más seguro el respaldo y acceso a la misma dentro de la red, en caso de que exista un fallo en algún nodo el funcionamiento del sistema de las bases, podrá seguir operando de forma ininterrumpida, también permite ajustarse a las necesidades y tamaño del TESJo, puesto que se pueden colocar o quitar nodos sin apagar el sistema o reiniciarlo.
Por lo tanto la carga de trabajo para el área de administración reduciría tanto en tiempo como en espacio, puesto que ya no será necesario que tengan que trasladarse hasta el lugar en donde se encuentra la base de datos central, si no que desde sus lugares podrán realizar cualquier operación que deseen, ingresando a información foránea, además de que las probabilidades de pérdida de información son casi nulas y podrá estar preparado para almacenar grandes cantidades de información en caso de un crecimiento futuro sin modificar ningún tipo de estructura referente a la base de datos.
Las bases de datos distribuidas surgieron como una necesidad para dar solución a los sistemas de información donde los servicios ofrecidos por una DB centralizada suelen ser poco eficientes, especialmente cuando el sistema de información es soportado en red la cual contiene un conjunto limitado de nodos ubicados en distintos sitios.
A una base de datos distribuida se le puede caracterizar de la siguiente forma:
•Los datos deben estar físicamente en más de una computadora, es decir los datos se encuentran almacenados en distintos sitios.
•Las sedes deben estar interconectadas mediante una red, cada sede es un nodo de la red.
•Para realizar dicha red no se debe de tomar en cuenta la topología, tipo y rendimiento de la red que va a unir cada uno de los nodos, aunque estas propiedades son relevantes para obtener un buen rendimiento.
•Los datos han de estar lógicamente integrados en una estructura o esquema global común.
DB2-C Express
Es una versión gratuita de uno de los más avanzados sistemas de administración de base de datos del mundo, al instalarlo hace a este servidor de datos híbrido como uno de los mejores para manejar muchos datos relacionales, al utilizar a XML de manera nativa para la extracción de datos. Esto hace a DB2 ideal para ser el motor de aplicaciones SOA y Web 2.0 donde los datos XML circulan en abundancia. Mientras que otros servidores de datos de otras compañías comerciales tienen límites en la cantidad de datos a almacenar, DB2 Express- C no los tiene. Tampoco tiene límite en el número de base de datos que puedes crear en el sistema.
METODOLOGÍA
•Desarrollar la conexión de Red virtualizada.
•Instalar el RBDMS, DB2.
•Realizar la configuración en red de DB2 entre nodos.
•Realizar el diseño de la base de datos y posteriormente una consulta a nivel distribuido.
•Realizar pruebas de espejeo entre nodos.
DESARROLLO
Debido a la problemática existente en el departamento de control escolar con las inscripciones, ya que este departamento cuenta con un sistema realizado hace 7 años y el cual está desactualizado debido al incremento de la matricula del Tecnológico de Estudios Superiores de Jocotitlán.
Para que el sistema funcionara de forma distribuida fue necesario contar con la configuración de una red interna para hacer el paso de datos de un nodo a otro. Para poder hacer las pruebas se creo una red virtual utilizando Virtual Box para la instalación de 3 nodos, un nodo principal en donde se encuentra la base de datos padre y 2 clientes en donde se trabajará con dicha base de datos.
Tanto el servidor como los clientes están instalados sobre la plataforma Windows, sin embargo esto no afecta el que algún otro cliente pueda tener otro sistema operativo para poder hacer transacciones a la base de datos.
Fue necesaria la utilización de direcciones IP de clase C, ya que el TESJo aún es una institución pequeña, sin embargo la propuesta de un sistema de bases de datos distribuidas podría decirse que es tomando en cuenta un crecimiento inevitable de la escuela en el futuro.
Para la creación de la base de datos primeramente se debe especificar el nombre que tendrá la Base de Datos , el numero de tablas, el nombre de las mismas, cuantos campos tendrá cada una, el nombre de cada campo, el tipo de dato, la longitud, si este será nulo y la descripción de cada uno, si las tablas dependerán de otras, etc., para ello es necesario la elaboración de el diccionario de datos, aquí es donde se describen los nombres de cada uno de los campos pertenecientes a una tabla en especifico, se detalla la longitud que tendrá cada uno, así como el tipo de dato que será almacenado en este respectivamente, si será o no nulo y a que valor es al que pertenece cada campo.
CREACIÓN DE LA BASE DE DATOS DE DB2
1.- Ingresar al centro de control en el gestor de base de datos DB2.
2.- Dentro del centro de control se posiciona en todos los sistemas, posteriormente, se ubica dentro de las instancias, y en el apartado de base de datos de clic con el botón izquierdo y se desplegara un menú donde aparece la opción crear base de datos y de clic en la opción con mantenimiento automático.
3.-Posteriormente se procede a agregar el nombre de la base de datos, si se desea también se puede agregar un alias y un comentario.
Creación de tablas en DB2
Una vez que la base de datos a sido creada, el siguiente paso es la creación de tablas, para este proyecto se realizó con DDL pues se necesitaban definir las tablas en las que se iban a almacenar los datos de la base de datos, también para especificar longitudes y claves primarias, sobre todo para hacer especificaciones en los campos.
Antes de ejecutar cualquier comando SQL debemos añadir la base de datos en la que se va a trabajar, el editor de DB2 cuenta con un pequeño botón con el que podemos hacer este procedimiento de forma más sencilla.
Al darle clic sobre el botón de añadir lleva a un pequeño recuadro en donde se selecciona la base de datos con la que trabajó (esto en caso de tener mas de 1, en el sistema), como este no es el caso, simplemente aparece la base de datos que se creó con anterioridad con el nombre de CONTROLE.
Después de esto se utiliza el asistente de configuración y seleccionamos vamos a la opción de Añadir una base de datos con asistente.
se deberá especificar el nombre del sistema, el protocolo y el sistema operativo en donde se encuentra la base de datos que vamos a añadir, etc. En este caso se llama CONTROLE, para especificar el nombre del sistema, en el botón descubrir podremos seleccionar el equipo que vamos a agregar y de donde se obtendrá la BD.
Al darle clic sobre el botón Descubrir el manejador hará una búsqueda exhaustiva en la red para tratar de encontrar otro Sistema DB2 instalado con anterioridad, al encontrar algún otro equipo que contenga otro DB2 podremos observar el nombre del equipo que contiene a DB2.
Se seleccionó el nombre del equipo en donde estaba la base de datos que se ocupó, al darle clic al sistema que vamos a añadir el recuadro que nos aparecía al principio se llenará por default con los valores necesarios.
Ya que el sistema nuevo haya sido añadido y reconocido por el cliente DB2, podremos observar (si damos clic en el signo + ) las instancias que se encuentran en nuestro servidor (para ambos sistemas operativos como Windows y Linux la instancia se hace llamar DB2), ahora será necesario agregar la base de datos para que podamos trabajar en ella desde el cliente.
CONCLUSIONES
La propuesta que se planteó en este trabajo pretende que se aplique este proyecto en un futuro no muy lejano ya que con esto la información del Tecnológico podrá estar más segura y posteriormente al ser fragmentada se podrán crear consultas multitabla, se podrá crear también un histórico de bases de datos antiguos y además al realizar un sistema que se conecte a esta base de datos se puede ofrecer un servicio de reportes dinámicos automáticos que además de mostrar la información, también la graficará sin hacer otro proceso de conteo como en Excel.
Al ser un sistema distribuido el riesgo de fallo entre nodos sigue siendo constante sin embargo esto no limitará el funcionamiento del mismo, pues el tiempo de respuesta para redireccionamiento entre un nodo y otro es mínimo, puesto que el sistema seguirá trabajando, aunque una parte del mismo esté inactivo, los riesgos de pérdida de información por hackeo a la base de datos son casi nulos ya que en una distribución los otros equipos tienen almacenado un respaldo de otro nodo haciendo redundancia de información permitiendo el libre acceso de los usuarios a los datos que se necesiten al momento.
Jaru
15-01-2013 10:52
En DB2 existen tres niveles de jerarquía: máquina, instancia y base de datos.
La máquina y su sistema operativo gestionan los recursos que se comparten por todas las instancias y bases de datos. La configuración a nivel de máquina afecta a todas las instancias.
El segundo nivel es instancia. Es la unidad de administración básica de db2. Controla los recursos asignados a cada base de datos, y es quien gestiona las comunicaciones y la creación de agentes. El arranque y parada también se hacen a este nivel. Dentro de una máquina puede haber muchas instancias.
Como tercer nivel están las bases de datos. Aquí se configuran muchas de las variables que afectan al funcionamiento de las bases de datos. Aunque la instancia es quien gestiona los recursos, cada base de datos, en general posee sus propios recursos.
En el nivel lógico están los objetos de base de datos: vistas, tablas, índices, triggers, procedimientos almacenados, funciones, secuencias...
En el nivel físico estarían los tablespaces y sus containers. También podrían considerarse como nivel físico las áreas de memoria.
ADRIANA
15-01-2013 10:30
DB2 es una herramienta de base de datos muy buena ya que la gestion de las BD se puede hacer de manera eficiente, aunque cuesta un poco de trabajo hacer la conexion entre dos maquinas finalmente podemos trabajar de manera eficiente en este programa especializado en bases de datos.
Bere Mañon
15-01-2013 10:20
DB2 es un sistema de gestión de bases de datos que permite desarrollar, implementar y distribuir aplicaciones que no usen las características avanzadas de las versiones comerciales del mismo.
Y con este la información del Tecnológico estaría muchas más segura y organizada! Que bueno que se estén implementando este tipo de sistemas en nuestra institución para unos mejores servicios a la comunidad estudiantil.
Nestor Munguia Hernandez
15-01-2013 08:56
Entonces, ¿por qué se debe catalogar una base de datos? Sin esta información, ¡las aplicaciones no pueden conectarse a una base de datos! El DB2 tiene múltiples directorios que se utilizan para acceder a bases de datos. Estos directorios le permiten al DB2 encontrar bases de datos que conozca, estén estas en el sistema local o en un sistema remoto. El directorio de base de datos de sistema contiene una lista e indicaciones de apuntador sobre dónde se pueden encontrar cada una de las bases de datos. El directorio de nodo contiene información relacionada con cómo y dónde se pueden encontrar los sistemas o instancias. Para poner una entrada en cualquiera de estos directorios, se utiliza un comando CATALOG. Para eliminar una entrada, se usa un comando UNCATALOG.
Nestor Munguia Hernandez
15-01-2013 08:55
El DB2 cataloga las bases de datos automáticamente cuando son creadas. Cataloga una entrada para la base de datos en el directorio de base de datos local y otra entrada en el directorio de base de datos de sistema. Si la base de datos es creada desde un cliente remoto (o para un cliente que se esté ejecutando desde una instancia diferente en la misma máquina), también se hace una entrada en el directorio de base de datos en la instancia de cliente.