Las herramientas ETL no son un instrumento que se emplea para una acción puntual. La extracción, transformación y carga de datos es un proceso, más o menos complejo, que requiere de un plan. Si además se cuenta con los medios adecuados y el personal que se ocupa de esa migración tiene experiencia en este tipo de acciones, las probabilidades de completar el proyecto con éxito aumentan considerablemente.
Créditos fotográficos: everythingpossible
En cualquier caso, siempre conviene conocer cuáles son esos momentos en los que pueden presentarse dificultades, tener previstas las precauciones que podría ser necesario tomar y entender la importancia de aplicar las mejores prácticas en un proceso de este tipo.
Cómo plantear un proceso ETL: de la contextualización a las herramientas ETL
Tener los datos y las herramientas ETL listas para ser usadas no basta para asegurar que todo saldrá bien: la gestión de un proceso así debe estar sujeta a un plan. Es necesaria la preparación, puesto que siempre es posible que se produzcan fallos, que pueden estar relacionados con:
- Valores que faltan en una de las tablas de referencia.
- La falta de extractos de uno de los sistemas.
- La pérdida de conectividad o un fallo de alimentación que se producen a mitad de transacción.
Por lo tanto, es necesario diseñar el proceso ETL teniendo la recuperación de errores en mente. Este diseño, en la práctica, debería llevarse a cabo teniendo en cuenta las siguientes premisas:
- Debe ser posible reiniciar, al menos, algunas de las fases independientemente de las otras. Hay que asegurar que, si la carga falla, no se requiere reiniciar el paso de transformación, o que si la transformación no culmina como es esperado, no se necesita volver a iniciar la extracción.
- Es importante disponer de áreas de staging que sirven como sistema de almacenamiento intermedio para descargar los datos de cada etapa, permitiendo que la siguiente fase de procesamiento los pueda leer.
- Respecto a las áreas de staging, hay que tener la precaución de controlar los accesos. Tan solo las herramientas ETL que participan en el proceso deberían poder acceder. Estas áreas nunca deberían estar disponibles para nadie más, especialmente en lo que respecta a los usuarios finales, ya que pueden contener datos incompletos por hallarse en mitad del proceso.
Una vez que este planteamiento ha quedado claro, es momento de seguir adelante con la iniciativa.
Pasos previos a la implementación de las herramientas ETL
Antes de la implementación de las herramientas ETL queda tomar otra decisión importante. Hay que determinar si se comprará o si se construirá. Para la elección entre una de las distintas opciones que existen en el mercado y la creación de la propia herramienta ETL hay que tener en cuenta que, en este último caso, existen ventajas como:
- Puede ser una buena idea si el proyecto consiste sólo en la extracción, transformación y carga de un número reducido de fuentes de datos (estructuras similares) que, además, están ubicadas en algún sistema de almacenamiento del mismo tipo (arquitectura común).
- Es el modo más económico de abordar el proceso, siempre que todo salga bien a la primera, puesto que se ahorran los costes de licencias y no hay necesidad de capacitar a los técnicos en el uso de una nueva herramienta.
Sin embargo, también hay inconvenientes asociados a la construcción de las herramientas ETL propias, como son:
- Se trata de una decisión arriesgada ya que, si el paso de transformación aumenta de complejidad, o las necesidades de integración son mayores de lo esperado los resultados pueden no ser buenos.
- El aumento de complejidad se traduciría en una disminución de la manejabilidad, que terminaría resultando en el inicio de un círculo vicioso de consecuencias desfavorables.
La opción de compra puede ser la mejor alternativa por motivos como los siguientes:
- Hay muchas herramientas ETL listas para usar en el mercado, por lo que es fácil encontrar una a la medida de las necesidades del negocio.
- Las opciones comerciales están optimizadas para el proceso ETL y cuentan con grandes ventajas, como los conectores que proporcionan a fuentes de datos comunes (como bases de datos o sistemas mainframe, entre otros).
- Las herramientas ETL del mercado aseguran la coherencia, algo esencial para garantizar una buena integración. Lo consiguen gracias a sus funcionalidades de filtrado, agregación, reformateo, además de algunas más, que varían en función del proveedor. El control de versiones, la monitorización y programación de la fase de transformación e, incluso, la gestión de metadatos, se encuentran entre estas características que aumentan el valor de las opciones comerciales de herramientas ETL.
- Algunas de las herramientas ETL están integradas con herramientas de BI.
La decisión depende de la organización, pero siempre habrá que atender a tres factores:
1. La complejidad de la transformación de datos: cuanto mayor sea el nivel de dificultad previsto, más conveniente será invertir en la compra de herramientas ETL.
2. El volumen de datos a migrar: las herramientas comerciales pueden agilizar la migración de grandes volúmenes de datos, minimizando el riesgo.
3. La previsión de necesidades en materia de limpieza y perfilado de datos: en realidad, se trata de un trámite que siempre es aconsejable para mejorar la calidad de los datos en destino. No obstante, si se considera que no resultaría necesario, puede optarse por la construcción de la propia herramienta; en el caso contrario esta decisión no es aconsejable, ya que al sumar las acciones de limpieza, data profiling y data matching, el proceso aumentaría de complejidad, por lo que la idoneidad de la herramienta de construcción propia se vería reducida.