Migración de datos: definición, desafíos y mejores prácticas para afrontarla

 

Llamamos migración de datos al proceso que necesitamos hacer para transferir los datos de un sistema a otro mientras cambiamos el sistema de almacenamiento donde se encuentran los datos, o bien mientras se practican las modificaciones necesarias en la base de datos o la aplicación que los gestiona.

 

datamigration

 

 

 

1. Definición de migración de datos

Una definición algo más completa es ésta: la migración de datos es el proceso mediante el cual realizamos una transferencia de datos de unos sistemas de almacenamiento de datos a otros, de unos formatos de datos a otros o entre diferentes sistemas informáticos.

Habitualmente, un proyecto de migración de datos se lleva a cabo para reemplazar o actualizar servidores o equipos de almacenamiento, para una consolidación de un sitio web, para llevar a cabo el mantenimiento de un servidor o para reubicar un centro de datos.

¿Cuáles son las mejores prácticas para un proyecto de migración de datos? GUÍA  GRATUITA

Dependiendo del tipo de iniciativa que se quiera llevar a cabo, es necesario un planteamiento distinto. Así, podría hablarse de tres formas diferentes de abordar el data migration:

  1. Usando un software basado en matriz, que es la mejor opción para el movimiento de datos entre sistemas similares.
  2. Apoyándose en un software basado en el host: que sería la opción más recomendable para las migraciones específicas de la aplicación. Es el caso de la copia de archivos, las actualizaciones de la plataforma o la replicación de la base de datos.
  3. Empleando los dispositivos de red. De esta manera, se migran volúmenes, archivos o bloques de datos del modo más apropiado, en función de su configuración.

Hay algunos factores que se deben considerar en un proyecto de migración de datos:

  • Tiempo que llevará realizar la migración completa.
  • Cantidad de tiempo de inactividad que se requerirá.
  • Riesgo para el negocio derivado de problemas técnicos de compatibilidad, corrupción de datos, problemas de rendimiento de aplicaciones y pérdida u omisión de datos.

Para minimizar el riesgo inherente al movimiento de datos, es preciso:

  1. Entender qué datos se está migrando, de qué tipo son, cuál es su origen y qué formato adquirirán en destino, una vez completado el traslado.
  2. Aplicar los procesos ETL (extracción, transformación y carga) preferiblemente antes de proceder a la migración.
  3. Definir e implementar políticas de migración de datos para garantizar el orden necesario a lo largo de todo el proceso.
  4. Apostar por las pruebas y validación de los datos migrados, por ser la única manera efectiva de asegurarse de que reúnen todos los atributos de calidad necesarios.

 

2. Desafíos de la migración de datos

