WhatsApp Facebook Twitter LinkedIn Mail

Migración de datos

Índice:

  1. ¿Qué es una migración de datos
  2. Fases de ETL
    1. Extracción
    2. Transformación
    3. Carga
    4. Al momento de migrar
  3. Tipos de migraciones
  4. Problemas comunes en una migración

¿En qué consiste una migración de datos?

Una migración de datos (data migration) es el proceso por el cual se traspasan los datos de un sistema a otro. Las empresas realizan migraciones de datos por distintos motivos, como: cuando se cambia de software o se implementa uno nuevo; cuando se actualizan las bases de datos; o cuando se establece un nuevo almacén de datos. Así, se consigue que los datos del antiguo programa se encuentren en el nuevo para poder seguir operando como si no hubiera sucedido ningún cambio ni teniendo que empezar de cero.

Según un estudio de Gartner de 2020, el 83% de las migraciones de datos fallan o se exceden en el tiempo.

Al migrar datos hay que prestar mucha atención porque es un proceso bastante delicado. La empresa debe asegurarse de tener todos los datos necesarios en el nuevo sistema y en un formato usable. Si la migración de los datos se hace exitosamente, se puede ahorrar dinero y tiempo en la implementación del nuevo software. La Guía ERP explica cómo proceder en una migración para ahorrar dinero y tiempo al implementar.

Las fases del proceso de ETL

Para realizar la migración hace falta preparar los datos para hacer un proceso de ETL (Extract, Transform and Load; extracción, transformación y carga). Como indican las siglas, el proceso de ETL consiste en extraer los datos de las fuentes originales para transformarlos y adecuarlos para que se puedan cargar bien en el nuevo sistema donde se van a almacenar.

procedimiento migracion etl extract transform load

Las diferentes fases del proceso ETL aseguran que la totalidad de los datos a migrar lleguen a su punto final de forma correcta. Cada fase se ocupa de una tarea:

Extracción (Extract)

Se extraen los datos de las fuentes (tanto los datos estructurados como los desestructurados). Estos datos pueden proceder de: bases de datos existentes y sistemas legales; entornos en la nube, híbridos y on-premise; softwares; almacenes de datos; y/o herramientas analíticas (por ejemplo, sistemas de BI).

Transformación (Transform)

La fase de transformación ayuda a mejorar la integridad de los datos y a asegurar que los datos llegarán a su nuevo destino en un formato compatible y listo para usar. Por eso, esta fase esta compuesta por subprocesos como:

  • limpieza de datos, identificando y solucionando las anomalías, inconsistencias y los valores faltantes;
  • estandarización de los datos aplicando normativas (legales y de la propia empresa) al conjunto de datos, tanto de formateo como otras adicionales u opcionales para la mejora de la calidad de los datos;
  • eliminación de duplicados;
  • clasificación de los datos según las categorías establecidas por la empresa;
  • otros subprocesos: dependiendo de los requerimientos del nuevo sistema y/o de la empresa se puede necesitar llevar a cabo otros subprocesos, por ejemplo: dividiendo una columna en varias, enlazando datos de diferentes fuentes, filtrando al seleccionar determinadas filas y columnas, etc.

Carga (Load)

La carga es la fase final del proceso de ETL. Se encarga de cargar los nuevos datos transformados en el nuevo destino. Los datos pueden ser cargados de las siguiente formas:

  • Carga completa (Full load): este tipo de carga consiste en pasar de una vez toda la información transformada al nuevo sistema. No obstante, si surgiera algún problema con los datos transformados, la cantidad de fallos de migración crecería enormemente en cuestión de segundos. Por ejemplo, si la transformación del modelado de datos no se hubiera hecho correctamente y no fueran compatibles con el nuevo sistema. Por ello, es importante realizar muchas pruebas (en un entorno de pruebas, también conocido como sandbox, o directamente con pequeñas cargas simbólicas para ver cómo funciona en el nuevo sistema).

    Este tipo de carga suele ir de la mano de la metodología de migración de datos conocida como “Big Bang” migration (migración Big Bang). Esta metodología consiste en transferir todos los datos en un periodo concreto de tiempo. Al realizar la carga toda de una vez, se reduce bastante el tiempo de migración. La desventaja de esta metodología es que la empresa opera sin uno de sus recursos durante todo el tiempo que dure la carga.

  • Carga incremental (Incremental loading): la carga incremental consiste en cargar los datos comparándolos con los datos que ya están disponibles en el nuevo sistema para evitar duplicidades. No obstante, este tipo de carga toma más tiempo, ya que no se hace de una vez, sino que va cargando los datos según las fases planificadas. El tiempo de carga emplearía aún más tiempo si no se hace una buena limpieza de datos durante las fases anteriores para evitar tener datos incoherentes o incompletos.

    Este tipo de carga suele realizarse con la metodología de migración de datos conocida como Trickle migration (migración por goteo, traducción propia). Esta metodología consiste en completar el proceso de migración por fases, haciendo que el sistema antiguo y el nuevo operen en paralelo. Esta forma de proceder elimina los tiempos de inactividad (downtime) ya que se puede seguir operando durante la migración, pero también hace que la duración de la migración sea mucho más larga. Además, el diseño de este tipo de migraciones es complejo. Si no se estructuran bien las fases, puede perjudicar enormemente a la hora de completar la migración, ya que puede que no se cargue toda la información que se deseaba o que no se encuentre en el formato correcto.

Al momento de migrar

Todas las fases del proceso de ETL se pueden realizar de forma manual. No obstante, esto conlleva mucho trabajo de código a mano, y son frecuentes los errores humanos. Por eso, las empresas suelen hacer uso de herramientas de ETL. Estas herramientas son ofrecidas por algunos proveedores de software (si la migración de los datos la quiere realizar la propia empresa). Incluso esos mismos proveedores usan esas herramientas cuando hacen la migración de datos cuando implementan un nuevo sistema.

Cuando la migración la realiza el proveedor es importante tener una persona dentro de la organización, normalmente el CIO, para que les comente cómo se desea que se haga la migración. Otra labor que tendrá el responsable de la organización será la de supervisar la labor de migración de los proveedores atendiendo:

  • Que se estén migrando las categorías establecidas por la organización de los datos y que se encuentren todos.
  • Que el proveedor no se esté dejando ninguna configuración atrás, por ejemplo, perfiles de clientes. Un problema muy frecuente en las migraciones es la pérdida de las fechas originales del histórico, ya que se muestra únicamente la fecha de la migración como fecha común de todos los datos migrados a la misma vez.

problema historico migracion

¿Qué tipos de migraciones de datos hay?

Dependiendo de la modalidad de migración de datos que se vaya a realizar, el procedimiento que deberá llevar una empresa variará. Los tipos de migraciones que hay son:

    • Migración de almacenamiento (Storage migration): consiste en transferir los datos desde un almacenamiento a otro, ya sea hardware de la propia empresa (como un disco duro, puerto USB, servidor local, etc.) o en la nube.
    • Migración de bases de datos (Database migration): este tipo de migración se puede dar porque se cambie de proveedor de sistema de base de datos (por ejemplo, de MySQL de Oracle a SAP HANA) o porque se actualice el software de la base de datos. Al migrar de base de datos, hay que prestar especial atención cuando se modifican los datos originales, ya que puede afectar al lenguaje de los datos o protocolos.
Atención: la elección del sistema de base de datos para una empresa es muy importante. Esto se debe a que, aunque pueden tener un lenguaje similar, siempre tienen particularidades que afectan a la forma de usarla y, por tanto, a la estructuración de los datos. En la Guía ERP se encuentra una comparación en detalle de las bases de datos más conocidas del mercado.
  • Migración de aplicaciones (Application Migration): esta migración se realiza cuando se va a cambiar de una aplicación a otra. Por ejemplo, cuando una empresa cambia del sistema ERP de SAP Business One a Microsoft Dynamics 365. Cuando se trata de una nueva aplicación del mismo fabricante, no siempre hay que migrar. Sólo será necesario cuando el data model (modelo de datos) de la nueva aplicación es diferente al data model de la aplicación anterior. Por ejemplo, una empresa debe realizar una migración de datos de aplicaciones cuando cambia de SAP R/3 (SAP Business All-in-One) a SAP S/4 HANA.
  • Migración de procesos empresariales (BPM Migration): este es el tipo de migración más compleja. Ya que consiste en la migración de los datos desde cualquier sistema empresarial, aplicación y/o base de datos con información sobre los procesos, clientes, productos y operaciones a otra empresa, aplicación y/o base de datos. Generalmente, la migración de procesos empresariales se lleva a cabo usando herramientas de BPM (Business Process Management). Además, este tipo de migración suelen darse cuando hay una fusión de empresas o cuando una empresa es adquirida por otra.

¿Cuáles son los principales problemas que surgen al migrar datos?

