ETL: extracción, transformación y carga de datos, base de muchos proyectos Big Data y Open Data

2013 abril 30
por classora

Los procesos ETL son probablemente los componentes más importantes y de mayor valor añadido en una infraestructura que implique la integración de varias fuentes de datos. En consecuencia, representan un pilar fundamental tanto de simples proyectos de recopilación como de soluciones complejas de Big Data o Business Intelligence, especialmente si se requiere mucha precisión o actualización en los datos.

Aunque suelen resultar transparentes a los usuarios, los procesos ETL son los encargados de recuperar información de todos los orígenes necesarios, formatearla, limpiarla e integrarla en un datamart, un datawarehouse, una base de conocimiento o cualquier otro tipo de repositorio digital. En resumen, los procesos ETL recopilan los datos y hacen posible que la información subyacente pueda ser presentada mediante las herramientas de análisis y reporting pertinentes. En el caso de Classora, los propios robots son los encargados de complementar y enriquecer cada dato con los metadatos correspondientes (fecha de carga, fuente, fiabilidad del dato, frecuencia de refresco, significado, relaciones… etc.) que permiten su posterior procesado y recuperación.

Extraction, Transformation  and Load

Como su propio nombre indica, los procesos ETL se dividen en tres fases:

  • Extracción: consiste en obtener los datos del sistema origen, realizando volcados completos o incrementales. En ocasiones esta etapa suele apoyarse en un almacén intermedio, llamado ODS (Operational Data Store), que actúa como pasarela entre los sistemas fuente y los sistemas destino, y cuyo principal objetivo consiste en evitar la saturación de los servidores funcionales de la organización.
  • Transformación: los datos procedentes de repositorios digitales distintos no suelen coincidir en formato. Por tanto, para lograr integrarlos resulta imprescindible realizar operaciones de transformación. El objetivo no es otro que evitar duplicidades innecesarias e impedir la generación de islas de datos inconexas. Las transformaciones aplican una serie de reglas de negocio (o funciones) sobre los datos extraídos para convertirlos en datos destino.
  • Carga: se trata de introducir los datos, ya adaptados al formato deseado, dentro del sistema destino. En algunos casos se sobreescribe la información antigua con la nueva, mientras que en otros se guarda un historial de cambios que permite consultas retrospectivas en el tiempo, así como revertir modificaciones. Para la carga masiva de datos suele ser necesario desactivar temporalmente la integridad referencial de la base de datos destino.

Para los que nos dedicamos profesionalmente a la monitorización continua de fuentes Open Data disponibles en Internet, existen numerosos desafíos si queremos implementar unos procesos ETL eficaces y fiables, que se pueden resumir en los siguientes puntos:

  • Los volúmenes de datos están creciendo de forma exponencial, especialmente los que se vierten de manera incesante sobre Internet. Precisamente para cosas como ésta nacieron las soluciones Big Data. Por su parte, la Web Semántica, de la que ya hemos hablado en anteriores ocasiones, es un intento de poner orden y organizar este vertido constante de información desestructurada a la Red.
  • A mayor disparidad de fuentes, mayor dificultad de integración, a medida que los sistemas de información crecen en diversidad, también aumenta la complejidad de su integración. Crear reglas de transformación customizadas para cada nueva fuente supone un esfuerzo manual inviable en sistemas que pretenden ser escalables. De ahí, una vez más, la patente necesidad de respetar estándares como RDF o XML para publicar información.
  • Las transformaciones implicadas pueden llegar a ser muy complejas. Los datos necesitan agregarse, analizarse, computarse, procesarse estadísticamente… etc. En ocasiones también se necesitan transformaciones demasiado costosas desde el punto de vista computacional. Los procesos ETL necesitan una mayor flexibilidad para conseguir respuestas en tiempo real.

Actualmente, existen herramientas comerciales, e incluso de software libre, con una gran potencia para la extracción de datos. De hecho, los problemas de rapidez y rendimiento no suelen suponer hoy en día un gran escollo técnico para la extracción y la carga. Donde realmente se sitúa el cuello de botella es en la transformación de datos: en este punto 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 el sistema destino. De hecho, la automatización de este proceso es sólo uno de los grandes retos de la Web Semántica.

El caso de Classora Knowledge Base

