Los procesos ETL, la base de los sistemas BigData

Los procesos ETL (extraction, transformation & load) son uno de los pilares clave a la hora de planificar y diseñar una infraestructura de manejo de Data, que implique la integración de diferentes y variadas fuentes de datos. Por lo tanto, estos procesos, representan uno de los pilares fundamentales, tanto en simples proyectos de recopilación de información como en soluciones complejas de BigData; sobre todo si se requiere mucha precisión o una continua actualización en los datos a procesar.

Los procesos ETL, aunque son transparentes para los usuarios, son los responsables de recopilar la información de las distintas fuentes de origen y de adaptarla, de limpiarla y de integrarla en cualquier tipo de repositorio digital: un datamart, una base de conocimiento, etc. Por lo tanto, los procesos ETL son los responsables de recopilar los datos y hacer posible que el conocimiento que encierran los datos, pueda ser presentado mediante distintas herramientas de análisis y reporting.

Para que su operativa sea más óptima, deben ser los propios crawlers (robots) que recopilan la información, los responsables de complementar y enriquecer cada dato, asociándole los metadatos que le corresponden (fecha de carga, fuente, fiabilidad del dato, frecuencia de refresco, significado, relaciones, sentimiento, etc.) y que permiten su posterior procesado y recuperación.

Las fases de los procesos ETL

  • Extracción: es la fase inicial y consiste en obtener los datos de las fuentes de origen, realizando los volcados de forma completa o incremental. Habitualmente y con el objetivo de evitar saturaciones en las plataformas de servidores de las organizaciones, se suele implementar repositorios intermedios, conocidos como ODS (Operational Data Store), que actúan como pasarelas entre los sistemas de las  fuentes de datos y los sistemas de destino de la información.
  • Transformación: cuando los datos proceden de distintas fuentes de repositorios digitales, lo normal es que no coincidan en formato, lo que se conoce como datos NoSQL distintos. Por este motivo resulta imprescindible realizar una serie de procesos de transformación para evitar duplicidades innecesarias o impedir que se establezcan “islas” de datos que no tienen conexión entre ellas. En esta fase se aplican una serie de reglas de negocio (o funciones) sobre los datos extraídos para convertirlos en datos con una estructura lógica común para su procesamiento y análisis posterior.
  • Carga: esta última fase consiste en introducir los datos, ya estructurados (transformados) en base al formato deseado, dentro del sistema destino donde serán procesados y analizados. A la hora de realizar esta carga en el repositorio final se puede apostar por dos fórmulas: (i) sobreescribir la información preexistente o (ii) establecer unos índices de historial de cambios, para realizar consultas retrospectivas

A la hora de acometer esta última fase, en situaciones de que sea necesario realizar una carga masiva de datos, resulta casi imprescindible desactivar temporalmente la integridad referencial de la base de datos destino, con lo que se deben contemplar subprocesos que garanticen la integridad final de dicho repositorio.

Desafíos a la hora de implementar procesos ETL fiables y eficaces

Los profesionales que se dedican a la monitorización continua de fuentes públicas de datos en Internet (OpenData, Open Government, etc), deben hacer frente a una serie de retos y desafíos para poder implementar dentro de sus organizaciones procesos ETL fiables y eficaces, que podemos resumir en:

  • Crecimiento exponencial del volumen de datos.
    Este situación es especialmente significativa en el caso de  los que se vierten de manera incesante sobre Internet, por lo que en el ADN de BigData está el dar respuestas a esta necesidad y las tecnologías semánticas resultan imprescindibles para poner orden y organizar de manera adecuada y funcional a este constante vertido de información desestructurada (NoSQL – No only SQL).
  • +∆ Fuentes de Datos = +∆ Dificultad de Integración.
    A medida que los sistemas de información continúan creciendo en su diversidad, se produce un aumento exponencial en la complejidad de su integración. Crear reglas de transformación personalizadas para cada nueva fuente supone un esfuerzo manual inviable dentro de sistemas que pretenden ser escalables. De ahí, una vez más, es patente la necesidad de que aquellas entidades que publican información deban respetar estándares como RDF o XML. Debemos tener en cuenta que las transformaciones implicadas pueden resultar ser muy complejas, los datos necesitan: agregarse, analizarse, computarse, procesarse estadísticamente, etc.; por lo que estas transformaciones pueden resultar demasiado costosas desde un punto de vista computacional. Los procesos ETL necesitan integrar una mayor flexibilidad para conseguir respuestas en tiempo real.

Actualmente, existen gran cantidad de herramientas comerciales y  de software libre, con una gran capacidad para la extracción de datos. De hecho, los problemas de rapidez y rendimiento no suelen suponer hoy en día una barrera técnica para la extracción y la carga de datos. El cuello de botella realmente lo encontramos en la transformación de datos, cuando la información desestructurada debe ser convertida en información estructurada para poder ser integrada con el resto de los datos que ya existen en los repositorios de destino. La automatización de estos procesos de transformación son unos de los grandes retos a los que se enfrentan y dan respuesta las tecnologías semánticas.

El caso de Classora Knowledge Base

Un caso de estudio sobre el manejo, tratamiento, e integración de fuentes de OpenData, es el de la compañía española Classora Technologies. Con el objetivo de que su base de conocimiento Classora KB, tenga información actualizada y realmente útil, se debe nutrir de manera constante de datos disponibles en distintas fuentes públicas., que oscilan desde plataformas de referencia oficiales y completamente estructuradas (Eurostat, el Instituto Nacional de Estadística, Federaciones deportivas nacionales e internacionales, FMI, ONU,…) hasta fuentes “no oficiales”, escritas en texto plano o dotadas de escasos niveles de estructuración (blogs, noticias de medios digitales o incluso la propia Wikipedia). Para dar respuesta a este escenario, Classora Technologies ha desarrollado tres tipos de robots para la gestión de datos:

  • Crawlers de extracción: encargados de la carga masiva de informes a partir de fuentes públicas oficiales. Sirven tanto para cargas absolutas como incrementales.
  • Exploradores de datos: encargados de buscar y actualizar atributos concretos de una unidad de conocimiento a partir de una fuente determinada.
  • Agregadores de contenidos: no se conectan a fuentes externas, sino que utilizan datos internos de Classora para generar nueva información (histórica, agregada… etc.).

Aunque, en valores absolutos, los millones de unidades de conocimiento que atesora Classora KB son una cantidad minúscula de la información pública que realmente está disponible en La Red. Como hemos visto antes, la incorporación de una nueva fuente de datos lleva aparejada un aumento en la complejidad de su integración con los datos previamente cargados, al incrementase el número de transformaciones. Sin una supervisión manual, cada vez más costosa e inviable, esto se puede traducir a medio plazo en que la calidad de los datos puede disminuir a medida que crece su cantidad.

Sin embargo, estas limitaciones se pueden paliar con un mayor esfuerzo en investigación, desarrollo e innovación. Por ello, tal y como hace Classora, es imprescindible plantear procesos de mejora continua para los robots de carga que permitan incorporar más fuentes de datos, con menor nivel de estructuración, en más idiomas, y con una mejor integración con los datos previamente cargados.

Como resumen llegamos a la conclusión de que, en el fondo, el problema clave al que nos enfrentamos es uno de los mayores retos que ha impuesto la evolución tecnológica: lograr que la información desestructurada (NoSQL) se transforme en información estructurada (SQL).

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s