Si no se tiene un plan serio para la migración de datos, los procesos de migración pueden complicarse y llevarse más presupuesto del establecido o que las operaciones no funcionen bien del todo en el nuevo sistema.

A la hora de hacer la migración de un sistema a otro, hay muchas personas que piensan que es tan simple como “cortar y pegar”. Sin embargo, esta tarea no es para nada así, es vital no subestimar el proceso de migración. Por ello, es importante realizar un estudio previo del estado de tu sistema legado y de los requisitos del nuevo sistema de destino.

Los principales fallos que cometen las empresas a la hora de hacer una migración de datos son:

  1. No hacer copias de seguridad de todos los datos que se van a migrar: antes de realizar una migración es importante tener copias de seguridad válidas y lo más recientes posible. Este paso es muy importante ya que, podrían perderse todos los datos si surgiera algún incidente (como que se vaya la luz o se corta el servicio del internet durante la migración). En el siguiente vídeo, Ismael Yuste García, técnico de innovación, mejora y modernización del Ayuntamiento de Canet d’en Berenguer nos informa de la importancia de tener unas copias de seguridad válidas:

  2. No asegurarse de que todo funcione en el nuevo sistema antes de eliminar el anterior: es muy importante hacer muchas pruebas para estar seguros de que todo funciona como debería dentro del nuevo sistema. Un truco para asegurarse de que todos los datos se encuentran en el sistema de destino es buscar el dato más antiguo del sistema y el más nuevo. Si el dato más antiguo y el más nuevo están en el sistema, normalmente eso significa que todos los datos deberían estar en el programa de destino. También sería útil comprobar por categorías de datos. Cuando el sistema nuevo es de un tamaño considerable, también se pueden hacer pruebas automatizadas para ahorrar tiempo y asegurarse de que todo funciona debidamente.
  3. No asegurarse de que los datos cumplen con los requisitos del nuevo sistema: es necesario ver si los datos son compatibles y adaptarlos al nuevo sistema. Cuanto más parecido sea el data model del sistema antiguo y del nuevo, más fácil será. Si el modelo de datos es el mismo (por ejemplo, cuando se pasa de una versión a la siguiente de un sistema, no se necesita una (gran) transformación de los datos. En este caso, se puede migrar usando el sistema simplificada FTP (File Transfer Protocol, Protocolo de Transferencia de Datos). Las herramientas de ETL se utilizan cuando el nuevo sistema tiene una estructura diferente y necesita que se transformen los datos para que el sistema de destino pueda operar con ellos.
  4. No calcular (ni planificar) bien los tiempos de inactividad (downtime): los tiempos de inactividad son aquellos tiempos en los que el sistema no podrá operar como es debido. Es muy importante calcular la duración que va a durar la migración para así saber cuándo se va a publicar un contenido. La duración de la migración dependerá de la cantidad de los datos, de los requisitos del nuevo sistema y la transformación que necesiten los datos. Cuando la migración se hace desde un sistema que está en la nube y/o hacia un sistema que esté en la nube, también influirá de gran forma la velocidad de internet. Cuanto más rápido sea el internet, menor tiempo tomará la transferencia.

    Por ejemplo, una migración de un servidor cloud de correo electrónico de una empresa a otro servidor cloud puede tardar unas 2 horas. En cambio, si la migración se realiza de un servidor de una intranet, la migración puede durar de 2 a 48 horas. Teniendo estos datos en cuenta, ya se sabe si es posible que se vaya a tardar 2 días, es mejor escoger los días de menor actividad para realizarla. A la hora de planificar el momento de downtime, una empresa que trabaje de lunes a viernes seguramente escoja el fin de semana para hacer la migración. En cambio, si se trata de una migración de un e-commerce, la mayoría de la actividad sucede durante el fin de semana. Por ello, sería más conveniente que migrara durante la semana.

Atención: una vez que comienza la migración, se pierde la consistencia de los datos. Eso quiere decir que cualquier cambio que se haga durante la migración, se perderá por el camino. Hay 2 opciones para tener los cambios realizados durante la migración en el sistema de destino. La primera opción es la de volver a realizar todos los cambios una vez que termine la migración. La segunda es volver a comenzar la migración cada vez que se haga un cambio.

¿Quiere usar este artículo como fuente? Haga clic para copiar.

European Knowledge Center for Information Technology (Ed.). (2021, 2 febrero). Migración de datos. TIC Portal. https://www.ticportal.es/glosario-tic/migracion-datos