Infoxicación

Disponer de un gran volumen de datos de diferente naturaleza es la base para un buen análisis que nos permita una toma de decisiones inteligente.

Sin embargo, una gran cantidad y variedad de datos puede derivar en dificultades a la hora de tratar toda esa información. Es lo que se denomina infoxicación.

Definición

La infoxicación es la imposibilidad de poder procesar y analizar los datos que alimentan un repositorio de información.

Esta situación puede producirse por dos causas:

  • La existencia de grandes volúmenes de datos
  • La generación de información a una velocidad superior a la de proceso y análisis

Cuando una solución tecnológica no es capaz de procesar todos los datos respetando los requerimientos de urgencia de los usuarios, ésta no puede aportar todo el valor necesario. En esta situación, hablamos de infoxicación.

Causas

La imposibilidad de procesar todos los datos a tiempo puede producirse por la existencia de grandes volúmenes de datos y por una velocidad de generación de datos muy elevada.

Los datos de un repositorio analítico deben ser procesados para su posterior análisis. Estas son las dos fases sobre las que actúa la infoxicación.

Si bien el proceso de los datos (entendido como la captación de éstos) cuando hay grandes volúmenes de datos no implica grandes dificultades, sí que podemos encontrarlas a la hora de refinar esos datos en las tareas de análisis. Cruzar (hacer una join, un lookup) datos relacionados tiene un coste que augmenta de manera logarítmica con el número de registros a tratar. Como es de imaginar, con volúmenes masivos de datos, el coste puede llegar a ser muy elevado. Y puede serlo tanto que el sistema sea incapaz de finalizar esta tarea antes del siguiente proceso por lotes analítico (e.g. la siguiente carga de datos).

En el caso de la generación de datos a una gran velocidad, el problema aparece en el procesado de los datos. Cuando éstos llegan al sistema, deben ser consumidos a una velocidad igual o superior a la de generación. En caso contrario, los datos se acumularán a la espera de ser procesados. Y esa acumulación puede ir incrementándose hasta el punto en que podemos llegar a perder datos.

En cualquiera de estas situaciones, el riesgo está en la imposibilidad de producir información a partir de unos datos de entrada, o de generar esa información demasiado tarde, con lo cual el usuario no obtiene valor para una toma de decisiones inteligente.

Solución

Ante una situación así, es necesario diseñar un sistema de proceso y análisis del dato que permita subsanar las dificultades de cada escenario.

Utilizar una solución técnica basada en la tecnología Big Data nos permite resolver los problemas derivados de las carencias en el proceso y análisis en estas situaciones.

La escalabilidad de un cluster de Big Data y la computación distribuida inherente a este tipo de arquitecturas, proporcionan la capacidad de tratar grandes volúmenes de datos generados a una gran velocidad.

Conclusión

La infoxicación es la imposibilidad de tratar datos y ofrecer al usuario información de valor para la toma de decisiones, debido al gran volumen o la alta velocidad en la generación de los datos.

Las consecuencias de la infoxicación son la pérdida de datos y la tardía generación de información. Ante esas situaciones, la información bien no existe bien carece de valor.

El uso de una solución basada en Big Data permite resolver estas limitaciones, permitiendo a los usuarios disponer de la información requerida dentro de los términos útiles para la toma de decisiones.

Carga de datos en BI vs. Big Data

 

Uno de los componentes clave de todo sistema analítico es la carga de datos. Durante este proceso, los datos generados en los sistemas origen son cargados en el repositorio de datos analítico para su posterior análisis.

Existen grandes diferencias conceptuales entre como los sistemas de Business Intelligence (BI) y los basados en Big Data cargan los datos en el repositorio analítico. En este artículo veremos estas diferencias para tres tipos de arquitectura:

  • BI tradicional
  • Micro cargas (como componente de un sistema BI basado en una Arquitectura Lambda)
  • Big Data

Factores que afectan a la arquitectura de una solución analítica

La decisión sobre qué arquitectura debe ser utilizada en una solución analítica, depende de las 3 V’s de las que hablamos en este artículo.