El éxito en un proyecto de migración de datos dependerá en gran medida del nivel de comprensión que se llegue a alcanzar acerca del proceso y sus implicaciones. Conocer los retos que implica una iniciativa de este tipo es el primer paso. Entre los más importantes se encuentran los siguientes:

  1. Migración de almacenamiento: en un proyecto de este tipo no debería existir problema, siempre y cuando la aplicación sólo utilice interfaces generales para acceder a los datos. En la mayoría de los sistemas esto no es ningún inconveniente, aunque, cuando se trate de aplicaciones antiguas que se ejecutan en sistemas propietarios, sí podría serlo. En ese caso, la iniciativa se complicaría y sería preciso llevar a cabo las pruebas necesarias antes de liberar la solución en producción. Principalmente por dos motivos:

    • El código fuente de la aplicación puede no estar disponible.  
    • Podría darse el caso de que el proveedor de la aplicación no continuase activo en el mercado.  
  2. Migración de la base de datos: se trata de una de las formas más sencillas de movimiento de datos, siempre y cuando la database se utilice como almacenamiento. Sin embargo, a pesar de la aparente simplicidad del proceso, pueden surgir contratiempos relacionados con: 
    • Tipos de datos no coincidentes (fecha, número, sub-registros): en este caso habría que trabajar por mantener la integridad de los datos, pudiendo ser preciso el orientar la gestión a la modificación de algunas de las aplicaciones que utilizan la base de datos.
    • Diferentes conjuntos de caracteres (codificaciones distintas en cada columna para una misma tabla): cuando esto suceda habrá que revisar a fondo las aplicaciones que u
      tilizan la base de datos.

    Las herramientas ETL son muy adecuadas para la tarea de migrar datos de una base de datos a otra, estando su uso aún más indicado en proyectos en que existen pocas conexiones entre origen y destino.

    En los casos en que, además de ejercer la función de almacenamiento de datos, la base de datos represente también la lógica empresarial en forma de procedimientos almacenados y disparadores, realizar un estudio de viabilidad de la migración a la base de datos de destino, podría ser la acción más indicada. De esta forma, si se demostrase que la base de destino no admite algunas de las características, todavía se estaría a tiempo de implementar cambios en las aplicaciones o en el software middleware.

  3. Migración de aplicaciones: al enfrentarse a una iniciativa de este tipo es imperativo el recurrir a un proceso ETL completo. Esto es así debido a que, incluso cuando las aplicaciones están diseñadas por el mismo proveedor, almacenan datos en formatos y estructuras significativamente diferentes. Esta particularidad complica la transferencia de datos. El paso de transformación, por ejemplo, es uno de los principales inconvenientes y, aunque apoyarse en una herramienta ETL otorga la ventaja de su conectividad, que la hace estar lista para usar con fuentes y destinos de datos dispares; las dificultades pueden aparecer al migrar datos de sistemas mainframe o aplicaciones usando determinadas formas de almacenamiento de datos, ya que:

    •  Los sistemas mainframe utilizan formatos basados en registros para almacenar datos que, aunque son sencillos de gestionar suelen incorporar optimizaciones.
    •  Las optimizaciones incluyen almacenamiento de números decimales codificados binarios, almacenamiento no estándar de valores de números positivos / negativos o almacenamiento de los subíndices mutuamente excluyentes dentro de un registro. Es decir, aspectos que complican la migración de datos.

    La forma de proceder sería llevando a cabo la extracción en el propio sistema fuente; para después convertir los datos en un formato imprimible que se pudiese analizar más tarde utilizando herramientas estándar.

  4. Codificación de caracteres: en este caso, la complejidad radica en el hecho de que la mayoría de los sistemas desarrollados en la plataforma basada en el PC utilizan codificación ASCII. Sin embargo, los sistemas mainframe se basan principalmente en la codificación EBCDIC que es incompatible con ASCII y la conversión es necesaria para mostrar los datos. Para poder superar este desafío hay que tener previsto al elegir herramientas ETL que éstas deben soportar las conversiones entre conjuntos de caracteres, incluyendo EBCDIC.

New Call-to-action


3. Mejores prácticas en migración de datos

La migración de datos tiene muchas implicaciones y ello puede hacer que termine resultando un proceso complicado. Para completarlo con éxito, además de conocer sus principales riesgos, es importante aplicar algunas mejores prácticas, como las recomendadas:

  1. Adquirir una visión global: antes de migrar los datos al nuevo destino es importante ganar en comprensión del mapeo y entender cómo se correlacionan los servidores con el almacenamiento para poder volver a crear esas asignaciones en el nuevo entorno y prevenir problemas relacionados con el reinicio tras la migración.
  2. Tomar medidas: recopilar métricas para tener claras cuáles serán las necesidades de ancho de banda de la red es una tarea que debe programarse de forma previa al data migration. Tomar medidas facilitará la labor de calcular cuánto ancho de banda debe ser asignado a la migración y cuándo estará disponible.
  3. Reducir la presión sobre el proyecto: aunque es posible llevar a cabo una migración de datos sin causar interrupciones o provocar la inactividad de determinadas aplicaciones, no suele ser lo habitual. Para minimizar riesgos es conveniente planear la iniciativa durante un periodo de inactividad, lejos de las horas de producción habituales. De esta forma, además de rebajar la tensión asociada a la aparición de latencias, se aumentan las posibilidades de lograr una mayor consistencia en los datos.
  4. Mantenerse alerta en cuestiones de seguridad de la información: una migración de datos es un momento de vulnerabilidad que debe mantenerse bajo control. Permisos, aplicaciones, diferentes sistemas, distintos proveedores y configuraciones de seguridad diversas forman un cóctel que puede terminar facilitando la aparición de una brecha de seguridad. Para evitarla hace falta ser cauteloso y elaborar una hoja de ruta previa que ayude a garantizar la protección de los datos en todo momento.
  5. Prestar atención al software: los detalles son importantes y eso queda patente, por ejemplo, en algo tan simple como los diferentes niveles de parche que pueden estar aplicados al software en los entornos de origen y destino. Pasar por alto esa circunstancia podría acarrear fallos en el servidor al completar el proyecto. Lo mismo sucedería en los casos en que hubiese sido necesario desinstalar el software antiguo y sustituirlo por el del nuevo proveedor, como ocurre en la migración de datos entre matrices de almacenamiento; porque este procedimiento podría causar inestabilidad si la desinstalación no se completa debidamente y alguno de los componentes antiguos entrase en conflicto con otras aplicaciones.
  6. Minimizar la incertidumbre: a pesar de que la incertidumbre es un factor inevitablemente asociado a cualquier tipo de proyecto, su presencia se reduce de forma considerable cuando aumenta el conocimiento sobre la iniciativa. Tomarse el tiempo necesario para informarse acerca de lo que implica la migración de datos y la forma en que se abordará el proceso es la manera más efectiva de reducir riesgos que pueden comprometer el tiempo de actividad de la aplicación, la fiabilidad o la seguridad.¿Tienes dudas? Contacta con uno de nuestros expertos en Migración de Datos

