La nueva versión 2.1 de DB2 anuncia profundos cambios y mejoras en este sistema de base de datos relacional. Aunque DB2 puede tener mil caras, su sitio de honor es la informática de gestión empresarial.

DB2 ha sido siempre un nombre sagrado asociado habitualmente a grandes sistemas de bases de datos residentes en mainframes. Nacido en un tiempo en el que estas grandes máquinas poblaban las empresas en grandes estructuras centralizadas, ha visto evolucionar la tecnología a favor de una filosofía mucho más distribuida y flexible. DB2 ha cambiado con los tiempos, aumentando en potencia y seguridad, y hoy puede ser la llave que permita a muchos negocios adaptarse a la nueva filosofía cliente-servidor, mediante un proceso poco traumático para los datos y la economía de la empresa. El sistema OS/2 ha sido una buena excusa para que DB2 descienda a soportar los, cada vez menos modestos, ordenadores personales. Este sistema operativo es, por muchas razones, la plataforma ideal para un producto como DB2, que exprime al máximo todo el hardware que pueda encontrar. Ya en el artículo que se dedicó a la versión anterior de DB2 para OS/2 (PC World nº106 Enero 1995), se mencionaron las habilidades del programa para que, un heterogéneo conjunto de máquinas, pueda hablar el mismo lenguaje e integrarse en un sistema de datos. Desde una configuración limitada a un ordenador personal o una pequeña red local, hasta complejas arquitecturas de interconexión de redes, con servidores locales y mainframes, cualquier configuración es posible. Las versiones servidor de DB2 pueden encontrase para los sistemas MVS/ESA, VSE, VM (SQL/DS), OS/400, OS/2, y varias versiones de UNIX (AIX, HP-UX y Solaris).

Por otro lado, existen clientes y entornos de desarrollo de aplicaciones para multitud de sistemas operativos, incluyendo MS-DOS, Windows y OS/2. Cualquiera de estos clientes (o todos ellos) podrán utilizar los datos de forma transparente, sin importar su localización física en la red. Toda esta flexibilidad reside en una tecnología denominada DRDA (Distributed Relational Database Architecture) que funciona desde los clientes, y evita los problemas del tradicional software de pasarela utilizado por otros fabricantes.

DB2 para OS/2 ha heredado la mayor parte de la funcionalidad del producto para grandes máquinas. Esto significa que, el administrador de un sistema de base de datos construido alrededor de DB2, tiene a su disposición funciones de mantenimiento, seguridad de los datos y capacidad de ampliación, poco frecuentes en otras opciones.

El catálogo de DB2

Como ya se apuntó en el artículo anterior, DB2 se compone de varios productos que pueden adquirirse de forma separada para adecuarse a cada necesidad concreta. La filosofía escalable de DB2 favorece el crecimiento hacia estructuras más complejas, sin desechar la inversión realizada previamente. Los siete productos, descritos a grandes rasgos, son los siguientes:

DB2 Usuario único: Pensado para un sólo usuario o un único desarrollador, proporciona todas las funciones convencionales de gestión de bases y programación de aplicaciones. Aunque los datos instalados bajo este sistema no pueden ser accedidos desde puestos remotos, la versión de usuario único incluye los habilitadores de clientes para OS/2, DOS y Windows. De esta forma, desde una estructura localizada en una sola máquina, el sistema puede crecer hacia la red, sin actualizar el software, y tan sólo adquiriendo el software para el servidor. Además incorpora la mayor parte de las herramientas del kit de administración.

DB2 Servidor: Permite configurar cualquier puesto como servidor, o como cliente-servidor.

DDCS Usuario único: Proporciona a un único puesto la capacidad de acceder y actualizar datos sobre servidores instalados en mainframes.

DDCS Puerta Multi-usuario: Funcionando sobre la versión servidor de DB/2, habilita a todos sus clientes para acceder y actualizar datos de forma trasparente sobre servidores instalados en mainframes.

Habilitadores de aplicaciones cliente: Da el soporte de ejecución a las aplicaciones que accederán a los datos locales o remotos, así como a las herramientas de administración. Facilita además un procesador de mandatos para ejecutar un subconjunto de los mandatos de DB2.

Kit de desarrollo de aplicaciones: Todos los precompiladores, librerías y documentación necesaria para el desarrollo de aplicaciones cliente bajo diversos entornos.

Kit de herramientas de administración: Varias herramientas de gestión local o remota de sistemas de bases de datos, incluyendo un potente monitor de rendimiento, que supervisa y optimiza el funcionamiento de la red.

Las novedades de DB2 2.1

Para cualquier usuario normal de sistemas de bases de datos para compatibles, asomarse a DB2 puede producir vertigo por su potencia y complejidad. Por ello no podemos intentar, en este artículo, abarcar una descripción completa de un producto que, más que un programa, es una profesión. Más bien intentaremos dar una idea de las novedades de la presente versión, que han sido numerosas y profundas.

El motor de DB2 sigue ahora escrupulosamente los estándares del nivel básico del SQL92, e incluso un buen número de los puntos del nivel superior del SQL92 y SQL93 (éste último todavía en borrador). La sintaxis SQL se ha extendido considerablemente para dar cabida a nuevas características como restricciones de comprobación, sentencias CASE, expresiones de tabla anidadas, etc.

Adelantándose al futuro, DB2 incluye algunas características en su lenguaje que, sin duda, serán incluidas en futuras versiones del estándar. Una de las más representativas es el soporte para grandes objetos binarios de hasta 2 GB, que se manejan como datos convencionales y accesibles a través de SQL para funciones de búsqueda o concatenación. Otra interesante incorporación son los denominados desencadenantes, que representan acciones que se activan como respuesta automática a operaciones que modifican los datos de una determinada tabla básica. Su aplicación y beneficios para el programador incluyen, validación de datos, generación automática de valores, consultas a otras tablas para referencias cruzadas, y mucho más. También se podrían mencionar las consultas repetitivas, que utilizan los datos resultantes de una búsqueda para generar resultados adicionales, útiles, por ejemplo, para explorar una estructura en árbol.

Los cambios de DB2, desde el punto de vista del programador de aplicaciones son más profundos de lo que parecen. Gracias a su filosofía orientada a objeto, los desarrolladores pueden ahora crear tipos de datos o funciones definidas por el usuario que cubran sus necesidades específicas. Los nuevos tipos ofrecen independencia de los incluidos con el sistema, mientras que las funciones definibles proporcionan la abstracción del objeto. Desde aquí se abren otras posibilidades como la creación de métodos, la sobrecarga de funciones, la encapsulación de los objetos y otras consecuencias extraídas del críptico mundo de la programación orientada a objeto.

Una de las herramientas más sorprendentes de DB2, era su sofisticado optimizador SQL, que ha sido bastante mejorado. Las bases de datos relacionales ofrecen muchas formas de acceder a los mismos datos. A este nivel, ya no sólo cuenta el conseguir los datos, sino cuánto cuesta obtenerlos en términos de tiempo y recursos. Por ello, el optimizador establece estadísticamente el mejor camino hacia los datos solicitados, y trasforma automáticamente una consulta en un formato funcionalmente equivalente, que se ejecuta de forma más eficiente. El optimizador distingue entre búsquedas aleatorias y secuenciales, y es sensible a la velocidad de la CPU y de los dispositivos de E/S.

Menores limitaciones de almacenamiento

Una de las escasas limitaciones que se podían mencio