Db2
Db2 es una familia de productos de sistemas de gestión de bases de datos (DBMS) de IBM que sirven a varias plataformas de sistemas operativos (SO) diferentes. Utilizado por organizaciones de todos los tamaños, Db2 proporciona una plataforma de datos para operaciones tanto transaccionales como analíticas, así como disponibilidad continua de datos para mantener los flujos de trabajo transaccionales y los análisis operando de manera eficiente.
Además de ser un DBMS relacional, Db2 también ofrece soporte integrado para varias capacidades NoSQL, incluyendo XML, almacenamiento de gráficos y notación de objetos JavaScript, o JSON.
¿Qué es una base de datos Db2 y cómo funciona?
Una base de datos Db2 es un grupo de datos tratados colectivamente como una unidad. Una base de datos es un gran conjunto estructurado de datos persistentes y su propósito es almacenar, recuperar y manipular información relacionada.
Un administrador de bases de datos (DBA) utiliza Db2, que es DBMS o servidor de bases de datos, para crear y utilizar bases de datos Db2. El DBMS de Db2 funciona como servidor para gestionar datos en bases de datos en un entorno multiusuario, lo que permite que muchos usuarios concurrentes accedan a los mismos datos simultáneamente. El DBMS Db2 también evita el acceso no autorizado, proporciona utilidades para realizar copias de seguridad y recuperar datos y ofrece herramientas de rendimiento y capacidades de gestión de datos.
Las bases de datos DB2 tienen estructuras lógicas y estructuras físicas que el DBMS gestiona por separado. El almacenamiento físico de datos se puede administrar sin afectar el acceso a las estructuras de almacenamiento lógicas. Las bases de datos Db2 se crean utilizando mandatos del lenguaje de definición de datos, o DDL, y se componen de espacios de tabla, tablas con filas y columnas, vistas, índices, procedimientos almacenados y otras estructuras de soporte.
Una vez creado, un DBA o desarrollador puede usar una base de datos Db2 y sus estructuras subyacentes para crear, leer, actualizar y eliminar datos para dar soporte a los requisitos comerciales de una organización.
¿Cuáles son las ventajas de Db2?
Db2 ofrece muchas funciones avanzadas para mejorar la gestión de datos y bases de datos, incluidas las siguientes:
- La compresión procesable puede ofrecer ahorros de espacio de almacenamiento sin sacrificar el rendimiento. Se pueden evaluar muchos predicados de consulta sin tener que descomprimir los datos.
- El rendimiento del procesamiento analítico de transacciones híbridas, o HTAP, es acelerado por el almacén de columnas Db2 BLU con una sola instrucción, datos múltiples o SIMD, tecnología de explotación y omisión de datos en plataformas LUW y por IBM Db2 Analytics Accelerator en z/OS.
- Un DBA puede crear una base de datos temporal utilizando Db2 para permitir que los cambios del sistema y del negocio sean capturados, mantenidos y consultados. Esto permite a las organizaciones almacenar información relacionada con el tiempo pasado, presente y futuro, así como utilizar consultas de viaje en el tiempo para ver estados de datos pasados y futuros.
- Las capacidades de inteligencia artificial (IA) y aprendizaje automático (ML), incluido el explorador de datos aumentados, ofrecen capacidades de consulta en lenguaje natural, un optimizador de consultas ML y una plataforma de gestión de datos híbrida para permitir el intercambio fluido de datos estructurados, no estructurados y semiestructurados.
- La elección del modelo de implementación incluye la implementación en la nube alojada en las instalaciones o la implementación en la nube administrada.
- Db2 en plataformas LUW ofrece una opción de compatibilidad con Oracle SQL.
- DB2 para z/OS permite a las organizaciones ejecutar cargas de trabajo mixtas con una escalabilidad excepcional, alto rendimiento y disponibilidad permanente.
¿Cuáles son las desventajas de Db2?
Al ser relacional, las desventajas comunes al tipo RDBMS se aplican a Db2 tanto como a cualquier otro RDBMS. Estos incluyen los siguientes:
- Un desajuste de impedancia entre orientado a objetos (OO) y relacional significa que el mapeo relacional de objetos es necesario para que los programas de aplicación OO, como Java, accedan a los datos.
- El modelo relacional requiere un esquema rígido que no encaja necesariamente con algunos tipos de desarrollo moderno. Los sistemas de bases de datos NoSQL cubren áreas específicas para las que el RDBMS no es adecuado.
- Db2 no se escala tan bien horizontalmente como NoSQL debido al modelo de coherencia que utiliza, pero puede escalar verticalmente agregando CPU y memoria.
- Debido a que hay más usuarios de sistemas de bases de datos como Oracle y Microsoft SQL Server, puede resultar difícil encontrar profesionales de DB2 con talento y conocimientos.
Plataformas compatibles con Db2
Además de sus ofertas para los sistemas operativos mainframe, z/OS y VM y sus sistemas de la serie i de rango medio —anteriormente AS/400— IBM ofrece productos Db2 para un espectro multiplataforma que incluye IBM AIX basados en Unix, así como Linux, Microsoft Windows 10 y sistemas anteriores.
Db2 está disponible en las siguientes plataformas primarias:
- estación de trabajo, con Db2 para Linux, Unix y Windows (LUW);
- gama media, con Db2 para iSeries; y
- mainframe, con Db2 para z/OS y VM/VSE.
Cada una de estas plataformas se basa en una base de código diferente, lo que significa que habrá diferencias en la forma en que un DBA utiliza y gestiona Db2 en función de la plataforma principal que se utiliza. Aunque el motor de base de datos Db2 no se basa en una base de código común en las tres plataformas principales, sí cuenta con una notable compatibilidad con SQL entre las plataformas. Esto significa que los desarrolladores pueden escribir código SQL que funcione en una plataforma y es probable que funcione en otras con pocos o ningún cambio.
Los desarrolladores pueden acceder a las bases de datos Db2 desde programas de aplicación utilizando sentencias SQL incorporadas en C, C++, COBOL, Fortran y REXX. También pueden utilizar la interfaz de nivel de llamada Db2, la conectividad abierta de bases de datos de Microsoft, el proveedor de servidor de datos de IBM para aplicaciones Microsoft ADO.NET, la conectividad de bases de datos Java y SQLJ, o la API de JDBC para aplicaciones Java. Pueden desarrollar aplicaciones web usando Python, lenguaje de programación PHP y Ruby on Rails. Un desarrollador también puede crear aplicaciones que utilicen API REST para acceder, interactuar e intercambiar datos con Db2.
Ediciones y características de Db2
Las versiones de mainframe y midrange de Db2 no se venden en ediciones. Aunque las versiones anteriores de DB2 para LUW ofrecían hasta seis ediciones diferentes, la última versión, 11.5.5, ofrece solo dos ediciones. Esto facilita las cosas porque las ediciones no están restringidas por las características del DBMS, sino por la cantidad de hardware que puede admitir:
- Db2 Standard Edition es una versión completa de Db2 que está restringida a 16 núcleos de procesador virtual y 128 GB de memoria. Esto es similar a lo que IBM solía llamar Advanced Workgroup Server Edition.
- Db2 Advanced Edition es una versión con todas las funciones de Db2 sin restricciones de hardware.
También hay una Community Edition gratuita de Db2 que los administradores y administradores de bases de datos pueden utilizar tanto para trabajos de producción como de no producción. La Community Edition está limitada a cuatro núcleos, 16 GB de memoria y 100 GB de almacenamiento por base de datos.
IBM también ofrece Db2 on Cloud, que es una base de datos en la nube SQL totalmente administrada con un equipo de operaciones dedicado, recuperación en un momento determinado, tecnología de recuperación ante desastres de alta disponibilidad con soporte regional multizona y escalamiento independiente para proteger las aplicaciones empresariales. Proporciona un RDBMS en la nube listo para la empresa para cargas de trabajo de misión crítica utilizando un modelo de pago por uso para almacenamiento y computación escalables.
IBM ofrece una instancia en la nube gratuita de Db2 que incluye la mayoría de las funciones de Db2 a través de su Plan Lite. Cualquiera puede utilizar esta versión simplemente creando un ID de IBM y registrándose. El único límite es un máximo de 200 MB de datos.
Para los requisitos analíticos, IBM Db2 Warehouse on Cloud es un almacén de datos en la nube elástico y completamente administrado que ofrece escalado independiente de almacenamiento y computación. Db2 Warehouse es un almacén de datos en memoria organizado en columnas diseñado para análisis complejos y simultaneidad extrema con funciones de automatización avanzadas que se centran en la entrega en lugar de la administración. Además, permite a los administradores de bases de datos entrenar y ejecutar modelos de aprendizaje automático directamente en el motor del almacén, utilizando Structured Query Language (SQL), Python o R.
Db2 también está integrado en los dispositivos PureData de IBM para análisis, así como en la plataforma IBM Cloud Pak for Data, ya sea como un complemento o como un servicio de fuente de datos incluido.
La historia de Db2
Db2 se remonta a 1974 y al proyecto de investigación del sistema de base de datos System R en el Laboratorio de Investigación de San José de IBM, que es notable como la primera implementación de SQL.
Las bases de datos relacionales han realizado cambios profundos en la industria de la computación a lo largo de los años. Oracle lanzó su primer RDBMS comercial en 1979 e IBM siguió en 1981 con SQL/DS, que más tarde pasó a llamarse DB2 para VM/VSE.
DB2 Versión 1. La década de 1980 fue una época de mucho trabajo para IBM, ya que proporcionó varias actualizaciones de versiones. DB2 Versión 1 Release 1 para MVS estuvo disponible de forma generalizada (GA) en abril de 1985 y DB2 Versión 1 Release 2 se convirtió en GA en marzo de 1986 —solo un mes después de su anuncio. En abril siguiente, IBM lanzó el sistema operativo OS/2 y DB2 Versión 1 Release 3 se convirtió en GA en junio de 1987. Esta versión introdujo tipos de datos de fecha.
DB2 Versión 2. IBM entregó DB2 Versión 2 Versión 1 (V2R1) en septiembre de 1988. Esta fue una versión significativa en la historia de DB2 para MVS, ya que podía soportar cargas de trabajo de procesamiento de transacciones de misión crítica. V2R1 también introdujo restricciones declarativas de integridad referencial (RI).
IBM anunció DB2 Version 2 Release 2 el 4 de octubre de 1988 y se convirtió en GA el siguiente septiembre. Esta nueva versión agregó soporte de base de datos distribuida.
En 1989, IBM lanzó OS/2 Extended Edition 1.0, que incluía un motor de base de datos llamado simplemente Database Manager. Más tarde se convirtió en DB2 para Common Server y luego en DB2 para Linux, Unix y Windows (LUW).
DB2 Versión 2 Release 3 estuvo disponible de forma generalizada el 25 de octubre de 1991. El DBM OS/2 fue lanzado como DB2/2 en 1993 y el DB2/6000 fue lanzado para AIX poco después del mismo año.
DB2 Versión 3. Entre 1993 y 1999, IBM lanzó tres nuevas versiones de DB2, comenzando con la Versión 3, que se convirtió en GA en diciembre de 1993. Esta versión mejoró las opciones del grupo de búferes y el procesamiento paralelo. En 1995, IBM lanzó DB2 para Common Server. Esta versión originalmente admitía OS/2 Warp y AIX y, finalmente, Windows NT y varias otras variantes de Unix.
DB2 Versión 4. Lanzada en noviembre de 1995, esta nueva versión proporcionó indexación mejorada, uso compartido de datos, procedimientos almacenados y mejor paralelismo y rendimiento.
DB2 Versión 5. En junio de 1997, DB2 Versión 5 se convirtió en GA. Fue la primera versión de DB2 a la que se hizo referencia como DB2 para OS/390 en lugar de DB2 para MVS. Esta versión cuenta con almacenamiento en caché de declaraciones, reoptimización y administración en línea mejorada.
DB2 Versión 6. En junio de 1999, IBM lanzó DB2 Versión 6 e introdujo el término Universal Database al apodo de DB2. El nombre oficial del producto del sistema principal ahora es DB2 Universal Database para OS/390. A finales de los 90, IBM también renombró SQL/DS como DB2 para VM y VSE.
DB2 Versión 7. Esta nueva versión, que se lanzó en marzo de 2001, ofrecía soporte Unicode, utilidades mejoradas y nueva funcionalidad SQL como cursores desplazables, FETCH limitado y expresiones de fila.
DB2 Versión 8. Lanzada en marzo de 2004, esta fue la versión más significativa y cargada de funciones de DB2 hasta la fecha. Tenía más líneas nuevas de código que DB2 V1R1 tenía líneas totales de código y ofrecía características como nombres SQL largos, cambios de esquema en línea, seguridad a nivel de fila y muchas mejoras de SQL.
DB2 9 para z/OS. Lanzado en marzo de 2007, IBM eliminó la "V" de su nombre. Esta versión ofreció capacidades mejoradas de administración y gestión en línea, tipos de datos XML y binarios, y una funcionalidad SQL nueva y mejorada.
DB2 10. Lanzada en noviembre de 2010, esta actualización proporcionó soporte de base de datos temporal y muchas mejoras en SQL, rendimiento y seguridad.
DB2 11. Lanzado en noviembre de 2013, DB2 11 entregó rendimiento, nuevas capacidades administrativas y mejoras en la productividad del programador. En 2017, IBM cambió el nombre de DB2 a Db2. La versión Db2 11.5.5, lanzada en noviembre de 2020, es la versión actual de la oferta LUW.
Db2 12. Lanzada en octubre de 2016, esta es la versión actual de la oferta de mainframe. Introdujo la entrega continua de nuevas funciones a Db2.