4. Consejos, errores a evitar y tipos de herramientas recomendadas

En un proyecto de migración de datos de éxito todos los participantes asumirán que se trata de una iniciativa que requiere de un tiempo, del cual un elevado porcentaje corresponde a la preparación previa y la comprobación posterior. Cumplir con las expectativas planteadas al definir el proceso tiene también mucho que ver con aplicar las mejores prácticas mencionadas y ser consciente de los principales desafíos a los que habrá que hacer frente.

Durante la aplicación de las diferentes técnicas que intervienen en el procedimiento de data migration, hay que estar alerta para evitar cometer algunos errores, demasiado comunes, como:

  • No automatizar. Los procesos manuales son sinónimo de errores humanos y pérdida de tiempo. La eficiencia se pierde.
  • Centrarse en el presupuesto y recortar de donde no se debería escatimar en gastos, como por ejemplo, en la automatización de procesos.
  • Creer que se puede copiar un entorno tal cual. Una idea errónea que sólo conduce a problemas y pérdida de rendimiento.
  • Correr riesgos. Cuando no se actúa con cautela se terminan sufriendo problemas de todo tipo, interrupciones e incluso amenazas de seguridad.

Al ocuparse de la planificación de un proyecto de migración de datos hay que tener presente que:

  1. Conviene que los procesos automatizados predominen sobre los manuales. Es una cuestión de rapidez, pero también se trata de un tema relacionado con la calidad de los datos. Para conseguirlo es preciso buscar herramientas de migración de datos que permitan acelerar la capacidad para practicar el traslado minimizando la intervención humana.
  2. Los malos hábitos deben quedar atrás. Para lograr la eficiencia deseada hay que trabajar por cambiar a mejor, empezando por el modo de plantear el aprovechamiento en ese nuevo espacio de almacenamiento.
  3. Es importante tener una visión general de la operación. La vista de extremo a extremo permite dejarlo todo cubierto, sin que haya sorpresas. Esa consciencia debe abarcarlo todo, desde la infraestructura y el software, hasta los flujos de información y los entornos.


Y, respecto al tema del entorno, existen un par de requisitos del entorno de almacenamiento para una migración de datos que deben ser tenidos en cuenta:

  1. Cambio de proveedor. El data migration puede implicar un cambio de proveedor. Para llevar a cabo un proyecto de este tipo no vale cualquier herramienta, sino que es necesario disponer de herramientas heterogéneas.
  2. Optimización del entorno. Cuando se hace el traslado a un entorno mayor, más dinámico y totalmente virtualizado se está cambiando a mejor. Sin embargo, aunque la mejora es obvia a todos los niveles, hay que entender que ese esfuerzo se verá reflejado en la migración, que requerirá de una planificación más cuidada, de más tiempo y del uso de herramientas más complejas.

Por último, no puede pasarse por alto la importancia de la elección de herramientas de migración de datos. Ha habido muchos avances en el campo, en especial en lo que concierne a la automatización del descubrimiento. Para aprovechar esas novedades y las ventajas que brindan al proyecto hay que orientar su elección hacia:

  • Buscar herramientas que ayuden a aumentar la flexibilidad, desde un nivel de servidor hasta el almacenamiento.
  • Decantarse por la herramienta idónea para la iniciativa, que no tiene porqué ser ni la más novedosa en el mercado ni la más cara.
  • Contar con un equipo profesional capaz de dominar el manejo de la herramienta elegida y con experiencia en la migración de datos.

 

5. Material complementario

Soluciones y recursos para Migración de datos

Guías

Artículos

Migración de datos - POST