Guía para la integración entre IBM DB2® para Sistemas i y MySQL®
Optimizando la distribución de datos en un ambiente empresarial
Introducción
Actualmente las organizaciones dependen de información con todas las perspectivas de su negocio para la toma de decisiones, administración operacional y transacciones diarias. Los sistemas IBM i (AS400) son un pilar fundamental en medianas y grandes empresas siendo las bases de datos IBM utilizadas como repositorio de datos legados, productivos y operacionales.
Si bien los sistemas IBM i son históricamente muy confiables, estos son caros y requieren de un profundo conocimiento para implementarlos y administrarlos. Este es un enorme desafío cuando las organizaciones necesitan prioridad para acceder a los datos almacenados en sus sistemas IBM, sin afectar el trabajo y procesamiento diario del cual el sistema IBM es responsable, y en algunos casos sin tener los suficientes conocimientos técnicos al interior de la organización para crear los accesos a los datos de acuerdo a los requerimientos de las bases de datos IBM.
Este artículo ofrece una orientación sobre el uso de una alternativa de base de datos económica y una estrategia adaptable para la optimizar los datos, con el fin de dejar disponible fácilmente datos desde IBM i cubriendo los requerimientos de negocios. Aprovechando las cualidades de Syniti Data Replication para integrar datos entre IBM i y MySQL Community Server, las empresas pueden reducir sus costos y tiempos en administrar ambientes de bases de datos heterogéneos, mientras se optimizan al máximo las inversiones realizadas en sistemas de bases de datos y hardware.
Completo soporte técnico durante la evaluación
El alto costo de habilitar información
Un aspecto fundamental en la administración de negocios es la coordinación y administración de datos corporativos. Información financiera, órdenes de compra, datos de clientes, partes/repuestos, operaciones, compras y recursos humanos todo depende de la administración de datos, por tal motivo, para muchas empresas la administración de los datos es de misión crítica.
Con el avance en el desarrollo de software empaquetado o productos a la medida, los tipos de datos y definiciones ya no son universales. Adicionalmente, en la década pasada se produjeron un gran número de bases de datos analíticas, por ejemplo data marts y data warehouses, nuevamente expandiendo los tipos y formatos de datos.
El gran problema de los tipos de datos es la obstrucción de los mismos cuando las organizaciones necesitan de una visión integral y requieren integrar datos desde múltiples y dispares bases de datos, las cuales utilizan formatos muy diferentes.
Existen muchas opciones en sistemas de administración de bases de datos, en este artículo consideramos las ventajas de integrar datos en una organización que ya realizado una inversión en IBM i(AS400), y quieren sacar provecho de esta inversión mientras se exploran formas de dejar los datos disponibles para los usuarios con el menor impacto financiero posible.
Como una base de datos SQL, IBM Db2 sobre sistemas i tiene mucho en común con otras bases de datos SQL, como el lenguaje SQL query y la estructura relacional. Se ha convertido en una muy confiable “bestia de carga” para trabajos pesados, soportando el estrés de un sistema en producción, utilizándose mucho en operaciones 7x24. Sin embargo en condiciones actuales del negocio, las áreas de IT se han visto enfrentado a que los ambientes IBM i no siempre son capaces de satisfacer todas sus necesidades en reducción de costos y acceso versátil a los datos.
Administradores de bases de datos de IBM i con amplia experiencia en la operación del sistema operativo de IBM i, son costosos, contantemente sobrecargados con tareas administrativas y muy difícil de encontrar y en algunos casos excediendo los ajustados presupuestos del área de IT. Además, como nuevos departamentos y grupos de usuarios requiriendo accesos a los datos generados por los sistemas IBM, el IBM i no puede administrar exitosamente este trabajo como repositorio de datos y, al mismo tiempo responder a múltiples consultas sin un impacto en el rendimiento del servidor donde se encuentran los datos procesados.
La flexibilidad de un bajo costo
La solución a este problema es utilizar una replicación de datos en tiempo real para crear y mantener réplicas exactas de los datos corporativos (grupos de tablas o bases de datos completas). Esta alternativa proporciona un excelente alternativa para que los usuarios corporativos puedan acceder a la misma información, sin impactar los sistemas IBM en producción.
Con los avances en tecnología del software de código abierto (Open Source), las empresas ya han realizado inversiones en sistemas que aprovechen el bajo costo y ubicuidad de las soluciones de código abierto. Mientras algunas de las soluciones open source no requieren de infraestructura y soporte como algunos productos ofrecidos por grandes marcas, una serie de productos sobresalen por su habilidad de hacer negocios con los líderes del mercado, proveyendo tecnología, así como una gran cantidad de opciones que ayudaran a una amplia gama de usuarios – desde personas naturales a grandes compañías internacionales.
Figura 1: La solución de replicación de Syniti provee un completo enfoque para integración de datos entre IBM DB2 para sistemas i y MySQL. Las compañías pueden reducir costos y tiempo en administrar ambientes de bases de datos heterogéneos, mientras destinan sus inversiones en mejorar sus sistemas de bases de datos y hardware.
Una de estas tecnologías de código abierto es la base de datos relacional MySQL de Oracle. Con la oferta de MySQL Community Server, MySQL toma su principal sistema de bases de datos empresarial y añade una serie de componentes adicionales para el área de IT, como el servicio, soporte técnico y complementos extensibles que le dan lugar como un real actor en el mercado de las bases de datos comerciales.
Hoy en día, vemos muy a menudo a MySQL en ambientes donde los proyectos de IT requieren de prototipos y pruebas con las bases de datos – la garantía de ser un código abierto lo convierte en una base de datos de prueba ideal y rentable donde se pueden replicar las actividades de una base de datos comercial. Sin embargo, esto es una gran característica en MySQL como una base de datos corporativa que reside en paralelo con sistemas comerciales como Oracle, Microsoft SQL Server, e IBM Db2 sobre sistemas i, Linux, UNIX, Windows y Mainframe.
Componentes de la arquitectura mencionada anteriormente:
IBM Db2 para sistemas i (AS/400)
La base de datos nativa en IBM i
MySQL Community Server
Oracle comercializa este sistema empresarial de base de datos
Syniti Data Replication
Producto para replicación de datos bidireccional entre Db2 para sistemas i y MySQL (incluye los productos de conectividad de Syniti)
Syniti Ritmo Driver para IBM i
Proveedor para acceso de datos Db2 en sistemas i con aplicaciones .NET
MySQL Community Server rápidamente se ha convertido en una atractiva alternativa para la disminución de los costos y aliviar eficientemente el estrés de las bases de datos de producción a través de un sistema de replicaciones que permite sincronizar los datos entre las bases de datos IBM Db2 y una copia en MySQL. En este sentido, la conexión a los sistemas IBM es significantemente mínima, ya que MySQL ofrece actualizar los datos en forma efectiva y económicamente viable – una alternativa inteligente para empresas que dependen del acceso a datos operacionales y analíticos para reportes y gestión.
Beneficios claves para un escenario de replicación con IBM i y MySQL
- Rápidos análisis
- Reduce el estrés en las bases de datos de producción
- Simplicidad, adaptable y facilidad de utilización
- Bajo costo del proyecto, con la adopción de una base de datos de código abierto y una económica tecnología para replicación de datos
Enfoques en la integración de datos entre IBM Db2 para sistemas i y MySQL
PROGRAMACIÓN CON LAS HERRAMIENTAS DE LA BASE DE DATOS
La programación en la base de datos tiene las siguientes limitaciones:
- Requiere de una gran inversión de tiempo y personal IT especializado para crear una solución personalizada para integración, que luego será costosa de mantener.
- La solución es típicamente desarrollada para resolver un problema específico y carece de flexibilidad y escalabilidad.
- La solución usualmente abrirá una conexión independiente a la base de datos de origen cada vez que requiera extraer datos, causando potenciales bajas en el rendimiento y cuellos de botella en los sistemas IBM i.
- Con el paso del tiempo, la mantención y actualización de la aplicación puede ser costosos para los desarrolladores en la base de datos
SERVICIOS DE REPLICACION EN MYSQL
MySQL soporta migraciones desde cualquier base de datos a MySQL, a través del uso de un conector JDBC. Sin embargo, esta opción no admite criterios claves en la integración de datos:
- Las replicaciones transaccionales desde IBM Db2 a MySQL no están soportadas. Las replicaciones transaccionales son usadas para permitir la lectura del journal de IBM, permitiendo capturar los cambios generados en los datos lo que se reduce en bajo impacto en el rendimiento y un menor tiempo de replicación.
- MySQL ofrece solo replicaciones snapshot, la cual requiere realizar una copia completa cada vez que se detecta un cambio.
- No permite realizar una sincronización de los datos en tiempo real.
- Para realizar la replicación de datos heterogéneos, MySQL recomienda la utilización de Syniti Data Replication como producto de replicación de datos en escenarios donde se encuentran envueltas otras bases de datos ajenas a MySQL.
UTILIZANDO UNA SOLUCIÓN EXTERNA
Las ventajas de utilizar un producto como Syniti Data Replication para replicar datos entre IBM i y MySQL son:
- Syniti Data Replication realiza un seguimiento de los cambios en las bases de datos leyendo el journal de IBM i para identificar las operaciones de INSERT, UPDATE y DELETE. Los cambios son propagados a la base de datos MySQL basado en una calendarización determinada por el usuario (incluyendo tiempo real), mejorando significativamente la velocidad de la replicación.
- El proceso de configuración y ejecución de las replicaciones es flexible y puede ser usado con diferentes bases de datos – no solamente con IBM Db2 y MySQL.
- Syniti Data Replication provee sincronización bidireccional en tiempo real entre las principales bases de datos del mercado.
- Producto completamente no invasivo en los sistemas de bases de datos.
- No se pierden datos ni existen interrupciones en el proceso de replicación.
- Una interfaz grafica e intuitiva provee una fácil configuración de la replicación, sin ningún tipo de programación requerida.
Descubra como Osborne, en España logra integración en tiempo real con IBM i
MySQL como una alternativa de bajo costo para IBM DB2
Las empresas pueden reducir los costos de su infraestructura de bases de datos utilizando MySQL en un escenario de replicación de datos con IBM Db2 para i.
- Como una base de datos de código abierto, MySQL Community Server elimina los costos de licenciamiento, además ahorra la inversión de actualizar el sistema IBM i.
- Un sistema IBM i requiere de un alta administración y entrenamiento, mientras que con MySQL, usted puede ejecutarlo en un sistema operativo como UNIX, Linux y Windows, ya que no requiere de conocimiento especializado en administración de bases de datos.
- El desarrollo de aplicaciones es fácil de realizar en el sistema operativo soportado por MySQL. Para los desarrolladores es muy fácil utilizar lenguajes como C#, Ruby, Groovy, AJAX y Java ofreciendo rápidos conectores para el acceso a los datos.
MySQL ofrece una excepcional capacidad con la ventaja de optimizar el tiempo desde la descarga desde la web hasta la instalación del software, completando todo en menos de quince minutos. Esta regla dependerá de la plataforma donde haya sido instalada Microsoft Windows, Linux, Macintosh, o UNIX. Una vez instalado, las características de auto‐administración como expansión automática de espacio en disco, re‐inicio, y cambios dinámicos en la configuración realizan gran parte del trabajo de los administradores de bases de datos. MySQL también provee un completo conjunto de herramientas gráficas para administración y migración que permite a los DBA administrar, solucionar problemas y controlar la operación de varios servidores MySQL desde una sola estación de trabajo.
Aunque MySQL se ofrece como software de código abierto, esta cuenta con soporte continuo a través de la red de MySQL.
Con el bajo costo en hardware, rentabilidad y fácil mantención de MySQL, los administradores de bases de datos no necesitan perder tiempo en solucionar problemas de rendimiento o inactividad, pudiendo concentrarse en obtener un impacto positivo en las tareas de alto nivel que involucren los datos del negocio.
Solución para replicación de datos Syniti Data Replication (DBMoto)
IDEAL PARA REPLICAR DATOS DESDE IBM DB2 PARA SISTEMAS i A MYSQL
Syniti Data Replication es el primer producto de replicación específicamente diseñado para soportar en forma nativa IBM DB2 sobre sistemas i. Syniti Data Replication supera las replicaciones programadas por replicaciones de datos en tiempo real, creando así una canal eficaz y actualizado minuto a minuto entre los datos corporativos y las aplicaciones empresariales. Con Syniti Data Replication, las modificaciones de datos en el IBM i son instantáneamente reflejadas en MySQL. Syniti Data Replication es altamente flexible y puede ser personalizado para su propio ambiente. Adicionalmente, la interfaz gráfica e intuitiva hace muy fácil crear reglas de replicación y calendarizarlas en minutos.
Journals y Logs
El journal de DB2 es una herramienta nativa para identificar cambios generados en las bases de datos DB2. Cada operación de INSERT, UPDATE y DELETE es grabada en el journal. Utilizando la experimentada tecnología de conectividad para DB2 de Syniti, SDR entrega un eficiente acceso y lectura de los journals para capturar los cambios en los datos.
Syniti Data Replication lee en forma nativa el log de transacciones de MySQL, para replicaciones entre bases de datos IBM DB2 sobre sistemas i y MySQL.
Características de Syniti Data Replication
- Replicación Snapshot (Refresh)
Todos los registros son escaneados y replicados.
- Incremental en tiempo real (Mirroring)
Todos los cambios en el journal de Db2 (transaction log) son capturados y replicados desde el origen al destino.
- Sincronización
Replicación incremental en tiempo real y en forma bidireccional, ambas bases de datos son de origen y destino.
- Fácil de usar
El proceso de replicación es configurado utilizando asistentes gráficos. Las replicaciones pueden ser calendarizadas, ejecutadas y monitoreadas usando la interfaz gráfica Syniti Management Center.
- Beneficios con IBM i
Independiente del IBM i – no requiere programación sobre el servidor IBM y este no necesita un nombre propietario o campos reservados en Db2.
- Accesible
La consola Management Center de Syniti puede ser operada desde un sistema remoto desde la base de datos de origen y destino para facilitar la configuración y administración de las replicaciones.
- Personalizado
Utilizando la tecnología de Microsoft VB.NET y los eventos de replicación generados por Syniti Data Replication, usted puede escribir scripts, o insertar scripts pre-escritos para personalizar el proceso de replicación.
- Flexible
Adicionalmente a Db2 y MySQL, Syniti Data Replication puede ser utilizado para replicaciones entre las principales bases de datos del mercado.
- Económico
- Replicación Snapshot (Refresh)
- Incremental en tiempo real (Mirroring)
- Sincronización
- Fácil de usar
- Beneficios con IBM i
- Accesible
- Personalizado
- Flexible
- Económico
Replicacion Incremental
La replicación en tiempo real e incremental de Syniti Data Replication examina el journal de Db2 (o el log de transacción de MySQL) para detectar cambios en las bases de datos desde la última replicación, para luego mover solos los datos con cambios a la base de datos de destino. El intervalo entre cada lectura de log es comúnmente de un minuto, pero este periodo puede ser ajustado por el usuario.
Replicando solo los registros modificados permite:
- Replicar en tiempo real, ya que al procesar solo los cambios se requiere menos tiempo
- Mínima carga de trabajo en los servidores IBM y MySQL
Selecionando datos para Replicar
- La replicación, Snapshot o incremental, se puede aplicar a una tabla completa o parte de ella, el usuario puede definir esto. Para cada replicación, los datos son seleccionados en el asistente por:
- Mapeo de las columnas a replicar
- Filtrado de datos usando expresiones
- Escritura de scripts para filtrar o modificar datos durante la replicación
- Ejemplos de mapeo de columnas:
- Columnas de Código y Descripción
- Solo por columnas de Identificación, teléfono y fax
- Solo columnas de Código, Password y Correo electrónico
- Ejemplos cirterios de filtrado:
- Timestamp
- Solo clientes con servicio en línea
- Solo distribuidores europeos
- Mapeo de las columnas a replicar
- Filtrado de datos usando expresiones
- Escritura de scripts para filtrar o modificar datos durante la replicación
- Columnas de Código y Descripción
- Solo por columnas de Identificación, teléfono y fax
- Solo columnas de Código, Password y Correo electrónico
- Timestamp
- Solo clientes con servicio en línea
- Solo distribuidores europeos
Accesible, Personalizado y Flexible
Ambiente de Scripting
Syniti Data Replication es el único producto de replicación en tiempo real que provee un ambiente de scripts pre compilado para obtener un alto rendimiento. Los usuarios pueden definir funciones, procedimientos y variables desde un ambiente gráfico. Las funciones pueden ser usadas en las siguientes tres formas:
- Expersiones de Mapeo
- Reglas de Mapeo
- Eventos de Replicación
Mientras captura los cambios en los datos y aplica el mapeo por defecto, Syniti Data Replication provee eventos de script que pueden ser utilizados para administrar complejas transformaciones y reglas de mapeo. Syniti Data Replication cuenta con funciones incorporadas como la habilidad de crear funciones personalizadas y definidas por el usuario para administrar los datos según su necesidad.