Por tanto, el volumen de datos generados en los sistemas origen, la variedad de datos y la latencia máxima para la explotación efectiva por parte de los usuarios, son los factores clave para decidir la arquitectura de una solución analítica y, por tanto, de la carga de datos.

Teniendo en cuenta estas tres variables, obtenemos la siguiente tabla, que nos muestra la arquitectura a utilizar en función de las 3 V’s:

Proceso de los datos: Batch vs. Streaming

La carga de datos puede realizarse, por lo que se refiere a cómo se procesan los datos, de dos maneras diferentes:

  • Batch: Los datos se acumulan en el sistema origen. En el momento de iniciarse la carga, estos datos acumulados se procesan a la vez.
  • Streaming: A medida que los datos son generados por el sistema origen, éstos son enviados para su proceso. El volumen de datos procesados depende de la frecuencia de generación de éstos. Este método de proceso de datos permite detectar patrones en los datos en tiempo real. Un ejemplo es el de la detección de fraude en compras online.

Para las tres arquitecturas anteriores, los tipos de proceso de datos que encontramos son:

ETL vs. ELT

Una carga de datos no es únicamente un movimiento de datos. Ésta suele ir acompañada de una transformación de los datos, ya sea en el modelo de datos (cómo se almacenan), en el valor de éstos (los datos pueden cambiar debido a estandardizaciones de valores, por ejemplo), etc.

Esta transformación requiere del uso de recursos del sistema y de tiempo. El objetivo a la hora de diseñar una carga de datos es que tanto el uso de recursos del sistema como del tiempo no supere el máximo establecido en cada caso.

En el caso de disponer de una ventana de tiempo limitada para la ejecución de una carga de datos, lo lógico es minimizar esas transformaciones, para aligerar el trabajo a realizar durante el proceso de los datos. Esta situación es extensible al escenario en el cual debemos procesar grandes cantidades de datos, ya que podríamos alargar el proceso más allá de la ventana de tiempo disponible.

Existen dos tipos de cargas de datos en función de cuándo se realiza la transformación de los datos:

  • ETL (Extraction – Transformation – Load): La transformación de los datos se realiza antes de la carga en el repositorio de datos. En este caso, al acabar la carga, los datos están disponibles en su estado final, listos para ser explotados por los usuarios finales.
  • ELT (Extraction – Load – Transformation): No existe transformación de datos (o en todo caso es mínima) antes de la carga en el repositorio de datos. Posteriormente, los datos son transformados mediante procesos de refinamiento de éstos. En este caso, los datos precisan de esa transformación posterior para poder ser explotados por los usuarios finales.

Para las tres arquitecturas anteriores, los tipos de carga de datos que encontramos según en qué momento se realiza la transformación de los datos son:

Es decir, en una solución Big Data, la transformación de los datos se realizará una vez cargados los datos en bruto en el repositorio de datos. Esta transformación se llevará a cabo mediante procesos de refinamiento de los datos, que irán añadiendo valor a éstos. Estos procesos pueden ser de calidad de datos, de enriquecimiento, analíticos, etc.

Conclusión

Existen grandes diferencias entre las cargas de datos de los sistemas BI y Big Data.

La carga de datos de un sistema BI (ya sea tradicional o con arquitectura Lambda), procesa los datos en modo batch, mientras que un sistema basado en Big Data puede utilizar cargas batch o basadas en streaming.

Cuando las transformaciones se hacen durante la carga y antes de dejar los datos en las tablas finales del repositorio de datos, se denomina ETL. Este tipo de cargas es el usado en los sistemas BI.

Cuando las transformaciones se realizan posteriormente a la carga de datos en el repositorio, éstas dotan a los datos de calidad, los refinan, los enriquecen y les proporcionan un valor añadido, se denomina ELT. Big Data usa este tipo de cargas.

Elegir el tipo de carga correcto para cada escenario es clave para el éxito de una solución analítica. De ello se deriva poder disponer de los datos para la toma de decisiones de manera efectiva. El hecho de utilizar una carga de datos errónea puede suponer el fracaso del proyecto de creación de una solución analítica.