Big Data:
Big Data es un campo orientado al análisis, procesamiento y almacenamiento de grandes colecciones de datos que, con frecuencia, provienen de distintas fuentes.
Por lo general, se requieren soluciones y prácticas de Big Data cuando la tecnología tradicional de análisis, procesamiento y almacenamiento de datos no es suficiente.
Las soluciones de Big Data pueden procesar grandes cantidades de datos que son recibidos a distintas velocidades, son ampliamente variados y tienen numerosas incompatibilidades.
En los entornos Big Data, los datos son acumulados al interior de la empresa por medio de aplicaciones o a partir de fuentes externas, y posteriormente son almacenados en la solución de Big Data.
Los datos procesados por una solución de Big Data pueden ser utilizados directamente por las aplicaciones empresariales, o pueden ser enviados a una bodega de datos (DWH), a fin de enriquecer los datos ya existentes. Estos datos generalmente son analizados y sometidos a analítica.
Los resultados del procesamiento de la solución de Big Data pueden generar una gran variedad de conocimientos y beneficios, por ejemplo:
optimización operativa
inteligencia accionable
identificación de nuevos mercados
predicciones precisas
detección de errores y fraudes
registros más detallados
mejor toma de decisiones
descubrimientos importantes
Características de los datos en los entornos Big Data:
Volumen
El volumen anticipado de los datos que son procesados por las soluciones de Big Data es importante y cada vez mayor. Un gran volumen de datos implica demandas específicas de
almacenamiento y procesamiento, al igual que procesos de gestión y acceso.
Entre las fuentes típicas de datos que son responsables de la generación de grandes volúmenes de datos están:
las transacciones online (punto de venta, bancarias)
datos científicos y de investigación (Gran Colisionador de Partículas, Telescopio del Atacama Large Millimeter/submillimeter Array (ALMA))
datos de sensores (RFID, medidores inteligentes, sensores GPS)
social media (Facebook, Twitter)
Velocidad
La velocidad de los datos se traduce en la cantidad de tiempo necesaria para que los datos sean procesados una vez que llegan a la empresa. Lidiar con el veloz flujo de entrada de datos requiere que la empresa diseñe soluciones altamente flexibles y disponibles de procesamiento, que cuenten con la correspondiente capacidad de almacenamiento de datos.
En la actualidad, los siguientes datos son generados cada minuto: 100.000 tuits, 48 horas de video, 171 millones de correos electrónicos.
Variedad
La variedad de los datos se refiere a los múltiples formatos y tipos de datos que deben ser compatibles con las soluciones de Big Data, como datos estructurados, semiestructurados y sin
estructurar. La variedad de datos presenta desafíos para las empresas en términos de integración, transformación, procesamiento y almacenamiento de los datos.
Veracidad
La veracidad se refiere a la calidad o fidelidad de los datos. Dentro de los entornos Big Data, existen datos que pueden ser significativos o que simplemente ocupan espacio. Cuando se
evalúan en función de su veracidad, los datos pueden ser de dos tipos:
Ruido; datos que no tienen valor alguno
Señal; datos que tienen valor que conduce a información importante
Por lo general, los datos que son adquiridos de forma controlada —por ejemplo, mediante registros de clientes online— contienen menos ruido que los datos adquiridos mediante fuentes
no controladas, como las publicaciones de blog.
Valor
El valor se define como la utilidad que los datos tienen para una empresa. La característica de valor está directamente relacionada con la característica de veracidad, en la medida en que, entre más alta sea la fidelidad de los datos, mayor será el valor de los mismos para la empresa. El valor también depende de qué tanto tiempo consuma el procesamiento de los datos, ya que el valor y el tiempo de procesamiento son inversamente proporcionales. Cuanto más tiempo se tarden los datos en ser convertidos en información significativa, menor será el valor que tengan para la empresa, ya que afecta la velocidad con la cual se pueden tomar decisiones informadas.
Tipos de datos en los entornos Big Data:
Datos estructurados
Los datos estructurados:
cumplen un modelo de datos o esquema
son almacenados de forma tabular
pueden ser relacionales
Por lo general, los datos estructurados son almacenados en bases de datos relacionales, y con frecuencia son generados por aplicaciones empresariales personalizadas, los sistemas de Planificación de Recursos Empresariales (ERP) y los sistemas de Relación con los Clientes (CRM). Estos datos normalmente no tienen ningún requisito especial de preprocesamiento o almacenamiento. Algunos ejemplos son las transacciones bancarias, los registros de los sistemas de OLTP y los registros de clientes.
Datos sin estructurar
Los datos sin estructurar:
no cumplen un modelo de datos o esquema
generalmente no son consistentes ni relacionales
Los datos sin estructurar se encuentran en forma textual o binaria. Algunos ejemplos son archivos de imágenes, audio y video. Técnicamente, los archivos de texto y binarios tienen una
estructura que está definida por el formato del archivo en sí. Omitimos este hecho para concentrarnos exclusivamente en el formato de los datos contenidos en el archivo. Por lo
general, los datos sin estructurar comprenden hasta el 80% de los datos al interior de una empresa, y tienen un índice de crecimiento mayor que el de los datos estructurados.
A diferencia de los datos estructurados, los datos sin estructurar normalmente requieren una lógica especial o personalizada al momento de ser preprocesados y almacenados. No pueden
ser procesados ni consultados intrínsecamente por medio de SQL ni de otras características tradicionales de programación, y usualmente no se corresponden bien con las bases de datos
relacionales. Una base de datos NoSQL es una base de datos no relacional que puede ser utilizada para almacenar datos sin estructurar y datos estructurados.
Datos semiestructurados
Los datos semiestructurados tienen un nivel definido de estructura y consistencia, pero no son relacionales. En su mayoría se encuentran en formatos textuales, como archivos XML o JSON,
y generalmente, su procesamiento es más sencillo que el de los datos sin estructurar. Entre los ejemplos de fuentes comunes de datos semiestructurados están los intercambios
electrónicos de datos (EDI), los correos electrónicos, las hojas de cálculo, los canales RSS y los datos de sensores. A menudo, los datos semiestructurados tienen requisitos especiales de preprocesamiento y almacenamiento, especialmente si el formato subyacente no está basado en texto.
Metadata
Los metadata proporcionan información sobre las características y la estructura de un dataset. En su mayoría, este tipo de datos son generados por máquinas y anexados automáticamente a
los datos. Son esenciales para el procesamiento, almacenamiento y análisis de Big Data. Algunos ejemplos de metadata son:
las etiquetas XML que brindan información sobre el autor y la fecha de creación de un documento
los atributos que proporcionan información sobre el tamaño del archivo y la resolución de una fotografía digital
Las soluciones de Big Data dependen de los metadata, particularmente durante el procesamiento de datos semiestructurados y sin estructurar.
Tipos de datos y veracidad
Los datos semiestructurados y sin estructurar tienen una mayor proporción entre ruido y señal que los datos estructurados. Debido a esta mayor cantidad de ruido, se requiere la limpieza
(Cleansing) automatizada y la verificación de los datos al momento de realizar procesos ETL.
Tipos de archivos Big Data:
Los datos generados por humanos son el resultado de la interacción entre las personas y los sistemas; por ejemplo, servicios online y dispositivos digitales.
Los datos generados por máquinas son el resultado de la generación de datos automatizada y determinada por eventos, ejecutada por programas de software o dispositivos de hardware.
Tecnologías empresariales tradicionales relacionadas con Big Data:
Sistemas de OLTP y OLAP
Un sistema de OLAP siempre es alimentado con datos de múltiples sistemas de OLTP por medio de trabajos regulares de procesamiento por lotes (Batch Processing). A diferencia de los sistemas de OLTP, el tiempo de respuesta de las consultas de OLAP puede ser de varios minutos o más, dependiendo de la complejidad de la consulta y de la cantidad de registros solicitados.
Extraer – transformar – cargar (ETL)
Extraer – transformar – cargar (ETL) es un proceso mediante el cual los datos son cargados desde un sistema origen hacia un sistema destino. El sistema origen puede ser una base de datos, un archivo plano o una aplicación. De igual forma, el sistema destino puede ser una base de datos o cualquier otro sistema de información.
ETL representa la principal operación por medio de la cual las bodegas de datos digitales (Data Warehouse) reciben datos. Una solución de Big Data abarca el conjunto de características de ETL con el fin de convertir datos de distintos tipos. La Figura 1.15 muestra que primero los datos requeridos son obtenidos o extraídos del origen, luego son modificados o transformados mediante la aplicación de reglas. Por último, los datos son insertados o cargados al sistema destino.
Bodegas de datos digitales (Data Warehouse)
Una bodega de datos digital (Data Warehouse) es un repositorio central a nivel empresarial que contiene datos históricos y actuales. Las bodegas de datos digitales (Data Warehouse) son usadas considerablemente por la Inteligencia de negocios (BI) para realizar distintas consultas analíticas, y por lo general tienen interfaces con el sistema de OLAP para tener compatibilidad de consulta analítica, como se muestra en la Figura 1.16.
Los datos relacionados con distintas entidades empresariales y que provienen de diferentes sistemas operacionales son extraídos, validados, transformados y consolidados periódicamente en una sola base de datos. Gracias a las importaciones periódicas de datos provenientes de toda la empresa, la cantidad de datos contenidos en una sola bodega de datos digital (Data Warehouse) seguirá aumentando. Como resultado, los tiempos de respuesta de las tareas de consulta de análisis de datos (Data Analysis) ejecutadas como parte de la inteligencia de negocios (BI) pueden verse afectados.
A fin de solucionar esta deficiencia, por lo general, las bodegas de datos digitales (Data Warehouse) contienen bases de datos optimizadas, llamadas bases de datos analíticas, para gestionar las tareas de reporte y análisis de datos (Data Analysis). Una base de datos analítica puede existir como una RDBMS, como en el caso de una base de datos de OLAP.
Data marts
Un data mart es un subconjunto de datos almacenados en una bodega de datos digital (Data Warehouse) que, por lo general, pertenece a un departamento, división o línea de negocio específica. Las bodegas de datos digitales (Data Warehouse) pueden tener múltiples data marts. Como se muestra en la Figura 1.17, se recopilan y posteriormente se extraen los datos provenientes de toda la empresa y de las entidades empresariales. Las entidades particulares de un dominio son guardadas en la bodega de datos digital (Data Warehouse) mediante un proceso de ETL.
Hadoop
Hadoop es un framework de código abierto para el almacenamiento y procesamiento de datos a gran escala que técnicamente es ejecutado en hardware básico. El framework de Hadoop se ha establecido como la plataforma predeterminada de la industria para las soluciones modernas de Big Data. Puede ser utilizado como un motor de ETL o analítico para procesar grandes cantidades de datos estructurados, semiestructurados y sin estructurar.
Comparación entre EDW y Big Data:
Las EDW contienen datos de gran valor, los cuales han sido sometidos a rigurosas verificaciones de validación y control de calidad.
Por otro lado, los datasets de Big Data deben ser almacenados sin procesar ni estructurar, y sus valores son desconocidos.
Big Data requiere un repositorio que actúe como un sink de una variedad de fuentes de datos, en el cual los datos son almacenados tal cual.
A diferencia de la EDW, en los entornos Big Data, los datos no requieren una categorización previa para responder a las consultas específicas de análisis de datos (Data Analysis). En lugar de eso, los datos son almacenados como un "Data Lake" sin ninguna organización formal.
Esta comparación entre el almacenamiento de datos tradicional y Big Data revela que una EDW por sí sola no consigue cumplir con los requisitos de volumen, velocidad, variedad, escalabilidad y análisis de datos (Data Analysis) de Big Data.
No obstante, una EDW ofrece acceso centralizado a grandes volúmenes de datos recopilados de toda la empresa, a fin de obtener baja latencia, reportes y análisis de datos (Data Analysis) más detallados.
Al comparar el valor de una EDW en el contexto de tecnologías de Big Data, se puede concluir que este último no puede reemplazar al anterior. Por el contrario, deberían complementarse el uno al otro para obtener el máximo valor.
Combinar ambos valores no solo ayuda a cumplir con varios requisitos de almacenamiento de datos, sino que también ayuda a llevar a cabo varios tipos de análisis de datos (Data Analysis) que van desde lo descriptivo hasta lo prescriptivo.
Analítica
La analítica es la disciplina encargada comprender los datos, analizándolos mediante una variedad de técnicas científicas y herramientas automatizadas, enfocada en el descubrimiento
de patrones y correlaciones ocultos. En los entornos Big Data, la analítica por lo general es aplicada usando tecnologías y frameworks distribuidos y altamente escalables para analizar
grandes volúmenes de datos provenientes de distintas fuentes. Por lo general, el proceso de analítica implica filtrar grandes cantidades de datos sin procesar
ni estructurar, con el fin de extraer información significativa que pueda servir como datos de entrada para identificar patrones, enriquecer los datos empresariales actuales o realizar
búsquedas a gran escala. Distintas organizaciones utilizan técnicas y herramientas de analítica en formas diferentes; por ejemplo, estos tres sectores:
En los entornos orientados a los negocios, los resultados de la analítica pueden disminuir los costos operativos y facilitar la toma estratégica de decisiones. En el ámbito científico, la analítica puede ayudar a identificar la causa de un fenómeno y mejorar la precisión de las predicciones.
En los entornos basados en servicios —como en las organizaciones del sector público—, la analítica puede ayudar a mejorar el enfoque orientado en la prestación de servicios de alta calidad, disminuyendo los costos.
En general, la analítica facilita la toma de decisiones determinadas por datos, con un respaldo científico, de manera que estas decisiones puedan estar basadas en datos concretos y no solamente en la experiencia o la intuición.
Tipos de analítica
Analítica descriptiva
La analítica descriptiva se ejecuta para responder preguntas sobre eventos que ocurrieron. Algunas preguntas de ejemplo pueden ser:
¿Cuáles son los datos de las ventas de los últimos 12 meses?
¿Cuántas llamadas de soporte técnico fueron recibidas y categorizadas según la gravedad y ubicación geográfica?
¿Cuál es la comisión mensual que gana cada agente de ventas?
Alrededor del 80% de la analítica es de naturaleza descriptiva. En términos de valor, la analítica descriptiva proporciona un valor mínimo y requiere un conjunto relativamente básico de habilidades. A menudo, la analítica descriptiva se ejecuta mediante reportes o tableros de control (Dashboards) especializados, como se muestra en la Figura 1.37. Por lo general, los reportes son de naturaleza estática y muestran datos históricos que son presentados en forma de grillas de datos o gráficos. Las consultas son ejecutadas en los sistemas de OLTP o en los datos obtenidos a partir de una variedad de otros sistemas de información, tales como CRM Y ERP.
Analítica diagnóstica
La analítica diagnóstica tiene como objetivo determinar la causa de un fenómeno que ocurrió en el pasado, usando preguntas que se enfocan en la razón del evento.
Algunas preguntas de ejemplo pueden ser:
¿Por qué las ventas del segundo trimestre fueron menores que las de primer trimestre?
¿Por qué se han recibido más llamadas de soporte técnico de la región este que de la región oeste?
¿Por qué hubo un incremento en las tasas de readmisión de pacientes en los últimos tres meses?
Se considera que la analítica diagnóstica proporciona más valor que la analítica descriptiva, y que requiere un conjunto de habilidades más avanzadas. Normalmente, también requiere recopilar datos a partir de múltiples fuentes y almacenarlos en una estructura que se presta para realizar drill-downs y roll-ups, como se muestra en la Figura 1.38. Los resultados de esta analítica pueden ser observados por medio de herramientas interactivas de visualización, que permiten que los usuarios identifiquen tendencias y patrones. Las consultas ejecutadas son más complejas en comparación con la analítica descriptiva y son realizadas sobre datos multidimensionales almacenados en sistemas de OLAP.
Analítica predictiva
La analítica predictiva se ejecuta en un intento por determinar el resultado de un evento que podría ocurrir en el futuro.
Las preguntas normalmente se formulan usando una lógica condicional qué tal sí, como en los siguientes ejemplos:
¿Cuáles son las probabilidades de que un cliente incurra en el incumplimiento de un préstamo si él no ha hecho el pago mensual? Si se administra el medicamento B en vez del medicamento A, ¿cuál será la tasa de supervivencia del paciente?
Si un cliente compra los Productos A y B, ¿qué posibilidades hay de que también compre el Producto C? La analítica predictiva intenta predecir el resultado de un evento. Las predicciones se hacen con base en patrones, tendencias y excepciones encontradas en datos históricos y actuales. Este análisis permite identificar riesgos y oportunidades.
La analítica predictiva implica el uso de datasets grandes compuestos por datos internos y externos, además de técnicas estadísticas, de análisis cuantitativo, de aprendizaje automático (Machine Learning) y de minería de datos (Data Mining). Se considera que este tipo de analítica proporciona más valor y requiere un conjunto de habilidades más avanzadas que las analíticas descriptiva y diagnóstica. Por lo general, las herramientas usadas abstraen particularidades estadísticas, proporcionando una interfaz de front-end fácil de usar
Analítica prescriptiva
La analítica prescriptiva está basada en los resultados de la analítica predictiva, al indicar acciones que se deberían realizar. Esta analítica se enfoca en qué opción indicada se debe seguir y en por qué y cuándo se debería seguir, con el fin de obtener una ventaja o mitigar un riesgo. Algunas preguntas de ejemplo pueden ser:
Entre tres opciones de medicamentos, ¿cuál ofrece los mejores resultados?
¿Cuándo es el mejor momento para comercializar una mercancía particular?
La analítica prescriptiva proporciona más valor que cualquier otro tipo de analítica, y en consecuencia, requiere un conjunto de habilidades más avanzadas, además de software y herramientas especializadas. Se calculan varios resultados y se sugiere el mejor plan de acción para cada uno de ellos. Se hace un cambio del enfoque explicativo al enfoque consultivo, y puede incluir la simulación de varias situaciones.
La analítica prescriptiva incorpora datos internos, incluidos datos de ventas actuales e históricos, información de los clientes, datos del producto, normas comerciales y también datos externos, incluidos datos de social media, datos climatológicos y datos demográficos. La analítica prescriptiva implica el uso de normas comerciales y grandes cantidades de datos internos y/o externos para simular los resultados y prescribir el mejor plan de acción,
Ciclo de vida del análisis de Big Data
A fin de abordar las circunstancias y requisitos concretos que implica el análisis y la analítica de Big Data, se requiere un proceso fundamental, paso a paso, que permita organizar las tareas relacionadas con la recolección, procesamiento, producción y reutilización de los datos.
Etapa 1: evaluación del caso empresarial
Todo ciclo de vida de análisis de Big Data debe comenzar con un alcance empresarial bien definido y un entendimiento claro de la justificación, motivación y metas de la ejecución del análisis. En la etapa de evaluación del caso empresarial es necesario crear, evaluar y aprobar un caso empresarial antes de proceder con las tareas reales y prácticas de análisis.
La evaluación de un caso empresarial de análisis de Big Data ayuda a las personas encargadas de tomar las decisiones a entender los recursos empresariales que se necesitarán y a saber qué retos empresariales se enfrentarán durante el análisis. La identificación más detallada de los KPI durante esta etapa ayuda a determinar qué tan cerca el resultado de los análisis de datos (Data Analysis) debe estar de alcanzar las metas y objetivos identificados.
Con base en los requisitos empresariales documentados en el caso empresarial se puede determinar si los problemas empresariales que se están abordando en realidad corresponden a problemas de Big Data. Para que un problema empresarial sea considerado un problema de Big Data, debe estar relacionado con una o más características de volumen, velocidad o variedad de Big Data.
Tenga en cuenta que otro resultado de esta etapa es la determinación del presupuesto subyacente necesario para llevar a cabo el proyecto de análisis. La adquisición necesaria de herramientas, hardware, capacitación, entre otros, debe ser conocida con anticipación para que la inversión prevista pueda ser sopesada frente a los beneficios esperados al alcanzar las metas. Para las iteraciones iniciales del ciclo de vida de análisis de Big Data será necesario realizar una mayor inversión inicial en tecnologías, productos y capacitación sobre Big Data, en comparación con las iteraciones realizadas después, en las cuales dicha inversión inicial puede ser aprovechada repetidamente
Etapa 2: identificación de datos
La etapa de identificación de datos está orientada a identificar los datasets necesarios para el proyecto de análisis, así como las fuentes de los mismos.
Identificar una amplia variedad de fuentes de datos puede aumentar la probabilidad de encontrar patrones y correlaciones ocultos. Por ejemplo, puede ser útil identificar la mayor cantidad de tipos de fuentes de datos relacionados y de información posible, en especial cuando no hay certeza sobre qué se busca exactamente.
Dependiendo del alcance empresarial del proyecto de análisis y de la naturaleza de los problemas de la empresa que se estén tratando, los datasets requeridos y sus fuentes pueden ser internos o externos a la empresa.
En el caso de los datasets internos, por lo general, se compila y combina una lista de datasets disponibles desde fuentes internas, como data marts y sistemas operacionales, y se compara con una especificación predefinida del dataset.
En el caso de los datasets externos, por lo general, se compila y combina una lista de posibles proveedores externos de datos, como mercados de datos y datasets a disposición del público. Algunos tipos de datos externos pueden estar integrados en blogs u otras clases de sitios web basados en contenido, en cuyo caso sería necesario recolectar los datos utilizando herramientas automatizadas.
Etapa 3: adquisición y filtrado (filtering) de datos
Durante la etapa de adquisición y filtrado (filtering) de datos, se recopilan los datos de todas las fuentes de datos identificadas en la etapa anterior; luego, los datos son sometidos al filtrado (filtering) automático de datos corruptos o datos sin valor para los objetivos del análisis.
Dependiendo del tipo de fuente de datos, los datos pueden estar en forma de archivos de volcado de memoria; por ejemplo, los datos comprados a proveedores externos de datos; o también pueden requerir integración de API, por ejemplo, Twitter. En muchos casos, cuando se trata de datos externos sin estructurar, algunos o la mayoría de los datos adquiridos pueden ser no significativos (ruido) y se pueden descartar en el proceso de filtrado (filtering).
Los datos clasificados como “corruptos” pueden incluir registros de valores faltantes, sin sentido o tipos de datos inválidos. Es posible que los datos eliminados para cierto análisis sean de valor para un tipo de análisis diferente. Por consiguiente, se aconseja almacenar una copia exacta del dataset original antes de proceder con el filtrado (filtering). Para guardar la copia exacta en el espacio de almacenamiento necesario, esta se debe comprimir primero.
Tanto los datos internos como externos deben ser guardados una vez que se generan o entran en la empresa. Para los análisis por lotes, los datos se guardan en disco antes del análisis. En el caso de análisis en tiempo real, los datos primero son analizados, y luego guardados en disco.
Se puede agregar metadata por medio de la automatización de datos que provienen de fuentes de datos internas y externas, como se muestra en la Figura 2.2, con el fin de mejorar la clasificación y las consultas. Algunos ejemplos de metadata agregados son el tamaño y la estructura del dataset, información sobre la fuente, fecha y hora de creación o recopilación, e información específica de idioma. Es imprescindible que la metadata sea legible por máquina y sea transmitida a las etapas de análisis posteriores. Esto ayuda a mantener la procedencia de los datos a través del ciclo de vida de análisis de Big Data, lo cual contribuye a establecer y conservar la exactitud y calidad de los datos.
Etapa 4: extracción de datos
Algunos datos que son identificados como entrada para el análisis pueden tener un formato incompatible con la solución de Big Data. Con los datos que provienen de fuentes externas, es más probable que se deban procesar distintos tipos de datos. La etapa del ciclo de vida que corresponde a la extracción de datos está orientada a extraer distintos datos y a convertirlos en un formato que la solución subyacente de Big Data pueda usar para el análisis de datos (Data Analysis).
El alcance de la extracción y la conversión requeridas dependerá de los tipos de analíticas y las capacidades de la solución de Big Data. Por ejemplo, tal vez no sea necesario extraer los campos requeridos de los datos de texto delimitados, si la solución subyacente de Big Data ya puede procesar directamente esos archivos, como en el caso de los archivos de registro (log files) de servidor web.
De manera similar, no será necesario extraer texto para la analítica de texto (text analytics) si la solución subyacente de Big Data ya puede leer el documento directamente en su formato original.
Etapa 5: validación y limpieza (Cleansing) de datos
Los datos inválidos pueden producir sesgos y errores en los resultados de los análisis. A diferencia de los datos tradicionales de la empresa, en los cuales la estructura de los datos está predefinida y prevalidada, los datos de entrada del análisis de Big Data pueden no estar estructurados y no haber sido validados. Además, su complejidad puede hacer difícil determinar un conjunto de limitaciones adecuadas de validación.
La etapa de validación y limpieza (Cleansing) de datos está orientada a establecer normas de validación, a menudo complejas, y a eliminar cualquier dato inválido conocido.
Las soluciones de Big Data en ocasiones reciben datos redundantes en los diferentes datasets. Esta redundancia puede ser aprovechada para explorar datasets interconectados, con el fin de reunir parámetros de validación y completar datos válidos faltantes.
Etapa 6: agregación y representación de datos
Los datos pueden estar distribuidos entre múltiples datasets, lo que implica que los datasets deben ser combinados por medio de campos comunes; por ejemplo, por fecha o ID. En otros casos, los mismos campos de datos pueden aparecer en múltiples datasets; por ejemplo, una fecha de nacimiento. De cualquier forma, se requiere un método de conciliación de datos o se debe determinar el dataset que representa el valor correcto.
La etapa de agregación y representación de datos está orientada a la integración de múltiples datasets para llegar a una vista unificada.
Puede ser complicado completar esta etapa debido a diferencias en:
Estructura de los datos: aunque el formato de los datos puede ser el mismo, el modelo de datos puede ser diferente.
Semántica: un valor etiquetado de formas diferentes en dos datasets diferentes puede significar lo mismo; por ejemplo, “surname” y “last name” (apellido).
Para resolver estas diferencias es necesaria una lógica compleja que se ejecute automáticamente sin la intervención humana. Los grandes volúmenes procesados por las soluciones de Big Data pueden hacer que la agregación de datos sea una operación que consuma mucho tiempo y esfuerzo.
En esta etapa, se deben considerar los requisitos futuros del análisis de datos (Data Analysis) para fomentar la reutilización de los datos. Ya sea que se requiera agregar datos o no, es importante entender que los mismos datos pueden ser almacenados de formas diferentes. Es posible que una forma sea más apropiada para un tipo de análisis particular que otra. Por ejemplo, los datos almacenados como BLOB se usarían muy poco si el análisis debe acceder a campos individuales de datos.
Una estructura de datos unificada por una solución de Big Data puede actuar como un
denominador común que puede ser usado para una variedad de técnicas y proyectos de
análisis. Para esto, puede ser necesario establecer un depósito central y estándar; por ejemplo,
una base de datos NoSQL, como se muestra en la Figura 2.7.
Etapa 7: análisis de datos (Data Analysis)
La etapa de análisis de datos (Data Analysis) está orientada a realizar la tarea real de análisis, lo cual normalmente involucra uno o más tipos de analíticas. Esta etapa puede ser de carácter iterativo, en particular si el análisis de datos (Data Analysis) es exploratorio, de manera que el análisis se repite hasta que se revela el patrón o correlación correspondiente. Se explicará brevemente el enfoque del análisis exploratorio, junto con el análisis confirmatorio de datos.
Según el tipo de analítica necesaria, esta etapa puede ser tan sencilla como solicitar que un dataset calcule datos agregados para que sean comparados, o por el contrario, puede ser tan exigente como combinar la minería de datos (Data Mining) con las técnicas complejas de análisis estadístico para encontrar patrones y anomalías o para generar un modelo estadístico o matemático que represente las relaciones entre las variables.
El enfoque adoptado para ejecutar esta etapa se puede clasificar como análisis confirmatorio o análisis exploratorio; este último está relacionado con la minería de datos (Data Mining), como se muestra en la Figura 2.9.
El Análisis Confirmatorio de Datos es un enfoque deductivo en el cual se propone previamente la causa del fenómeno investigado. La causa o suposición que se propone se conoce como hipótesis. Luego, los datos son analizados para comprobar o refutar la hipótesis y proporcionar respuestas definitivas a preguntas específicas. Normalmente se usan muestras de datos. Por lo general, los hallazgos o anomalías inesperados son ignorados debido a que se ha asumido una causa predeterminada.
El Análisis Exploratorio de Datos es un enfoque inductivo que está relacionado estrechamente con la minería de datos (Data Mining). No se generan hipótesis ni suposiciones predeterminadas. En lugar de eso, los datos son explorados mediante el análisis para lograr comprender la causa del fenómeno. Aunque quizá no aporte respuestas definitivas, este método ofrece una dirección general que puede ayudar a encontrar patrones o anomalías. Normalmente se usan grandes cantidades de datos y análisis visual.
Etapa 8: visualización de datos
La capacidad de analizar cantidades masivas de datos y hallar información útil puede tener poco valor si los únicos que pueden interpretar los resultados son los analistas.
La etapa de visualización de datos está orientada a utilizar técnicas y herramientas de visualización de datos para comunicar gráficamente los resultados del análisis, de forma que los usuarios del negocio puedan interpretarlos efectivamente.
Los usuarios del negocio deben entender los resultados con el fin de obtener el valor del análisis y, como consecuencia, poder ofrecer retroalimentación, tal y como lo indican las líneas discontinuas que van de la etapa 8 a la etapa 7.
Los resultados de la etapa de visualización de datos les proporcionan a los usuarios la capacidad de realizar análisis visuales, facilitando respuestas a preguntas que los usuarios ni siquiera han planteado aún. El análisis visual se abordará más adelante en este cuaderno de trabajo.
Los mismos resultados pueden ser presentados de diversas formas, lo cual puede afectar su interpretación. Por esta razón es importante utilizar la técnica de visualización más adecuada, manteniendo el dominio empresarial en contexto.
Asimismo, se debe tener en cuenta que es fundamental proporcionar un método que permita desglosar hasta estadísticas relativamente sencillas, con el objetivo de que los usuarios comprendan cómo estas fueron generadas.
Etapa 9: uso de los resultados del análisis
Luego de que los resultados del análisis sean puestos a disposición de los usuarios de la empresa para respaldar la toma de decisiones empresariales —por ejemplo, por medio de tableros de control (Dashboards)—, se pueden presentar más oportunidades para utilizar los resultados del análisis. La etapa de uso de los resultados del análisis está orientada a determinar cómo y cuándo se pueden aprovechar los datos procesados de análisis.
Dependiendo de la naturaleza de los problemas abordados por el análisis, es posible que los resultados de los análisis generen “modelos” que encapsulen nueva información sobre la naturaleza de los patrones y relaciones que existen en los datos que fueron analizados. Un modelo puede parecerse a una ecuación matemática o a un conjunto de normas. Los modelos pueden ser usados para mejorar la lógica del proceso empresarial y la lógica del sistema de aplicaciones, y pueden conformar la base de un nuevo sistema o software.
Algunas áreas exploradas durante esta etapa son las siguientes:
Datos de entrada para sistemas empresariales: los resultados del análisis de datos (Data Analysis) pueden ser ingresados automática o manualmente en los sistemas empresariales para mejorar y optimizar su comportamiento y desempeño. Por ejemplo, una tienda online puede ser alimentada con los resultados procesados de los análisis relacionados con los clientes, lo cual puede impactar la forma en que la tienda genera recomendaciones de productos. Los nuevos modelos pueden ser usados para mejorar la lógica de programación en sistemas empresariales existentes o pueden constituir la base de nuevos sistemas.
Optimización de procesos empresariales: los patrones, correlaciones y anomalías identificados y hallados durante el análisis de datos (Data Analysis) son utilizados para perfeccionar los procesos empresariales. Un ejemplo es la consolidación de rutas de transporte como parte de un proceso de la cadena de suministros. Los modelos también pueden brindar oportunidades de mejorar la lógica del proceso empresarial.
Alertas: los resultados del análisis de datos (Data Analysis) se pueden usar como entradas para alertas existentes o pueden formar la base de nuevas alertas. Por ejemplo, se pueden crear alertas para informar a los usuarios por medio de correo electrónico o mensajes de texto sobre un evento que requiere que los usuarios tomen una acción correctiva.
Arquitectura lógica de analítica de Big Data
La arquitectura lógica de analítica de Big Data define los componentes lógicos necesarios para implementar una solución de analítica de Big Data. Es una forma especializada de la arquitectura de la plataforma de Big Data que define los mecanismos de Big Data en cada una de sus diferentes capas, la función de cada una de ellas y el flujo genérico de datos entre las mismas. Concebir este tipo de arquitectura sirve como un punto de referencia de fácil comprensión tanto para los arquitectos como para los ingenieros de Big Data.
Como se muestra en la Figura 10.28, la arquitectura lógica de analítica de Big Data está compuesta por las siguientes nueve capas:
Capas horizontales:
capa de fuentes de datos
capa de adquisición de datos
capa de almacenamiento
capa de procesamiento
capa de análisis
capa de visualización
capa de utilización
Capas verticales:
capa de gestión
capa de seguridad
capa de administración
Capas horizontales:
Capa de fuentes de datos
La capa de fuentes de datos abarca todas las fuentes de datos que han sido identificadas durante la etapa de identificación de datos del ciclo de vida de análisis de Big Data.
Capa de adquisición de datos
La capa de adquisición de datos ofrece la funcionalidad de adquirir datos desde las fuentes en la capa de fuentes de datos. La etapa de adquisición y filtrado (filtering) del ciclo de vida de análisis de Big Data se encuentra respaldada por la capa de adquisición de datos.
Capa de almacenamiento
Como se muestra en la Figura 10.31, la capa de almacenamiento está compuesta por dispositivos de almacenamiento que almacenan los datos adquiridos y, por lo general, consiste en un sistema de archivos distribuido y por lo menos una base de datos NoSQL.
Capa de procesamiento
La capa de procesamiento, desempeña un papel fundamental en la generación de valor a partir de una variedad de volúmenes de datos que son recibidos a alta velocidad en un periodo considerable de tiempo.
Capa de análisis
La capa de análisis proporciona una interfaz de fácil interacción para el análisis de datos en la capa de almacenamiento, y está compuesta por el motor de consultas (Query Engine) y el motor analítico (Analytics Engine).
Capa de visualización
Como se ilustra en la Figura 10.38, la capa de visualización hospeda el motor de visualización y ofrece las funcionalidades necesarias durante la etapa de visualización de datos del ciclo de vida de análisis de Big Data.
Capa de utilización
La capa de visualización ofrece la oportunidad de desarrollar un entendimiento de los resultados del análisis de forma gráfica. Sin embargo, estos resultados deben ser incorporados en la empresa de alguna forma, si se desea obtener el máximo beneficio.
La capa de utilización proporciona los resultados del análisis de forma que una empresa pueda aprovechar una oportunidad o mitigar un riesgo de forma proactiva. Esta capa representa las funcionalidades requeridas durante la etapa de utilización de los resultados del análisis del ciclo de vida de análisis de Big Data.
Capas verticales:
Capa de gestión
Tiene la tarea de monitorear de forma automatizada y continua, y hacer mantenimiento de la plataforma de Big Data para asegurar su integridad operativa. Las funciones que esta capa apoya tienen que ver con los requisitos operativos de una plataforma de Big Data, incluyendo la configuración del cluster, expansión del cluster, actualizaciones de sistema y software a lo largo del cluster y diagnóstico de fallas y monitoreo del estado del cluster.
Capa de seguridad
La capa de seguridad se encarga de asegurar varios componentes que operan dentro de otras capas de la plataforma de Big Data. Esta capa ofrece funciones para autenticación, autorización y confidencialidad por medio de la encriptación de los datos almacenados y en movimiento.
Capa de gobierno
Ofrece funcionalidades que garantizan que el almacenamiento y el acceso a los datos dentro de la plataforma de Big Data sean gestionados durante el período de vida de los datos. Esta capa trata principalmente sobre las políticas que orientan las actividades de gestión de datos, también puede proporcionar la funcionalidad para gestionar otros aspectos de la plataforma de Big Data. Lo anterior puede incluir políticas sobre qué tipo de encriptación se debería usar para los datos almacenados y en movimiento, la integración de nuevos componentes o herramientas dentro de la herramienta de Big Data, la adquisición de nuevas fuentes de hardware y la evolución de la plataforma de Big Data.
Integración de EDW y Big Data
¿De qué manera se pueden integrar las tecnologías de Big Data a una EDW existente en favor del desarrollo de una bodega de datos digital (Data Warehouse) de última generación?
Esta bodega consiste en tecnologías heterogéneas que soportan el almacenamiento y análisis de datos, tanto estructurados y semiestructurados como sin estructurar. Dicho enfoque híbrido no solo aprovecha las inversiones existentes relacionadas con la tecnología EDW, sino que también proporciona capacidades de analítica de Big Data.
Enfoque en serie
Este enfoque combina la plataforma de Big Data con la EDW de manera secuencial.
La plataforma de Big Data actúa como un motor ETL para la ingesta de datos de diversas fuentes, incluyendo fuentes de datos estructurados (bases de datos operativas),semiestructurados y sin estructurar. En esta configuración, la plataforma de Big Data es básicamente un área de almacenamiento provisional donde los datos consolidados de múltiples fuentes se almacenan al pie de la letra, en primer lugar.
Posteriormente, se llevan a cabo las operaciones necesarias en una copia de los datos almacenados. Estas operaciones incluyen la limpieza (cleansing), transformación, combinación y cálculo de varias estadísticas. Una vez los datos tienen la estructura necesaria, estos son alimentados a la EDW, lo cual se traduce ya sea en la creación de nuevas entidades comerciales o en el enriquecimiento de aquellas existentes (Figura 11.5).
Utilizar la plataforma de Big Data como un área de almacenamiento provisional elimina la restricción de espacio limitado, en comparación con el uso del área relacional de almacenamiento provisional de la EDW, que solo puede almacenar datos que se remontan a un periodo de tiempo específico. Por consiguiente, se pueden guardar grandes volúmenes de datos históricos sin incurrir en mayores costos utilizando el almacenamiento altamente escalable de la plataforma de Big Data.
La plataforma de Big Data libera a la EDW del procesamiento de grandes volúmenes de datos al realizar un procesamiento previo de una agregación de datos numéricos. De manera similar, solo los datos procesados deben mantenerse dentro de la EDW. Los datos históricos sin procesar pueden permanecer dentro de la plataforma de Big Data. Esto ayuda a reducir el espacio que los datos ocupan dentro de la EDW, lo cual se traduce en una respuesta a consultas más corta y ahorro en el espacio en el disco.
Enfoque en serie: ventajas
Este enfoque consiste en un enfoque de integración simple, el cual ha reducido los requisitos de gestión y mantenimiento a causa del flujo unidireccional de datos. Los datos fluyen de la fuente de datos hasta la plataforma de Big Data, luego a la EDW y eventualmente a las aplicaciones de flujo descendente de reporte y análisis de inteligencia de negocios (BI).
Este enfoque ofrece un entorno de almacenamiento y procesamiento de datos altamente escalable. La plataforma de Big Data, que actúa como un motor de ingesta de todas las fuentes de datos, representa un punto único donde los datos operativos son enriquecidos con información de Big Data, sin necesidad de copiar datos a múltiples repositorios.
El almacenamiento de una sola copia de datos también elimina la duplicación de los mismos.
Enfoque en serie: desventajas
La configuración inicial del enfoque en serie puede generar la reconfiguración o migración de canales de entrada de datos existentes que se encuentran actualmente conectados a la EDW, lo cual puede tener como resultado una posible inactividad del sistema.
Las herramientas de Inteligencia de Negocios (BI) y otras aplicaciones analíticas no aprovechan directamente la plataforma de Big Data. Esto puede tener como consecuencia la incapacidad de acceder directamente a grandes volúmenes de datos sin procesar dentro de una plataforma de Big Data, siendo este un requisito clave para realizar analíticas predictivas y prescriptivas.
Enfoque en paralelo
En este enfoque, la plataforma de Big Data y la EDW trabajan conjuntamente. Ambos sistemas se combinan mediante una interconexión que reúne y ordena los datos entre ellos (Figura 11.6). Todos los datos operativos se recopilan y procesan a través de la EDW, mientras que la plataforma de Big Data se usa únicamente para recopilar y procesar los datasets de Big Data.
La plataforma de Big Data limpia y procesa especialmente los datos semiestructurados y sin estructurar, y almacena datos sin procesar, así como datos procesados. Algunos datos procesados pueden ser exportados hacia la EDW con el propósito de ser enriquecidos. Las herramientas de Inteligencia de Negocios (BI) y las aplicaciones analíticas pueden conectarse directamente a la EDW y a la plataforma de Big Data.
La interconexión desempeña una función vital en este enfoque de arquitectura, debido a que el rendimiento del sistema en general depende de su eficiencia. Por lo general, la interconexión consiste en un conector bidireccional que traslada los datos entre la EDW y la plataforma de Big Data.
Enfoque en paralelo: ventajas
La introducción de la plataforma de Big Data en esta configuración es relativamente menos desorganizada, puesto que dicha plataforma es básicamente un módulo complementario para procesar datos semiestructurados y sin estructurar. Este enfoque ofrece un diseño altamente escalable, en el cual ambos sistemas (EDW y la plataforma de Big Data) pueden ser desarrollados sin afectarse entre sí.
Las herramientas de Inteligencia de Negocios (BI) y las aplicaciones analíticas pueden emplear tanto los datos semiestructurados y sin estructurar que están sin procesar (plataforma de Big Data) como los datos estructurados de toda la empresa (EDW). La ingesta de datos está distribuida entre subsistemas, lo cual ayuda a gestionar la ingesta de datos operativos independientemente de las fuentes de Big Data, donde posiblemente sea necesario integrar más fuentes de datos por medio de análisis más diversos y complejos.
Enfoque en paralelo: desventajas
Debido al gran intercambio de datos, la interconexión puede convertirse en un cuello de botella.
La implementación y el mantenimiento de la interconexión pueden volverse complejos si se incluye el procesamiento de datos complejos; por ejemplo, la conversión entre diferentes tipos de datos.
Un ejemplo de esto es la lectura de datos desde una tabla de una base de datos NoSQL a su equivalente relacional.
Enfoque de aplicativo de Big Data
Un aplicativo de Big Data consiste en un entorno preconfigurado que comprende:
el almacenamiento relacional y no relacional
recursos de procesamiento
una interconexión (entre el almacenamiento de datos y los recursos de procesamiento)
un sistema operativo
un conjunto de API
entornos de configuración, gestión y desarrollo de aplicaciones
frameworks de procesamiento distribuido/en paralelo de datos
cualquier otro hardware necesario
Por lo general, un aplicativo de Big Data emplea la tecnología MPP. A veces, las implementaciones utilizan conjuntamente las tecnologías SPP y MPP durante diferentes etapas del procesamiento de datos.
Todos los componentes dentro del aplicativo de Big Data son altamente optimizados por medio de bases de datos propietarias, protocolos propietarios de transferencia de datos, interconexiones de alta velocidad y técnicas de aceleración de hardware (Figura 11.7).
Un aplicativo de Big Data ofrece un entorno integrado para el almacenamiento y la analítica de datos. Normalmente, este enfoque ofrece conectores para integrar otros almacenamientos propietarios y de código abierto, incluyendo bases de datos NoSQL.
Dicho aplicativo es de índole modular, compatible con plug-and-play y soporta la ampliación de la capacidad de almacenamiento. Este aplicativo se encarga de la ingesta tanto de datos semiestructurados como sin estructurar. La mayoría de implementaciones proporcionan capacidad de análisis de datos (Data Analysis) en tiempo real o en tiempo prácticamente real.
Este enfoque reemplaza los distintos sistemas existentes de EDW y la plataforma de Big Data por una sola plataforma preconfigurada, capaz de almacenar datos estructurados y sin estructurar.
Enfoque de aplicativo de Big Data: ventajas
No hay necesidad de mantener dos sistemas por separado (EDW y la plataforma de Big Data), debido a que el mantenimiento operativo continuo se realiza de forma directa. La mayoría de implementaciones del aplicativo de Big Data permiten realizar analíticas en tiempo real y prácticamente real, sin necesidad de integrar múltiples tecnologías distintas, tal como la captura de eventos y bases de datos en memoria.
Generalmente, este aplicativo ofrece soluciones integradas para diversos análisis de datos sin estructurar, tal como el análisis de logs de máquinas. Este enfoque reduce el tiempo de analítica de manera significativa al proporcionar un centro único para la ingesta, procesamiento y análisis de datos (Data Analysis).
El aplicativo de Big Data soporta el análisis y reporte de datos de baja latencia. Además, permite la integración con otros almacenes de datos por medio de los conectores. Adicionalmente, brinda escalabilidad horizontal con tolerancia a errores.
Enfoque de aplicativo de Big Data: desventajas
Debido a que el enfoque del aplicativo de Big Data es una solución propietaria, existe el riesgo de depender de un solo proveedor.
La introducción de un aplicativo de software de Big Data en un entorno de TI existente generalmente requiere reemplazar una EDW existente, lo cual puede exigir un considerable esfuerzo de planificación por adelantado y una posible inactividad del sistema.
Este aplicativo requiere una configuración inicial compleja, lo cual normalmente genera costos de consultoría. Normalmente, los aplicativos de Big Data son bastante costosos.
Enfoque de virtualización de datos
Este enfoque ofrece una perspectiva unificada de los datos dentro de diversas fuentes de datos con base en la integración semántica. La integración semántica permite la transferencia de datos entre distintas fuentes de datos, donde la misma información podría tener diferentes significados, ya sea por la diferencia de estructura o la diferencia contextual de los datos.
Por lo general, esto incluye la representación de información de manera estandarizada, así como la adición de información contextual que contiene metadata. Generalmente, este enfoque es implementado como datos como un servicio (DaaS) al aplicar los principios de orientación al servicio.
Este enfoque es análogo al enfoque en paralelo y también es conocido como la bodega de datos digital (Data Warehouse) lógica. En lugar de utilizar una interconexión pasiva entre la EDW y la plataforma de Big Data, se utiliza una capa de integración más inteligente, con el fin de proporcionarles a los consumidores de datos una perspectiva unificada de los mismos (Figura 11.8).
Mediante este enfoque, los datos no necesitan ser copiados desde las fuentes de datos para crear vistas específicas. En lugar de eso, las fuentes de datos son abstraídas y los datos necesarios son expuestos como vistas lógicas por medio de interfaces estandarizadas, como los servicios web RESTful. Los datos de toda la empresa, incluyendo las bases de datos operacionales y de EDW, así como los de la plataforma de Big Data, son intercalados de manera lógica y presentados de manera relacional.
La virtualización de datos —con base en las tecnologías semánticas— proporciona herramientas de Inteligencia de Negocios (BI) y aplicaciones de analítica de datos con acceso directo a varias fuentes de datos mediante los servicios estandarizados que eliminan la necesidad de operaciones ETL, así como el código de integración personalizada.
Este enfoque de arquitectura para la integración de datasets de Big Data dentro de una empresa es relativamente nuevo.
Enfoque de virtualización de datos: ventajas
Este enfoque ofrece acceso inmediato a los datos comerciales tradicionales, así como a los datasets de Big Data, sin necesidad de una interconexión entre la EDW y la plataforma de Big Data. Este enfoque evita la duplicación de datos al eliminar la necesidad de crear copias de datos provenientes de varias fuentes.
Además, contribuye a tener mayor acceso a los datos no relacionales (datasets de Big Data) mediante el uso de interfaces estandarizadas. La abstracción de las fuentes de datos proporciona un acoplamiento informal entre los productores de datos (almacenes de datos relacionales y no relacionales) y los consumidores de los mismos. Esto contribuye al desarrollo de ambas partes de manera independiente, sin afectarse mutuamente.
Enfoque de virtualización de datos: desventajas
La implementación de virtualización de datos puede ser un proceso complejo y largo. El funcionamiento de la virtualización de datos depende en gran medida de la existencia de metadata en todas las fuentes de datos.
La implementación exitosa de la virtualización de datos incluye la creación por adelantado de modelos de datos que requieren el análisis de datos (Data Analysis). La virtualización de datos se implementa generalmente mediante un software complejo, cuya adquisición puede ser costosa.
La virtualización de datos utiliza un enfoque con base en un adaptador para conectarse con varias fuentes de datos. Por medio de un gran intercambio de datos, los adaptadores y la capa de virtualización de datos en su totalidad pueden convertirse en un cuello de botella. Cualquier error de funcionamiento o latencia de parte de los productores de datos afectará directamente a los consumidores de datos.
Big Data y Cloud Computing
Por lo general, una plataforma de Big Data (entorno de solución) es implementada a nivel local. A pesar de que brinda más control, la inversión de capital necesaria puede dificultar la adopción de Big Data o puede resultar en una plataforma de Big Data con base en un pequeño cluster que no añade valor a las capacidades de analítica de una empresa. Bajo dichas circunstancias, un entorno con base en la nube puede utilizarse como un habilitador tecnológico para Big Data.
Una plataforma de Big Data consiste principalmente en las tecnologías de procesamiento y almacenamiento de Big Data que emplean recursos de procesamiento y almacenamiento con base en clusters. La configuración y puesta en servicio de dichos recursos de manera tradicional requiere una inversión inicial de capital, además del personal de TI dedicado para gestionar la plataforma de Big Data.
Aparte de los recursos monetarios y humanos necesarios, dicho aprovisionamiento se traduce en una solución rígida que no puede ser reducida horizontalmente una vez la demanda disminuye. No obstante, esta puede ser escalada horizontalmente una vez aumente la demanda del uso de recursos. Otro problema con este tipo de configuración es la posible pérdida de capital en caso de que el proyecto de Big Data no resulte exitoso.
Considerando estas limitaciones, las empresas pueden sacarle provecho al Cloud Computing para facilitar las iniciativas de Big Data. La naturaleza flexible y por demanda de la nube ofrece una capacidad de configuración mucho más rápida de la plataforma de Big Data. Por ejemplo, un cluster Hadoop sin inversión de capital puede ser configurado rápidamente, y escalado o reducido horizontalmente, según sea necesario.
Ya sea que se trate de datos procesados por lotes o en tiempo real, el modelo de pago por uso de Cloud Computing puede ser utilizado en su totalidad para desarrollar un cluster cuyo tamaño puede ser regulado con base en las características de volumen y velocidad de Big Data. Esto se puede traducir en costos operativos considerablemente bajos.
Cloud Computing tiene el potencial para proporcionar los componentes básicos para un entorno de solución de Big Data, incluyendo recursos de almacenamiento y procesamiento de datos.
Tal y como se mencionó en los Módulos 1 y 2, el uso de la tecnología de nube se justifica si:
no se dispone de inversión inicial de capital
los recursos de hardware y software internos no son adecuados, tanto en términos de capacidad como de almacenamiento y procesamiento de datos de estructura variada.
se requiere el aislamiento del proyecto, o la iniciativa de Big Data es un prototipo
los datasets que deben ser analizados están almacenados en la nube
el equipo de TI posee las capacidades necesarias relacionadas con Cloud Computing
Modelos de entrega en la nube
Un modelo de entrega en la nube consiste en una combinación específica de los recursos de TI ofrecidos por un proveedor de nube.
Los modelos comunes de entrega incluyen:
Infraestructura como un servicio (IaaS): ofrece un entorno de TI autónomo que consta de recursos centralizados de infraestructura de TI
Plataforma como un servicio (PaaS): ofrece un entorno de nube predefinido con recursos de TI implementados y configurados, los cuales son apropiados para el desarrollo e implementación de aplicaciones
Software como un servicio (SaaS): consiste generalmente en un producto que existe como un servicio de nube compartido, el cual es ofrecido por un proveedor de nube a los consumidores de nube
IaaS
A pesar de proporcionar máximo control sobre los recursos de procesamiento y almacenamiento, el suministro de datos sin procesar requiere la participación continua del equipo de TI para configurar inicialmente la plataforma de Big Data y mantenerla en funcionamiento. Es necesario que el equipo de TI instale y gestione el software requerido para establecer varios mecanismos, tales como el motor de procesamiento y el dispositivo de almacenamiento (Figura 11.9).
Algunos ejemplos incluyen Amazon EC2, Amazon EC3, Windows Azure y Rackspace.
PaaS
Debido a que el proveedor gestiona los recursos de infraestructura, el tiempo inicial de implementación es más corto, y casi no existe necesidad de una gestión permanente de los recursos de TI. La plataforma completa de Big Data ya ha sido configurada y está lista para ser utilizada para el desarrollo de soluciones de Big Data (Figura 11.10).
Los servicios, tales como “Datos como un servicio (DaaS)”, pueden ser desarrollados a fin de ofrecer un punto unificado de acceso a los datos almacenados en la nube. Algunos ejemplos incluyen Xplenty (AWS), Genie (Netflix) y Treasure Data (Heroku).
SaaS
Los proveedores de la categoría SaaS ofrecen servicios de procesamiento de datos sin procesar, tal como MapReduce, o servicios especializados de analítica, llamados “Analítica como un servicio (AaaS)”, los cuales incluyen datos de Twitter y análisis de logs de máquinas (Figura 11.11).
El modelo SaaS es más adecuado para las empresas que empiezan un proyecto de Big Data, si cuentan con una infraestructura de TI y capacidades limitadas de Big Data. Algunos ejemplos incluyen Amazon EMR, Microsoft HDInsight y Google Big Query.
Modelo de implementación en la nube
Este modelo consiste en un tipo específico de entorno de nube, caracterizado principalmente por propiedad y tamaño.
Los modelos comunes de implementación incluyen:
Nube privada: pertenece a una sola organización y se encuentra dentro de los límites de dicha organización
Nube pública: un entorno de nube con acceso público que pertenece a un proveedor externo de nube
Nube híbrida: consiste en un entorno de nube que comprende dos o más modelos diferentes de implementación en la nube, generalmente nubes públicas y privadas
Nube privada
La nube privada es una elección apropiada al momento de comenzar con un proyecto de Big Data, siempre que haya suficiente respaldo financiero. También es ideal cuando los datasets se encuentran dentro del cortafuegos (firewall) de una empresa.
Los requisitos de seguridad y privacidad de datos pueden hacer que este modelo sea la única opción, especialmente cuando las regulaciones establecen que los datos no pueden ser trasladados fuera del cortafuegos (firewall) de la empresa. Cuando se implementan analíticas de datos en tiempo real, una nube privada puede servir para desarrollar capacidades de análisis de datos (Data Analysis) de baja latencia (Figura 11.12).
Nube pública
La nube pública puede utilizarse cuando los datasets de entrada se encuentran almacenados en la nube. Esta modalidad puede funcionar como un punto de entrada de bajo costo para aquellas empresas que deseen fortalecer las capacidades de análisis de Big Data, sin necesidad de una inversión inicial ni un proyecto de prototipo.
Una nube pública es generalmente menos segura, pero más escalable, que una nube privada, debido a una mayor agrupación de recursos de almacenamiento y procesamiento (Figura 11.13).
Nube híbrida
Esta nube es ideal para aquellas empresas que inicialmente acumularon sus servicios de analítica de Big Data de forma interna, pero ahora desean escalarlos horizontalmente. Es la elección apropiada cuando se utiliza una combinación entre datos confidenciales y datasets públicos.
También se ajusta muy bien en caso de que las cargas de trabajo sean variables. Por ejemplo, para el funcionamiento diario de la empresa (carga de trabajo transaccional), se utiliza una nube privada. Para el procesamiento de la nómina salarial a fin de mes (carga de trabajo por lotes), se hace el escalamiento horizontal hacia nube pública.
Otros escenarios de uso incluyen la limpieza (Cleansing) de los datasets públicos por medio de una nube pública, posteriormente combinándolos con los datos confidenciales de la nube privada, a fin de llevar a cabo diversos análisis de datos (Data Analysis) (Figura 11.14).
Problemas relacionados con Big Data y Cloud Computing
Como ya se ha examinado antes, Cloud Computing funciona como un excelente facilitador tecnológico para fortalecer la plataforma de procesamiento de Big Data. Sin embargo, antes de usar Cloud Computing, es importante tener en cuenta ciertos problemas que, de ser ignorados, podrían tener como consecuencia una iniciativa fallida de Big Data.
Estos son algunos de los problemas más serios:
privacidad de datos: ¿Qué tan seguros están sus datos si muchas personas tienen acceso a ellos? ¿Qué pasaría si los datos estuvieran siendo usados para fines comerciales o publicitarios? ¿Cuál es la política del proveedor con respecto a la seguridad de datos?
propiedad de datos: Una vez almacenados en la nube, ¿quién es el propietario de los datos; los usuarios que proporcionaron dichos datos (como en el caso de datos de social media) o la empresa que procesa los datos?
traslado de datos a la nube: Al utilizar una nube pública, ¿cómo se trasladan los terabytes/petabytes de datos al almacenamiento en la nube? Actualmente, la manera más rápida es enviar físicamente el disco al proveedor de nube.
curva de aprendizaje: Al contar con diversos proveedores de nube, cada uno de ellos puede implementar sus API de una manera diferente. Esto introduce una curva de aprendizaje que requiere ser superada.
cumplimiento normativo: Las leyes de protección de datos locales y aquellas correspondientes al sector empresarial pueden justificar el almacenamiento de datos dentro del cortafuegos (firewall) de la empresa o que los datos no puedan ser almacenados en lugares fuera del país.
bloqueo tecnológico: Al utilizar el modelo de entrega PaaS, la tecnología empleada para la plataforma preconfigurada de Big Data establece los tipos de aplicaciones de Big Data que se pueden desarrollar. Esto puede plantear dificultades, en caso de que sea necesario aumentar las aplicaciones existentes con base en una nueva tecnología, pero el proveedor no soporte dicha tecnología o no implemente suficientemente rápido esos nuevos componentes tecnológicos.
En caso de que el proveedor utilice tecnologías propietarias, tales como frameworks propietarios de procesamiento, la migración hacia un proveedor distinto también puede convertirse en una dificultad.
disponibilidad del proveedor a largo plazo: Es importante establecer la permanencia a largo plazo de un proveedor, debido a que las adquisiciones y fusiones —y en casos extremos, la terminación de las relaciones comerciales— pueden poner en riesgo un proyecto completo de Big Data.
conectividad de red: Cuando se utilizan datasets en entornos Big Data que no están basados en la nube, es necesario cargar un gran volumen de datos de entrada al proveedor de nube.
Es vital que la conectividad de red entre el consumidor y proveedor de nube sea fiable, puesto que una conexión poco fiable o un bajo ancho de banda puede afectar de manera negativa la productividad esperada de la plataforma de Big Data albergada en la nube.
Algunas de las justificaciones comunes para incorporar un entorno basado en nube para respaldar una solución de Big Data son:
existen recursos inadecuados de hardware interno
no se dispone de inversión inicial de capital
el proyecto debe estar aislado del resto de la empresa para no afectar los procesos empresariales existentes
la iniciativa de Big Data es un prototipo
los datasets que requieren ser procesados están hospedados en la nube
se ha llegado a los límites de los recursos de informática y almacenamiento disponibles usados por una solución interna de Big Data
Elementos a tener en cuenta al planear y adoptar Big Data:
Justificación empresarial
Como las iniciativas de Big Data están orientadas inherentemente a las empresas, debe existir un caso empresarial claro para adoptar una solución de Big Data y garantizar que está justificada y cumple las expectativas. Es necesario establecer metas claras en relación con el valor del negocio proporcionado por una solución de Big Data empresarial. Se deben sopesar los beneficios esperados en relación con los riesgos e inversiones.
Por ejemplo, la meta puede ser crear una vista completa de la base de clientes de una empresa. Para cumplirla, puede ser necesario que todos los datos internos de los clientes sean consolidados a partir de varios sistemas. Se deben identificar y cuantificar los riesgos relacionados con la recopilación de datos exactos y relevantes, y su integración en el entorno Big Data. Es importante aceptar que las soluciones de Big Data no son necesarias para todas las empresas. Por ejemplo, es posible que algunas empresas simplemente no generen suficientes datos para garantizar el entorno Big Data.
Prerrequisitos organizacionales
Los frameworks de Big Data no son soluciones integrales. Para que el análisis de datos (Data Analysis) y analítica tengan éxito y ofrezcan valor, las empresas necesitan tener frameworks de gestión de datos y gestión de Big Data. También se requiere que los responsables de implementar, personalizar, alimentar y usar las soluciones de Big Data cuenten con procesos robustos y conjuntos de habilidades adecuadas. Además, se debe evaluar la calidad de los datos que las soluciones de Big Data van procesar.
Los datos obsoletos, inválidos o mal identificados generarán entradas de baja calidad, y sin importar qué tan buena sea la solución de Big Data, esto producirá resultados de baja calidad. También se debe planificar el período de vida del entorno Big Data. Se debe definir una hoja de ruta para garantizar que cualquier expansión o aumento necesario del entorno esté planeado para estar alineado con las exigencias de la empresa.
Aprovisionamiento de datos
Adquirir soluciones de Big Data puede ser económico debido a la disponibilidad de plataformas de código abierto y las oportunidades de aprovechar un hardware básico. Sin embargo, tal vez sea necesario contar con un presupuesto considerable para obtener datos externos. La naturaleza de la empresa puede hacer que los datos externos sean muy valiosos. Cuanto mayor sea el volumen y la variedad de los datos, mayores son las oportunidades de encontrar información oculta en los patrones.
Las fuentes de datos externos incluyen mercados de datos y el gobierno. Los datos que proporciona el gobierno, como los datos geoespaciales, pueden ser gratuitos. No obstante, se deben comprar los datos comercialmente más relevantes. Este tipo de inversión puede ser recurrente, con el fin de obtener versiones actualizadas de los datasets.
Privacidad
Realizar procesos de analítica sobre los datasets puede revelar información confidencial sobre las organizaciones o las personas naturales. Incluso el análisis de datasets separados que contienen datos aparentemente inofensivos puede revelar información privada si llegan a ser analizados conjuntamente. Esto puede generar violaciones intencionales o accidentales de la privacidad.
Para tratar estos asuntos de privacidad es necesario entender la naturaleza de los datos que están siendo acumulados y las regulaciones pertinentes sobre la protección de datos, así como las técnicas especiales para etiquetado y anonimato de datos. Por ejemplo, los datos de telemetría —como el log GPS de un automóvil o la lectura de datos de medidores inteligentes— recopilados en un cierto periodo de tiempo pueden revelar la ubicación o el comportamiento de una persona,
Seguridad
Algunos componentes de las soluciones de Big Data carecen de la solidez de los entornos de soluciones empresariales tradicionales en términos del control del acceso y la seguridad de los datos. La seguridad en Big Data implica garantizar que las redes de datos proporcionen acceso a repositorios lo suficientemente seguros por medio de mecanismos personalizados de autenticación y autorización.
La seguridad de Big Data además implica establecer niveles de acceso a los datos para diferentes categorías de usuarios. Por ejemplo, a diferencia de los sistemas tradicionales de gestión de bases de datos relacionales, las bases de datos NoSQL generalmente no ofrecen mecanismos incorporados sólidos de seguridad. En vez de eso, estas bases de datos cuentan con API basadas en HTTP simple, en las que los datos se intercambian en texto plano, haciendo que los datos estén propensos a ataques basados en la red
Procedencia
La procedencia se refiere a la información sobre el origen de los datos que ayuda a determinar su autenticidad y calidad. También se utiliza con fines de auditoría. Mantener la procedencia en forma de largos volúmenes de datos que son adquiridos, combinados y procesados en múltiples etapas de procesamiento puede ser una tarea compleja. Para resolver los problemas de procedencia puede ser necesario hacer anotaciones de la información del origen y otros metadata en los datos, a medida que son generados o recibidos,
Soporte limitado en tiempo real
Los tableros de control (Dashboards) y otras aplicaciones que requieren datos de transmisión y alertas a menudo exigen transmisión de datos en tiempo real o prácticamente real. Muchas soluciones y herramientas modernas de Big Data de código abierto están orientadas en lotes, lo que significa que pueden tener soporte limitado para la transmisión del análisis de datos (Data Analysis), o no tener soporte alguno. Existen soluciones propietarias de análisis de datos (Data Analysis) en tiempo real. Se puede lograr el procesamiento de datos en tiempo prácticamente real al procesar datos transaccionales a medida que son recibidos y combinarlos con datos de procesamiento por lotes (Batch Processing) que ya están resumidos.
Diferentes problemas de rendimiento
Debido a que algunas soluciones de Big Data deben procesar altos volúmenes de datos, en ocasiones el rendimiento puede convertirse en un problema. Por ejemplo, casos en los que grandes datasets están acompañados por algoritmos complejos de búsqueda, lo que puede generar mayores tiempos de consulta. Otro ejemplo tiene que ver con el ancho de banda disponible. Con los volúmenes de datos cada vez mayores, el tiempo para transferir una unidad de datos puede exceder el tiempo real de procesamiento de datos,
Diferentes requisitos de gestión
Las soluciones de Big Data acceden y generan datos que son convertidos en activos de la empresa. Se requiere un framework de gestión para garantizar que los datos y el entorno de solución mismo están regulados, estandarizados y se desarrollan de manera controlada. Algunos ejemplos de lo que un framework de gestión de Big Data puede abarcar son:
Estandarización sobre cómo se etiquetan los datos y sobre los metadata usados para el etiquetado
Políticas que regulan el tipo de datos externos que se pueden adquirir
Políticas para la protección de datos y conservar el anonimato de datos
Políticas para el archivo de datos provenientes de fuentes de datos y resultados de análisis
Políticas para la limpieza (cleansing) y filtrado (filtering) de datos
Metodología diferencial
Es necesaria una metodología para controlar cómo fluyen los datos hacia dentro y hacia afuera de las soluciones de Big Data y controlar cómo se pueden establecer los loop de retroalimentación, para facilitar que los datos procesados sean sometidos a mejoras constantes, como se muestra en la Figura 1.51. Por ejemplo, se podría utilizar un enfoque iterativo para que el personal de la empresa haga retroalimentación para el personal de TI, de forma que se hagan mejoras constantes en el sistema. Cada ciclo de retroalimentación puede revelar la necesidad de modificar los pasos existentes o de crear nuevos pasos; por ejemplo, el preprocesamiento para la limpieza (cleansing) de los datos.
Cloud Computing
Como se mencionó en la sección Factores empresariales y tecnológicos de Big Data, el Cloud Computing introduce entornos remotos que pueden hospedar una infraestructura de TI para almacenar y procesar datos a gran escala, entre otras cosas. Sin importar si una organización ya cuenta con información basada en la nube, la adopción de un entorno Big Data puede requerir que una parte o todo el entorno esté hospedado en la nube. Por ejemplo, una empresa que ejecuta su sistema de CRM en la nube toma la decisión de implementar una solución Big Data en el mismo entorno de nube, con el fin de ejecutar la analítica en sus datos de CRM. Luego, estos datos pueden ser compartidos con su entorno Big Data principal que se encuentra al interior de la empresa.