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. Pueden existir 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 las herramientas que en cada momento se consideren oportunas, lo que inevitablemente conduce a la existencia de un trasiego de datos desde algunos orígenes hasta el almacenamiento destino. El subsistema 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é sentar cátedra, simplemente hacer un breve resumen de en qué consiste y la importancia que tiene este concepto, siempre basado en la experiencia profesional de varios años colaborando en sistemas de Business Intelligence. Primeramente comentar que allá donde haya trasiego de datos habrá un sistema ETL, que podrá ser más o menos sofisticado en función del proyecto en que se encuentre, pero conceptualmente siempre hay que identificar qué datos se requiere, dónde y en qué forma están, y dónde y de qué forma van a estar. Dónde están y dónde estarán formaría la parte EL del sistema (Extracción y Carga), mientras que la 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 pueden estar en localizaciones muy diferentes, y sin embargo tener un único lugar de destino, generando una información homogénea, coherente y actualizada: los datos de un cliente industrial pueden extraerse de los sistemas de información de ventas, campañas y quejas, pero también se puede encontrar en los sistemas del registro mercantil, el BOE o informes públicos de auditorías. Y este mismo cliente puede estar 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 completo análisis de las transferencias, el cual debe ser reflejado físicamente en un documento en el que, al menos, debe contemplar la información de destino (dónde debe estar ubicada y el formato que debe tener) y para cada destino dónde se encuentra su origen (puede ser en varios sistemas distintos) y los formatos en los que se van a encontrar y, por supuesto, las transformaciones a las que han de aplicarse para cada origen. Y quien se pregunte por la importancia de este tipo de documentación, sólo comentarles que un sistema ETL es un verdadero factor de éxito del proyecto a implantar, que un sistema 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 el desarrollo e implantación de un sistema ETL puede llegar hasta el 70% del esfuerzo necesario para implantar la solución BI. Y esto le pone a la implantación de sistemas ETL en una situación ingrata, pues a pesar de la enorme importancia tiene muy poca visibilidad para los usuarios, ya que éstos trabajarán en 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 encontraremos sistemas ETL. Éstos se pueden encontrar también en actualizaciones tecnológicas, mantenimiento de sistemas heredados y en la integración de sistemas.Actualizaciones tecnológicas. En ocasiones la organización decide actualizar el software o hardware que está 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 la actualización a las herramientas de otros fabricantes, pues habría que considerar la compatibilidad de las nuevas herramientas con la estructura de información existente.Mantenimiento de sistemas heredados. Estos sistemas existentes en la organización desde hace mucho tiempo y que tecnológicamente han quedado obsoletos, son todavía importantes para la misma pues suelen tener alta fiabilidad y siguen cumpliendo fielmente su función. Sin embargo las fuentes de información de la que se nutren pueden adaptarse a nuevos sistemas y éstos pueden necesitar de la información de los sistemas antiguos, haciendo necesario la implementación de soluciones ETL para la comunicación mutua. Integración de sistemas. La decisión del crecimiento por compras y absorciones es una decisión que tiene 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 de los negocios de la misma, tecnologías utilizadas y terminología interna empleada. En estos casos, la utilización de sistemas ETL es más que necesaria, llegando incluso a suponer más del 80% del esfuerzo total de integración.Dos variables en un sistema ETL merecen especial atención y son la ventana de tiempo que se necesita para el propio proceso ETL y la calidad de la información cargada. Un tiempo excesivo en el proceso puede consumir demasiados recursos de máquina necesarios para otros aplicativos, además de comprometer la operativa diaria de determinadas áreas de la organización. Pero incluso peor es disponer de información de mala calidad o errónea, pues las consecuencias a largo plazo podrían ser bastante malas: tomar una decisión basada en información incorrecta nos podría hacer tomar un rumbo no deseado.Por eso los mecanismos de control de las transferencias son también tan importantes como las transferencias mismas. Estos mecanismos de control permiten medir tiempos en cada uno de los subprocesos, identificar posibles fallos, monitorizar el consumo de recursos en el proceso, establecer unos estándares mínimos de calidad en la información y controlar su cumplimiento. Sin estos elementos de control, implantaremos un sistema ETL con grandes carencias y la única garantía del buen funcionamiento estaría en el lado de la fé. No es raro incluso encontrar firmas que se han especializado en la realizació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 el posterior de mantenimiento correctivo y/o evolutivo. Y las herramientas van apareciendo continuamente, proporcionadas por empresas fabricantes y por desarrollos de software libre. La decisión de utilizar una herramienta ya existente o proceder al desarrollo propio se va decantando por la primera, pues estas herramientas son capaces de ahorrar un enorme esfuerzo de codificación, aunque todavía queden empresas, 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 profesionales especialistas 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 la poca 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