Sean McCown Una función en particular, el motor híbrido XML/relacional, le da su figura distintiva. Para los clientes que se inicia en la nueva era de la administración de datos XML, las innovaciones de Viper ciertamente son muy aceptables. Las bases de datos XML nativas existen desde hace tiempo, pero requieren de librerías especiales y no son compatibles con información relacional. Por otro lado, las bases de datos relacionales tienen problemas para enfrentar los modelos jerárquicos y tienen funcionalidad limitada en ésa área. De manera que los principales fabricantes de bases de datos han estado ocupados mejorando las capacidades XML en sus productos relacionales. IBM no es la excepción. Su tecnología aventaja la de sus competidores al preservar el formato nativo de la información en XML conservando todas sus propiedades y estructura jerárquica. Permite a los usuarios acceder a los datos en XML usando búsquedas de SQL como las bases de datos relacionales ordinarias, o usar XQuery para acceder a tablas relacionales. Puede incluso usar SQL relacional para limitar el rango de datos obtenidos de expresiones XQuery. Asimismo, DB2 permite entremezclar casi continuamente el uso de los dos lenguajes. El motor XML puro también permite una indexación más eficiente, de 5 a 7 veces más rápida que Microsoft u Oracle, según IBM, porque los nodos XML individuales no están almacenados como simples cadenas. Enfocado en XML, IBM ha proporcionado nuevas herramientas para desarrolladores, como Developer Workbench con un nuevo constructor XQuery y mejoras en add-ins de Visual Studio 2005. Sin embargo, cambiar alternativamente entre los dos estilos de preguntas es complejo y difícil de leer rápidamente. Sospecho que la mayoría de los desarrolladores evitarán a toda costa ese tipo de aplicaciones híbridas. Una función muy interesante del motor de XML puro es que preserva las firmas digitales de archivos XML firmados digitalmente. Si recibe uno, puede cargarlo en la base de datos, recuperarlo en cualquier momento en el futuro, y la forma digital seguirá intacta. Microsoft y Oracle no pueden hacer eso, pero no es una función muy utilizada. Por fortuna, las capacidades XML de DB2 no son las únicas mejoras en la nueva versión. La escalabilidad es otra área a la que IBM ha puesto especial atención. Al usar un identificador de registro mucho más largo, DB2 9.1 permite a los administradores crear tablas de trabajo temporales para preguntas del sistema y del usuario mucho más largos de lo que antes era posible. El tamaño de una sola tabla también se ha incrementado a un gigantesco 1.1 millón de millones de renglones o 16TB, lo que ocurra primero. Claro que eso puede afectar severamente el desempeño, pero de ser lento a no hacer nada… Las vistas estadísticas son otra característica de escalabilidad en DB2 9.1. Ordinariamente, el optimizador de preguntas usa estadísticas para estimar la cardinalidad de los datos almacenados en tablas, y es uno de los principales factores usados para determinar un plan de ejecución para una pregunta dada. Las vistas estadísticas extienden esta capacidad también a las vistas, lo que significa que ahora las vistas no solo son consideradas a ser tablas derivadas sino que son tratadas realmente como tablas. El control de acceso basado en etiquetas de DB2 (LBAC) le da mucho mayor certeza al prevenir que los usuarios burlen sus medidas de seguridad. Puede especificar una política para controlar el acceso a columnas específicas o incluso a rangos específicos de renglones. Con LBAC, realmente tiene que planear cómo quiere que funcione la política de seguridad, pero a la larga, esta estrategia requiere mucho menos administración sobre la marcha. Otra de mis funciones favoritas de DB2 es su nueva compresión a nivel de filas, que puede dar ahorros en almacenamiento directo de entre 45 y 75%. Para mi siguiente prueba puse mi base de datos en un servidor que tenía sólo 1GB de RAM, para ver como una pequeña empresa puede aprovechar la compresión. Encontré que en este escenario la tabla comprimida no se desempeña tan bien como en mi servidor con 4GB de RAM, tal vez porque con tan poca memoria los diccionarios de compresión almacenados en memoria tienen que pasarse a disco cuando el servidor está ocupado. Aunque tengas mucha memoria, asegúrate de probarlo bien antes de ponerlo en su ambiente de producción. Con todo, esta es una excelente versión para los actuales usuarios de DB2, pero en el muy competido mercado de las bases de datos relacionales cuesta mucho ganar nuevos adeptos. Tal vez en un par de próximas versiones mientras IBM y sus clientes comienzan a construir sobre estas tecnologías y a hacer cosas que nadie puede hacer, emergerá el verdadero pago de la visión de DB2.