Para que la base de conocimiento de Classora tenga información actualizada y realmente útil es necesario que se nutra constantemente de datos disponibles en distintas fuentes públicas. De hecho, dada la amplitud proyecto, estas fuentes pueden oscilar desde plataformas de referencia oficiales y completamente estructuradas (como es el caso de Eurostat, el Instituto Nacional de Estadística, o la FIFA) hasta fuentes no oficiales, escritas en texto plano o dotadas de escasos niveles de estructuración (como pueden ser blogs, noticias de medios digitales o incluso la propia Wikipedia). Con este fin, 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.).

No obstante, en valores absolutos, los millones de unidades de conocimiento que atesora Classora Knowledge Base son una cantidad minúscula de la información pública realmente disponible en La Red. Además, como hemos visto antes, cada nueva fuente de datos incorporada aumenta la complejidad de la integración con los datos previamente cargados, ya que se incrementa el número de transformaciones. Sin una supervisión manual (cada vez más costosa e inviable), esto se traduce a medio plazo en que la calidad de los datos puede disminuir a medida que crece la cantidad de los mismos.

Sin embargo, estas limitaciones se pueden paliar parcialmente con un mayor esfuerzo en I+D+i. Por ello, nuestra empresa plantea un proceso 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. El problema original al que nos enfrentamos es, en el fondo, uno de los mayores retos que ha impuesto la evolución tecnológica: la transformación de información desestructurada a información estructurada.

Internet como fuente incesante de datos

Más acerca de los procesos de Extracción, Transformación y Carga

Si te interesa saber más sobre el tema no dudes en contactar con nosotros para que te enviemos documentación adicional. Esperamos haber conseguido despejar algunas dudas sobre los procesos ETL, tan importantes para muchos proyectos de Big Data, Open Data, Linked Data y Business Intelligence, y que sin embargo suelen permanecer en la sombra, pasando desapercibidos para el usuario que los utiliza en última instancia.

10 Responses dejar uno →
  1. alexis permalink
    agosto 6, 2013

    me gustaria saber mas sobre formas que esta manejado en el etl los siguientes aspectos:
    a). trazabilidad
    b). parametrización.
    c). configuración.
    d). control de calidad.
    e). optimización de carga de datos.

  2. Marco Antonio permalink
    noviembre 6, 2013

    Buenas noches, estoy escribiendo una tesis y me interesan todos lo temas relacionado con ETL, aun me estoy sumergiendo en este mundo, se los agredeceria si pudieran compartirme mas informacion.

    • José Pedro permalink
      octubre 24, 2014

      mi hermano yo ahora en estos momentos estoy como tu en aquel entonces, ya que veo que tu comentario es de hace casi 12 meses, me encuentro ahora escribiendo una tesis relacionada con ETL, te agradecería que me pudieras ayudar con algo de informacion acerca del tema, saludos, atentamente José Pedro.

  3. rehiman2 permalink
    diciembre 4, 2013

    Me interesa que me envien documentacion relacionada etl con oracle y con integration services practicas con el entorno de desarrollo se los agradeceria demaciado

  4. miriam permalink
    enero 30, 2014

    Hola, les agradecería me compartan mayor información acerca de los ETL’s así como también de algunas herramientas de Inteligencia de Negocios.

  5. Sergio permalink
    marzo 31, 2014

    Buenas, estaría necesitando mayor información sobre los procesos etl, les estaría muy agradecido si pudieran enviarme información o vínculos en los próximos días.

  6. abril 24, 2014

    Carai, aquí todo el mundo pidiendo información. A mí también me vendría muy bien. Descubrí este blog que también habla mucho sobre el tema y ya sigo hace tiempo por si les es útil:

    http://blog.powerdata.es/el-valor-de-la-gestion-de-datos/bid/288844/Qu%C3%A9-son-los-procesos-ETL

    Muchas gracias! 🙂
    Juan.

  7. David permalink
    junio 26, 2017

    Hola,
    Tengo una consulta respecto a la extracción de datos… Si al iniciar un proyecto no tenemos acceso a los datos orígenes y dejamos esta etapa de extracción de datos para el final del proyecto… ¿Qué consecuencias puede conllevar esta decisión?
    Gracias y un saludo.

Trackbacks and Pingbacks

  1. Bases de datos multidimensionales: OLAP vs OLTP | El Blog de Classora
  2. Data Mining y Data-Driven Journalism | El Blog de Classora

Dejar una respuesta

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS