Ética y Big Data

 

Hablar de Big Data en un ámbito no tecnológico significa hablar de muchos datos, mucha información, y a menudo, de un cierto miedo debido a la información que puede extraerse de tantos datos.

Si nos centramos en este último aspecto, entramos dentro de las teorías conspiratorias de grandes corporaciones y gobiernos para poder espiar a los clientes y a los ciudadanos.

El objetivo de este artículo es ofrecer una visión general de esta realidad relacionando Big Data con la ética.

Análisis avanzado

Big Data permite analizar una gran cantidad de datos, más allá de los límites del Business Intelligence (BI) tradicional.

Disponer de un gran volumen de datos abre la puerta al análisis avanzado de éstos. Entre estos análisis avanzados encontramos la obtención de correlaciones entre variables, creación de modelos predictivos, agrupación en base a diferentes técnicas como clasificación, clustering, etc.

Con esta capacidad de análisis, es posible obtener información que en el pasado, por las limitaciones del BI tradicional, no era posible obtener. Esto significa un mejor conocimiento de las fuentes de información y sus relaciones, y una mejor base de conocimiento.

Mejor toma de decisiones

El hecho de disponer de más y mejor conocimiento implica una mejora en la toma de decisiones por parte de las organizaciones.

Es obvio que las organizaciones desean obtener el máximo nivel de detalle en su búsqueda de conocimiento. De esta manera, pueden tomar decisiones más ajustadas a cada uno de los individuos (clientes, habitantes, etc.) del estudio analítico.

El objetivo de las organizaciones está, en parte, en la eficiencia de sus procesos y la maximización de los beneficios, ya sea económicos (en empresas) como de servicio a los individuos (en la administración) y reducción de costes. Y esa eficiencia es directamente proporcional al nivel de detalle del conocimiento sobre el cual se basan las decisiones. Por ejemplo, no es lo mismo tomar decisiones a partir de datos globales sobre los clientes de una empresa que sobre cada uno de ellos.

Ante esta premisa, es evidente que el deseo de las organizaciones es el de llegar a un nivel de detalle alto para poder tomar las mejores decisiones.

Uso de la información

Un alto nivel de detalle puede llegar a suponer la trazabilidad de los individuos hasta la mínima expresión.

Un escenario donde queda patente este nivel de detalle es el de los datos que pueden ser obtenidos a partir de los teléfonos móviles. Algunos ejemplos de datos generados a partir de un teléfono móvil son las llamadas, la geolocalización, la navegación web y la actividad en redes sociales. El volumen de datos generado tan solo con estas aplicaciones es inmenso y está asociado a un individuo.

¿Implica ese nivel de detalle y la toma de decisiones sobre estos datos un problema ético? Veamos un ejemplo a partir de las llamadas de teléfono.

La compañía telefónica, el fabricante del móvil y hasta el fabricante del sistema operativo del móvil podrían tener acceso a las llamadas que realizamos y recibimos. El uso de esta información está totalmente prohibido por ley excepto en el caso de existencia de una orden judicial que autorice a las fuerzas del estado a monitorizar o analizar esa información y hasta a realizar escuchas. Por tanto, ¿es posible que las empresas con acceso a estos datos los usen con un nivel de trazabilidad a nivel de usuario? Posible es, pero el riesgo penal por el uso de esos datos es tan alto que es lógico pensar que una organización no hará uso de esa información. Es más, el mero hecho de almacenar esa información es un alto riesgo para la organización en caso de ataque informático que deje al descubierto esa información. Cierto es que las compañías telefónicas deben almacenar el registro de llamadas de manera centralizada como parte de su sistema de facturación, pero el resto de empresas citadas no lo necesitan. En su caso, su uso seguramente se restringe a la obtención de información agregada para la mejora de procesos en su hardware y software.

Permisos de explotación de datos

Otro tema a tener en cuenta es el de los permisos que los usuarios otorgan a las organizaciones para el uso de los datos.

¿Quién no se ha leído toda la letra pequeña a la hora de firmar un contrato? ¿Quién no ha aceptado las condiciones de uso de un dispositivo o de un software sin leerse todo el contrato? Os recomiendo, como curiosidad, este artículo sobre la letra pequeña.

En estos contratos, por lo general, el usuario acepta que el proveedor pueda recabar datos de uso con diversos fines. Entre éstos se puede encontrar el uso comercial y la venta de datos a terceros. Por tanto, al aceptar las condiciones estamos cediendo esos datos para su uso.

En otras palabras, parte de ese riesgo en la explotación de datos corresponde al usuario, que cede los datos generados de manera individual.

Conclusión

El potencial de Big Data al tratar datos masivos abre la puerta a la realización de análisis avanzado. Éste permite la toma de decisiones con un nivel de detalle mínimo.

La trazabilidad de los individuos es posible con este detalle mínimo, lo cual justifica la existencia de dudas respecto a la privacidad del individuo.

La cesión de datos corresponde únicamente al individuo y la realiza por voluntad propia.

Cualquier actividad que viole el contrato de aceptación de datos es punible, ya que la ley no permite el uso de datos personales sin el consentimiento del individuo.

La ética es un concepto ambiguo que depende de cada individuo. Ante la duda sobre la ética de la organización a quien cedemos nuestros datos, probablemente lo mejor sea no cederlos.

Pensar en «Big»… Data no es siempre la mejor opción

 

Las limitaciones del Business Intelligence (BI) al tratar grandes volúmenes de datos, permitir el análisis en tiempo real y analizar tipos de datos complejos, son el origen de Big Data. Con este nuevo conjunto de tecnologías y procesos, podemos analizar datos en estas situaciones donde un BI tradicional no nos ofrece soluciones válidas.

Sin embargo, la aparición de Big Data está suponiendo un cambio de mentalidad, una simplificación en los diseños de soluciones técnicas, para hacerlas encajar en el mundo de Big Data. Y eso puede ir en detrimento de los intereses de las organizaciones.

En este artículo os presento un ejemplo.

Un requerimiento concreto

Una empresa a la cual llamaré X, precisaba analizar los ficheros de log de su sitio web (llamados comúnmente weblogs), para así poder extraer una información concreta. En este caso, se trataba de saber el porcentaje de visitas por idioma (catalán, español o inglés) a su sitio web.

El escenario era el siguiente:

  • Cliente internacional con tráfico web 24×7
  • Generación de 1 GB de weblog por hora, archivados en ficheros horarios (lo que supone casi 9 TB de weblog por año)
  • Estacionalidad en el tráfico del sitio web (el tráfico depende de la época del año)

Alternativa Big Data

Debido a la estacionalidad en el tráfico, era necesario analizar los datos de un año. La estimación del tamaño de los weblogs en un año de actividad (cerca de 9 TB), hizo que el cliente se posicionara a favor de una solución basada en Big Data desde un buen principio.

Estaban tan convencidos de que éste era el camino, que pronto contactaron con proveedores para sopesar la opción de adquirir hardware que les permitiera levantar una solución de Big Data. También habían estado mirando diversas tecnologías software para implantar la solución. Únicamente les quedaba elegir la opción más adecuada dentro del escenario Big Data.

Todo era excitación en la empresa X. El Departamento de Tecnología estaba muy emocionado por poder implementar una nueva solución, tan moderna, tan de la última tendencia… Esta emoción se extendió por la empresa. Los jefes de departamento soñaban con un futuro analítico con Big Data. No sabían exactamente qué podrían hacer con eso, pero sonaba muy bien, muy potente y muy moderno. Palabras como Machine Learning sonaban por los pasillos y en las reuniones de departamento. Hasta en las reuniones de Dirección, Big Data era un tema a tratar.

Solamente les faltaba la aprobación de un consultor externo experto en Big Data para poder tirar adelante el proyecto.

Los requerimientos mandan

Al enfrentarme a este escenario, lo primero que vi es que el cliente tenía muy decidido el camino a seguir, con lo cual sería muy importante justificar otra opción, si finalmente Big Data no era la mejor alternativa. Como veis, nunca parto de una alternativa única, sino que me gusta plantearme diferentes opciones para así hacer un análisis de pros y contras. De esta manera puedo elegir la más conveniente en cada caso.

Primera norma del consultor: Obtener los requerimientos.

Analizando este escenario, vi que el requerimiento se refería únicamente a un análisis concreto y específico. Al obtener requerimientos analíticos futuros, la respuesta fue que no había una necesidad de análisis posteriores de la información de los weblogs. Tampoco había nadie en la empresa que hubiera mostrado interés por extraer más información de esa fuente de datos en el futuro.

En este caso, el cliente se había inclinado por una solución muy potente para obtener una respuesta muy concreta. Pero esa inversión inicial no tenía en ese momento ninguna visión de futuro, ninguna continuidad que proporcionara un retorno de la inversión (ROI). Es sería la justificación a usar al plantear otra opción.

Propuesta de solución

Dado que los requerimientos presentes y futuros no justificaban una inversión tan grande, me planteé la alternativa de una solución a medida para obtener la respuesta a los requerimientos.

Esta opción consistía en dar una solución a la necesidad del proyecto, sin tener en cuenta la construcción de una plataforma analítica para su uso en futuros proyectos. Se trataba, pues, de un Quick Win.

Las opciones tecnológicas que planteé para esta alternativa fueron:

  • Servidor único, con ejecución serializada de larga duración en un servidor propio o en el cloud.
  • Cluster de Big Data, con ejecución distribuida en el cloud (eliminando la opción de cluster de Big Data propio).

En el primer caso, si el cliente disponía de un servidor donde poder ejecutar el proceso, el coste de hardware y software sería nulo. Únicamente tendrían que tener en cuenta el tiempo de ejecución del proceso, presumiblemente de larga ejecución por la serialización de éste.

El segundo caso, fue planteado únicamente en el cloud para pagar por uso computacional y reducir los gastos si lo comparamos con una solución on premise.

En este caso, la opción propuesta fue la de ejecución serializada en un servidor único disponible en el cliente, puesto que el cliente disponía del hardware necesario para ello. La ejecución del proceso se demoraría durante pocos días, pero daría respuesta a los requerimientos planteados al inicio del proyecto.

Conclusión

Big Data nos permite obtener soluciones a situaciones a las que el BI tradicional no puede dar respuesta.

Una solución de Big Data supone una inversión tanto tecnológica como de recursos humanos importante. Antes de realizar dicha inversión, es conveniente hacer un análisis del ROI para ver la conveniencia o no del esfuerzo económico.

Cuando una organización no dispone de una estrategia analítica o unos requerimientos que justifiquen la inversión de introducir Big Data, es importante explorar otras alternativas.

El uso de Big Data es un caramelo para las organizaciones, pero no siempre es la mejor solución a las necesidades corporativas. Un análisis de los requerimientos a corto, medio y largo plazo permitirá dictaminar la mejor opción.

El Valor de la información

 

Es habitual encontrar definiciones de Big Data basadas en las V’s: Volumen, Velocidad, Variedad, Veracidad… Una V que a menudo aparece en estas definiciones es la de Valor.

Los datos en sí carecen de Valor. Al otorgarles un contexto, estos datos proporcionan información. Y al combinar distintas informaciones aparece el conocimiento, que es el que permite tomar decisiones de manera inteligente.

¿Dónde aparece el Valor? ¿A qué se refiere la gente que habla del Valor en Big Data?

El dato contextualizado como fuente de Valor

El dato contextualizado aporta información. Por ejemplo, un sensor de temperatura puede darnos un conjunto de temperaturas en varias mediciones sucesivas. El contexto incluye las unidades de medida (°C) y la dimensión temporal, entre otras. Solamente con esta versión reducida del contexto, podemos ver la evolución de la temperatura a lo largo de un periodo de tiempo.

Si estas mediciones corresponden al proceso de vitrificación de ovocitos (técnica para la conservación de óvulos a temperaturas inferiores a -196°C), la información de la velocidad de enfriamiento aporta un gran Valor, ya que un proceso demasiado lento podría significar la creación de cristales de hielo que podrían dañar el óvulo.

Por tanto, queda claro que la información (la existencia de datos contextualizados), aporta Valor.

El Valor está en todo sistema analítico

Todo sistema analítico obtiene datos y los contextualiza. Por tanto, la aparición de Valor es propia de todo sistema analítico.

Hablar de Big Data como herramienta indispensable para aportar Valor es negar la posibilidad de que un sistema analítico tradicional (Business Intelligence) aporte Valor.

Big Data, como solución técnica dentro de un sistema analítico, también permite la aparición de Valor. Sin embargo, no aporta Valor por sí mismo. Es la información la que aporta Valor.

¿Qué aporta Big Data?

Big Data no hace que los datos adquieran Valor. Sin embargo, nos permite analizar datos y transformarlos en información, en situaciones en las que un sistema analítico tradicional se ve limitado.

Es aquí donde se halla la «aportación» de Valor de Big Data. En la posibilidad de obtener información que de otra forma no podríamos obtener.

Por tanto, Big Data es una solución que nos permite expandir el Valor global de los datos, por el mero hecho de que puede obtener más información que un sistema analítico tradicional.

Conclusión

El Valor aparece al obtener información a partir de la contextualización de los datos.

Un sistema analítico nos permite obtener información a partir de los datos. Esto significa que todo sistema analítico permite obtener Valor.

Big Data, al superar los límites de un Business Intelligence tradicional, permite obtener más información. Eso supone obtener un Valor adicional. Por eso, el uso de Big Data para obtener la misma información que un Business Intelligence tradicional, no aporta ningún Valor añadido.

Predecir el futuro es posible

 

La toma de decisiones es crucial para el éxito de una organización. Estas decisiones pueden estar basadas en la experiencia o en la observación y análisis de datos históricos.

En este último caso, la predicción analítica nos permite tomar decisiones con un nivel de confianza predeterminado, a partir del análisis de grandes cantidades de datos y variables. Algo que escapa a la mente humana, por mucha experiencia que alguien pueda tener.

La responsabilidad de las organizaciones es definir un marco de trabajo para que sus empleados (desde los directivos hasta los operarios) puedan tomar decisiones con fundamento.

¿Qué es la predicción analítica?

La predicción analítica es como una bola de cristal que nos permite saber, con cierto grado de probabilidad, qué va a suceder. Ésta se basa en el análisis de datos históricos y en la determinación de patrones que se repiten en esos datos (por decirlo de una manera muy simple). El objetivo es la creación de un modelo predictivo que tiene como finalidad asignar una probabilidad de que algo suceda.

Este modelo es creado a partir de diferentes técnicas, en función del escenario de negocio. Estas técnicas incluyen el uso de estadística avanzada y algoritmos de Inteligencia Artificial entre otras. Algunos de los métodos usados en predicción analítica son las regresiones, árboles de decisión, clustering y redes neuronales. Estadística predictiva, Machine Learning y Deep Learning, entre otros, son términos asociados con el análisis de grandes volúmenes de datos para la creación de modelos de predicción analítica.

Grandes volúmenes de datos

El análisis parte de un gran volumen de datos. Este volumen vendrá determinado por el número de registros. A mayor conjunto de datos, mejor predicción.

¿Tomaríamos una decisión basada en una experiencia prácticamente inexistente? Seguramente no. El motivo es que no dispondríamos de suficiente respaldo para esa decisión. Lo mismo sucede con la predicción analítica.

Es posible generar modelos predictivos a partir de conjuntos pequeños de datos. Sin embargo, estos modelos no proporcionan una confianza lo suficientemente alta.

Imaginad que lanzamos un dado 6 veces y obtenemos las siguientes puntuaciones:

PuntuaciónNúmero de tiradas
10
23
30
41
50
62

Un modelo predictivo basado en este conjunto de observaciones, nos diría que probabilidad de que salga un número par al lanzar este dado en particular es del 100% (contra un 0% de que salga un número impar).

En este caso, la toma de decisiones basada en este modelo sería muy arriesgada (por sentido común).

Sin embargo, ¿qué confianza nos daría un modelo con esas probabilidades si el número de observaciones fuera 100? ¿Y 1000? ¿Y 1.000.000? Obviamente, la confianza sería mucho más alta. Y en este caso, seguramente nos plantearíamos si el dado está trucado.

Grandes conjuntos de variables

El número de variables a analizar determina el modelo de predicción. Un número muy bajo de variables es lo que hace que la gente se atreva a predecir qué va a suceder. En este caso, el comportamiento humano tiende a simplificar escenarios prescindiendo de variables, obviar casos que no se ciñan a lo esperado, etc. Esto deriva en una predicción falseada que afecta a la toma de decisiones.

Al incrementar el número de variables de un escenario, ese análisis se complica. Es en ese momento en el cual es necesario utilizar técnicas complejas de análisis que permitan analizar todas las variables disponibles.

El uso de un gran número de variables no significa que el modelo de predicción se base en todas ellas. Existen correlaciones y dependencias entre variables, lo cual hace que algunas de ellas impliquen los valores de otras. Por tanto, es posible que algunas, o gran parte de ellas no aparezcan en el modelo predictivo.

Conclusión

La predicción analítica permite obtener respuestas a qué va a suceder en el futuro con una probabilidad concreta en cada caso. El umbral del índice de confianza designado por el usuario para ese modelo determinará la toma de decisión final.

Para obtener un modelo de predicción con un alto nivel de confianza, es necesario disponer de un gran volumen de datos.

El gran número de variables permite generar un modelo de predicción más ajustado, ya que no obviamos información que puede acabar de determinar esa probabilidad final en cada caso.

La creación de un modelo de predicción requiere el uso de estadística avanzada o algoritmos de Inteligencia Artificial. Por tanto, es necesario contar con expertos en alguna de estas áreas que dispongan de la experiencia necesaria para poder obtener un modelo válido que aporte valor y sea válido para la toma de decisiones en una organización.

Agregación de datos y creación de nuevas entidades con Big Data

 

En escenarios con grandes volúmenes de datos, almacenar los datos a nivel de detalle para después agregarlos en tiempo de consulta puede suponer un gran esfuerzo (necesitamos agregar una gran cantidad de datos). Tener esos datos agregados previamente supone un beneficio a la hora de realizar consultas, aunque también genera inconvenientes al tener que mantener esas agregaciones actualizadas. Encontrar ese punto de equilibrio es esencial.

Pero, de hecho, esa agregación (la clásica, basada en funciones de agregación como la suma, la media, etc.) no es la agregación más importante que podemos realizar.

Nuevas entidades y propiedades

Existen otro tipo de agregaciones no basadas en funciones de agregación, que nos permiten tratar conjuntos de datos como una nueva entidad. Esa entidad tendrá asociadas un conjunto de características que podemos deducir del análisis de los datos, a pesar de que esas características no aparezcan como tales en los datos.

Es decir, a partir del análisis de los datos elementales, podemos extraer información de más alto nivel. Esa nueva información es el resultado de aplicar una serie de reglas que nos permiten abstraer la complejidad de los datos de manera que no tengamos que realizar esos cálculos cada vez que queramos analizarlos.

Este proceso, que realizamos mentalmente en tiempo real, requiere de una gran cantidad de cálculos y cierto entrenamiento para las máquinas (igual que lo necesitamos nosotros inicialmente). Ahí es donde Big Data nos descubre su gran potencial.

Ejemplo: Defensa de un saque de esquina

Un ejemplo sería determinar el tipo de defensa realizada por un equipo de fútbol al defender un saque de esquina. Simplificando el escenario, podemos defender individualmente o en zona. Sin embargo, a nivel de datos, tan solo disponemos de los datos de posicionamiento de los jugadores y la pelota dentro del terreno de juego.

Determinar el tipo de defensa lo podemos deducir a partir de los datos con la posición de los jugadores de ambos equipos. ¿Siguen los defensores a los atacantes? ¿Se quedan los defensores en su parcela dentro del área?

Si cada vez que queremos analizar el resultado de un saque de esquina en función de cómo se defiende, tuviéramos que realizar ese análisis de posiciones en los segundos anteriores a la ejecución del saque de esquina, sería un proceso muy lento. Pero si al procesar los datos de éste, agregamos esas posiciones para establecer el tipo de defensa, el análisis posterior será mucho más rápido y eficiente.

La nueva entidad que aparece al analizar estos datos podría llamarse «Tipo de defensa». Y sus características podrían incluir el número de jugadores defendiendo, el número de parcelas defendidas, el número de jugadores por parcela, la altura de los jugadores por parcela (e.g. los más altos en el centro del área y los más bajos en las posiciones exteriores).

A partir de esta nueva entidad y sus características es posible analizar los datos de una manera más fácil para el usuario que quiere explotar los datos, ya que el análisis posterior se realizará en función de esta nueva agregación y no en función de datos de posicionamiento.

Conclusión

La agregación de datos en nuevas entidades con propiedades propias permite la abstracción de datos a bajo nivel. Esto simplifica el análisis de los datos y evita realizar un gran número de cálculos cuando los datos quieren ser consultados por los usuarios.

Big Data nos permite realizar cálculos complejos que nos permiten realizar estas abstracciones y crear estas nuevas entidades. Gracias a tecnologías de análisis como Machine Learning, podemos entrenar modelos que aprenderán a catalogar los datos en estas nuevas entidades.

La agregación de datos clásica, basada en funciones de agregación, continúa siendo muy importante a la hora de analizar los datos. Sin embargo, la aparición de nuevas entidades por agregación de datos abre la puerta a nuevos tipos de análisis que anteriormente resultaban muy complejos. Ahí es donde Big Data nos muestra su gran potencial.

Big Data: Más que escalabilidad

 

Cuando un sistema informático puede llegar a procesar grandes cantidades de datos, es muy importante que éste sea escalable. Es decir, que pueda crecer para soportar cargas de trabajo mayores a las que originalmente soporta.

Una solución Big Data es un sistema escalable, puesto que un clúster puede aumentar el número de nodos existentes. Sin embargo, no todo sistema escalable requiere de una solución Big Data.

 

Escalabilidad horizontal

Un escenario candidato para escalabilidad es aquel necesita crecer para poder dar respuesta a una demanda creciente de recursos.

En un sistema donde el número de usuarios (y por tanto de recursos), puede crecer de manera dinámica, puede ser necesario en algún momento añadir capacidad computacional a ese sistema para poder garantizar el servicio a todos los usuarios.

Cuando un sistema informático llega a su capacidad máxima, si queremos escalabilidad horizontal, debemos añadir otra máquina para así poder mantener el servicio. En este caso hablamos de escalabilidad horizontal.

Otra opción es la de la escalabilidad vertical que vendría a ser el hecho de añadir recursos a esa máquina. Eso sucede cuando por ejemplo se amplía la memoria RAM, el número de procesadores o la capacidad de disco. Sin embargo, el problema de la escalabilidad vertical es que no es tan flexible como la horizontal. Por este motivo, no se ha tenido en cuenta en este artículo.

¿Dónde están los datos?

En el caso de la escalabilidad horizontal las nuevas máquinas se utilizan para dar servicio desde el punto de vista de proceso. Y para procesar las peticiones de servicio, es necesario tener datos. Pero, ¿dónde están los datos? Los datos se encuentran almacenados típicamente en un repositorio común: la base de datos.

En un escenario con escalabilidad horizontal, la base de datos puede ser centralizada o replicada.

En el caso de una base de datos centralizada, todos los procesos que dan servicio a las peticiones de usuarios deben conectarse a un recurso único, compitiendo por sus recursos para resolver las consultas. Este escenario puede provocar un cuello de botella en el acceso a la base de datos, ya que ésta no ha escalado (solamente ha escalado la parte de peticiones de proceso).

La solución, cuando la carga de la base de datos es muy grande, es la de replicar la base de datos en las máquinas que aparecen durante el aumento de la capacidad del sistema. En este caso, la máquina dispone de su propia copia de la base de datos.

Desde el punto de vista de la gestión y el acceso a los datos ambas situaciones son muy similares (no entramos a discutir aquí la complejidad de la replicación de datos). Pero no dejan de ser un escenario clásico, con una base de datos completa contenida en un único punto.

Computación distribuida

Con la computación distribuida cambiamos totalmente de paradigma, tal y como ya expliqué en el artículo ¿Qué es la computación distribuida de Big Data?.

En este escenario los datos no se hallan centralizados en una única base de datos o en réplicas de ésta que contienen todos los datos necesarios para dar servicio a las peticiones de proceso de información.

En la computacion distribuida los datos están esparcidos por los diferentes nodos de un cluster. Además, el proceso de análisis de la información se realiza en paralelo en diferentes nodos de dicho cluster.

Escalabilidad horizontal vs. Big Data

Este punto es sumamente importante a la hora de identificar los requerimientos técnicos de una solución. A menudo estos dos conceptos provocan confusión. Es frecuente encontrar a personas con un perfil técnico pero con serias dudas al respecto. Sobre todo si esa charla se incluye en el ámbito del Big Data. En estas situaciones la gente está predispuesta a utilizar una tecnología Big Data. Y por tanto, son propensos a adoptar una solución que implique la utilización de una arquitectura Big Data (aunque, como hemos visto, haya una solución alejada de este paradigma que pueda dar respuesta a su problema).

En estos casos siempre animo a los confundidos a dejar aparte y analizar los requerimientos técnicos a los que se enfrentan. Al identificar esos requerimientos y separarlos de ese interés concreto sobre Big Data es relativamente sencillo que esas personas se den cuenta de que Big Data no es la solución que necesitan.

Conclusión

Big Data utiliza computación distribuida (que no es lo mismo que escalabilidad horizontal), a pesar de que el crecimiento de un cluster de Big Data se basa precisamente en esa escalabilidad horizontal.

Para determinar la solución técnica más adecuada para un sistema informático, es necesario analizar los requerimientos funcionales y técnicos, y dejar de lado los intereses y predisposiciones existentes, ya que éstas pueden afectar a la decisión, restando objetividad al análisis.

Si finalmente decidimos usar una plataforma de Big Data, tendremos como beneficio la computación distribuida. Algo que nos permitirá ir más allá que una «simple» escalabilidad horizontal.

5G y Big Data

 

 

Esta semana se ha celebrado el Mobile World Congress en Barcelona. Según la prensa especializada, uno de los temas estrella de este año es el 5G.

¿Qué impacto tendrá el 5G en la toma de decisiones de las organizaciones?

 

5G

Por fin ya tenemos aquí la tecnología que nos permitirá trabajar con datos en tiempo real. La velocidad de transmisión del 5G puede llegar a ser hasta 100 veces superior a la del 4G. Esto supone un sinfín de oportunidades dentro del marco del Internet of Things (IoT) y por supuesto del análisis de los datos. Mejoras que tendrán un claro reflejo en la mejora en la toma de decisiones.

Dispositivos generadores de datos

En los últimos años hemos podido ver una gran incremento en el número de dispositivos que generan gran cantidad de datos. En algunos casos, como en los smartphones y los smartwatches, al estar dotados de conectividad ya sea mediante 4G o Wi-Fi, estos datos son transmitidos a un repositorio central desde donde pueden ser analizados.

Sin embargo, para la mayoría de estos dispositivos, al no estar éstos conectados online, no es posible enviar estos datos. La solución de compromiso por la cual han optado muchos fabricantes es la de permitir conectar estos dispositivos a un ordenador o a un móvil para así poder descargar esos datos y realizar análisis a partir de esos datos de carácter privado. Por ejemplo, un podómetro o un aparato para medir la presión arterial permiten el análisis de los datos pero solamente a nivel de dispositivo.

Internet of Things

El 5G permitirá la transmisión de datos de manera efectiva. La velocidad de transmisión de datos se incrementará de tal manera que permitirá que los datos generados por estos dispositivos puedan ser transmitidos directamente a un repositorio central.

Los beneficios son múltiples. Por ejemplo, no necesitaremos descargar los datos siempre a un mismo dispositivo para poder disponer de todo el historial de datos. Además, los análisis sobre esos datos podrán ser mucho más ricos y podrán proporcionar información muy valiosa que ahora está fuera del alcance de los usuarios. Un ejemplo es la opción de comparar esos datos con millones de otros usuarios, lo que permitiría comparar cada individuo con otros usuarios de perfil similar.

El 5G es prácticamente una realidad a nivel comercial. Los fabricantes de teléfonos móviles ya están presentando sus primeros aparatos con conectividad 5G. Según se respira en el ambiente, cuando la cobertura sea una realidad, las ventas se dispararán. Y a su vez, el mercado se inundará de dispositivos conectados a esta nueva red de telecomunicaciones. El Internet of Things será una realidad. Estamos a punto de vivir una nueva revolución en lo que confiere a los datos.

Big Data para poder competir

Será en este momento en el que la necesidad de analizar toda esta información experimentará un gran crecimiento. Y para poder realizar ese análisis teniendo en cuenta la gran cantidad de datos, la necesidad tomar acciones en tiempo real y la gran variedad de datos generados, será necesario la aplicación técnicas de Big Data. Las empresas han empezado a moverse en los últimos años en esta área, interesándose cada vez en el análisis de información. Pero aún hay mucho camino por recorrer.

En este mercado tan competitivo es importante moverse rápido. Ya lo dijo en su día Charles Darwin: «Las especies que sobreviven son las que mejor se adaptan a los cambios».

¿Qué nivel de adaptación van a tener las empresas? Es difícil responder a esta cuestión pero lo cierto es  que la adaptación a los nuevos tiempos va a depender de la capacidad de las organizaciones para implantar mecanismos analíticos para mejorar la toma de decisiones a todos los niveles organizativos. Y para eso Business Intelligence y Big Data van a jugar un papel crucial.

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.

¿Necesitas a alguien que te asesore en el área del Business Intelligence?

 

En la gran mayoría de clientes a los cuales he ofrecido servicios de consultoría, me he encontrado con personas con un entendimiento del Business Intelligence (BI) bastante limitado. No los culpo. Supone un cambio de paradigma respecto a la manera tradicional de gestionar una organización, que es lo que la gran mayoría había aprendido.

En estos casos, mi experiencia me dice que lo mejor es abrirles la mente, haciéndolos reflexionar.

 

Hoy quiero que dediques unos minutos a leer este artículo y a reflexionar un poco. Seguramente es un tiempo precioso para ti, pero te aseguro que bien invertido puede reportarte grandes beneficios.

¿Has necesitado una solución de BI en el pasado?

A continuación encontrarás seis preguntas.

Te pido que después de cada una, dediques un tiempo a pensar en ocasiones en tu vida en las que esa situación se ha dado, si ha habido alguna. Y después, contesta cada pregunta siendo consciente de esas situaciones.

  • Alguna vez has necesitado información sobre tu negocio y no la has tenido a tu disposición?
  • Crees que la información en tu negocio no fluye de manera ágil?
  • Alguna vez has sufrido algún contratiempo en tu negocio por falta de información?
  • Eres consciente de que con acceso a información útil, los empleados de tu empresa podrían tomar más y mejores decisiones?
  • Alguna vez has recibido información demasiado tarde como para poder reaccionar a tiempo y revertir una situación o tendencia negativa?
  • Has tomado alguna vez alguna decisión basada en suposiciones y no en hechos contrastados?

Si has contestado “Sí” a alguna de estas preguntas, es que en esa situación necesitabas una solución de BI.

Piensa en el futuro

Ahora que ya sabes cómo identificar si necesitas una solución de BI, piensa en el futuro.

La toma de decisiones dentro de una organización, cuando se hace de manera racional, basándonos en hechos reales, proporciona resultados más efectivos. Piensa en cómo tener una solución de BI podría mejorar los procesos de tu organización a todos los niveles de decisión.

Es un proceso que requiere, tal y como he indicado al principio del artículo, un cambio de paradigma, un cambio de mentalidad. Pero lo bueno que tienes es que, si te has tomado tu tiempo reflexionando sobre las preguntas anteriores, estás abriendo tu mente a ese cambio. Y cuando entiendas la necesidad, verás el amplio espectro de posibilidades que BI te puede ofrecer.

Conclusión

A pesar de los años que el BI lleva en el mercado, aún hay muchas lagunas acerca de lo que puede aportar a las organizaciones, por parte de los directivos de éstas.

Como asesor de empresas en el ámbito del análisis de datos, me veo en la necesidad de ejercer como evangelizador del BI en muchos casos. Es decir, una de las tareas iniciales consiste en abrir la mente de mis clientes acerca de los beneficios que el BI puede aportar a su organización. Y esto lo consigo a partir de preguntas como las que habéis visto en este artículo.

Finalmente, una vez el cliente ha entendido qué es el BI y qué beneficios puede conllevar su implantación, podemos empezar a hablar de casos concretos.

Y ahí es donde empieza la asesoría. ¿Hablamos?