Posted Jue, 10/21/2010 - 23:23 by admin-infEn un artículo anterior intenté describir un modelo típico de un sistema de Business Intelligence. Puedenexistir algunas pequeñas variaciones según el autor y las características del proyecto en general, pero lo que se mantiene constante es la existencia de un almacenamiento de datos que será explotado por lasherramientas que en cada momento se consideren oportunas, lo que inevitablemente conduce a laexistencia de un trasiego de datos desde algunos orígenes hasta el almacenamiento destino. Elsubsistema que se encarga de este trasiego se llama ETL (Extract, Transform, Load).Existe en internet abundante información sobre estos módulos ETL, por lo que no pretenderé sentarcátedra, simplemente hacer un breve resumen de en qué consiste y la importancia que tiene esteconcepto, siempre basado en la experiencia profesional de varios años colaborando en sistemas deBusiness Intelligence.Primeramente comentar que allá donde haya trasiego de datos habrá un sistema ETL, que podrá sermás o menos sofisticado en función del proyecto en que se encuentre, pero conceptualmente siemprehay que identificar qué datos se requiere, dónde y en qué forma están, y dónde y de qué forma van aestar. Dónde están y dónde estarán formaría la parte EL del sistema (Extracción y Carga), mientras quela pregunta de qué forma tienen y qué forma tendrán implica la parte T (Transformación).Y es que esto último es muy importante. Datos que hacen referencia a la misma información puedenestar en localizaciones muy diferentes, y sin embargo tener un único lugar de destino, generando unainformación homogénea, coherente y actualizada: los datos de un cliente industrial pueden extraerse delos sistemas de información de ventas, campañas y quejas, pero también se puede encontrar en lossistemas del registro mercantil, el BOE o informes públicos de auditorías. Y este mismo cliente puedeestar referenciado en estos sistemas en forma diferente, ya sea a través de datos numéricos,alfanuméricos y, dentro de estos, con codificación propia o estándar.Así pues es necesario ante cualquier desarrollo que implique un sistema ETL realizar un completoanálisis de las transferencias, el cual debe ser reflejado físicamente en un documento en el que, almenos, debe contemplar la información de destino (dónde debe estar ubicada y el formato que debetener) y para cada destino dónde se encuentra su origen (puede ser en varios sistemas distintos) y losformatos en los que se van a encontrar y, por supuesto, las transformaciones a las que han de aplicarsepara cada origen. Y quien se pregunte por la importancia de este tipo de documentación, sólocomentarles que un sistema ETL es un verdadero factor de éxito del proyecto a implantar, que unsistema ETL defectuoso puede conducir directamente a un proyecto fallido.En la implantación de una solución de Business Intelligence esto es especialmente cierto ya que eldesarrollo e implantación de un sistema ETL puede llegar hasta el 70% del esfuerzo necesario paraimplantar la solución BI. Y esto le pone a la implantación de sistemas ETL en una situación ingrata, puesa pesar de la enorme importancia tiene muy poca visibilidad para los usuarios, ya que éstos trabajaránen su mayor parte con las herramientas de explotación de la información.Pero aunque sea el marco principal, no es solamente en una solución de BI donde nos encontraremossistemas ETL. Éstos se pueden encontrar también en actualizaciones tecnológicas, mantenimiento desistemas heredados y en la integración de sistemas.Actualizaciones tecnológicas. En ocasiones la organización decide actualizar el software o hardware queestá actualmente en funcionamiento a una versión posterior, habitualmente no será necesario realizar un trasiego de datos, pero en este caso sería de poca entidad. Mayores complicaciones tendría laactualización a las herramientas de otros fabricantes, pues habría que considerar la compatibilidad delas nuevas herramientas con la estructura de información existente.Mantenimiento de sistemas heredados. Estos sistemas existentes en la organización desde hace muchotiempo y que tecnológicamente han quedado obsoletos, son todavía importantes para la misma puessuelen tener alta fiabilidad y siguen cumpliendo fielmente su función. Sin embargo las fuentes deinformación de la que se nutren pueden adaptarse a nuevos sistemas y éstos pueden necesitar de lainformación de los sistemas antiguos, haciendo necesario la implementación de soluciones ETL para lacomunicación mutua.Integración de sistemas. La decisión del crecimiento por compras y absorciones es una decisión quetiene muchas implicaciones para la organización, y los sistemas de información no son una excepción.La integración de sistemas de diferentes compañías puede suponer un enorme esfuerzo en función delos negocios de la misma, tecnologías utilizadas y terminología interna empleada. En estos casos, lautilización de sistemas ETL es más que necesaria, llegando incluso a suponer más del 80% del esfuerzototal de integración.Dos variables en un sistema ETL merecen especial atención y son la ventana de tiempo que se necesitapara el propio proceso ETL y la calidad de la información cargada. Un tiempo excesivo en el procesopuede consumir demasiados recursos de máquina necesarios para otros aplicativos, además decomprometer la operativa diaria de determinadas áreas de la organización. Pero incluso peor esdisponer de información de mala calidad o errónea, pues las consecuencias a largo plazo podrían serbastante malas: tomar una decisión basada en información incorrecta nos podría hacer tomar un rumbono deseado.Por eso los mecanismos de control de las transferencias son también tan importantes como lastransferencias mismas. Estos mecanismos de control permiten medir tiempos en cada uno de lossubprocesos, identificar posibles fallos, monitorizar el consumo de recursos en el proceso, establecerunos estándares mínimos de calidad en la información y controlar su cumplimiento. Sin estos elementosde control, implantaremos un sistema ETL con grandes carencias y la única garantía del buenfuncionamiento estaría en el lado de la fé. No es raro incluso encontrar firmas que se han especializado en larealización de auditorías en las que verifican un cumplimiento mínimo de estos estándares.Tan frecuentes son los sistemas ETL que existen un numeroso conjunto de soluciones completas que cubren todo el proceso, incluso elposterior de mantenimiento correctivo y/o evolutivo. Y las herramientas van apareciendo continuamente, proporcionadas por empresasfabricantes y por desarrollos de software libre. La decisión de utilizar una herramienta ya existente o proceder al desarrollo propio se vadecantando por la primera, pues estas herramientas son capaces de ahorrar un enorme esfuerzo de codificación, aunque todavía quedenempresas, más bien pequeñas que grandes, que estiman que un desarrollo a medida puede serles más económico que pagar unas cuantas licencias. Pero con el surgimiento de herramientas de software libre de calidad el problema se reduce a encontrar profesionalesespecialistas en este tipo de herramientas.Podemos concluir pues que un sistema ETL es simplemente inevitable, es consustancial con la información misma, y que a pesar de lapoca visibilidad que tiene para el usuario, representa un alto porcentaje en la implementación de los proyectos de los que forma parte,siendo además un factor de éxito de los mismos.Proyecto de expresión y espacio para la tecnología, cultura, empresa, estética y humanidades en generalInformación legalETL: Simplemente inevitable