El Big data no es solo tecnología, sino que es una nueva forma de hacer negocios. En esta nueva edición, explayaremos más en detalle sobre esta ciencia de datos requerida hoy en día por toda organización.

Big Data se define como un campo de las ciencias de la información dedicado al análisis, procesamiento y almacenamiento de grandes volúmenes de datos, que con frecuencia provienen de fuentes dispares, (sistemas internos, fuentes externas, sensores en distintos tipos de equipamiento, redes sociales, etc.), cuyo objetivo fundamental es ser capaz de soportar la toma de decisiones de niveles ejecutivos de las empresas de manera de que obtengan una ventaja competitiva frente a su competencia.

Las soluciones y prácticas de Big Data suelen ser necesarias cuando las tecnologías y técnicas tradicionales de análisis, procesamiento y almacenamiento de datos son insuficientes para resolver necesidades de un determinado estadio del negocio. Específicamente, Big Data ha sido pensada, como la combinación de múltiples conjuntos de datos no relacionados, el procesamiento de grandes cantidades de datos estructurados y no estructurados y la recolección de información oculta de una manera que mantenga vigencia a lo largo de tiempo de acuerdo a la demanda de los stakeholders del negocio.

Aunque Big Data puede aparecer como una nueva disciplina, se ha estado desarrollando durante años. La gestión y el análisis de grandes conjuntos de datos ha sido un problema que ha ocupado a la informática por años; problemas vinculados a la salud, a los servicios públicos y las actividades actuariales, por mencionar algunas representativas. La ciencia de datos ha evolucionado a partir de estas raíces y hoy se ha convertido en una actividad central dentro de las organizaciones y una de las profesiones con mayor proyección a futuro.

Además de los enfoques analíticos tradicionales basados en estadísticas, Big Data agrega nuevas técnicas que aprovechan los recursos computacionales para ejecutar algoritmos analíticos. La evolución de estos métodos y las tecnologías relacionadas han permitido acompañar el crecimiento de los conjuntos de datos tanto en volumen como en diversidad, facilitando el procesamiento en tiempo real y un flujo continuo de actualización de datos. Aunque los enfoques estadísticos se han utilizado para aproximar las medidas de una población a través de muestreo desde tiempos bíblicos, estos avances metodológicos y tecnológicos en la ciencia computacional han permitido el procesamiento de conjuntos de datos enteros, por lo que trabajar por muestreo puede ya ser innecesario.

El análisis de conjuntos de datos Big Data es un esfuerzo interdisciplinario que combina matemáticas, estadística, informática y conocimiento del dominio especifico. Esta mezcla de habilidades y perspectivas ha llevado a una cierta confusión en cuanto a lo que comprende el campo de Big Data y su análisis, pues la respuesta que uno recibe dependerá de la perspectiva de quien esté respondiendo a la pregunta. Los límites de lo que constituye un problema de Big Data también están cambiando debido al paisaje siempre cambiante y avanzado de la tecnología de software y hardware. Esto se debe al hecho de que la definición de Big Data tiene en cuenta el impacto de las características de los datos en el diseño del entorno de la solución en sí.

Hace treinta años, un gigabyte de datos podría ser un problema de Big Data y requerir recursos de computación de propósito especial. Ahora, gigabytes de datos son comunes y pueden ser fácilmente transmitidos, procesados y almacenados en dispositivos orientados al consumidor. Los datos dentro de los entornos de Big Data generalmente se acumulan dentro de la empresa a través de aplicaciones, sensores y fuentes externas. Los datos procesados por una solución Big Data pueden ser utilizados por las aplicaciones empresariales directamente o pueden ser introducidos en un “lago de datos” para enriquecer datos existentes. Los resultados obtenidos a través del procesamiento de Big Data pueden conducir a una amplia gama de ideas y beneficios, tales como:

  • Optimización operacional
  • Inteligencia de negocios
  • Identificación de nuevos mercados
  • Predicciones más precisas
  • Detección de fallos y fraudes
  • Análisis de comportamiento
  • Reducción de costos en diversas actividades, (mantenimiento de equipos, ahorro de diferentes tipos de energías)
  • Mejoras en los servicios públicos

Evidentemente, las aplicaciones y los beneficios potenciales de Big Data son amplios. Sin embargo, existen numerosos problemas técnicos y culturales que deben tenerse en cuenta al momento de planificar la adopción de estas tecnologías. Estas cuestiones deben ser comprendidas y sopesadas en función de los beneficios previstos de manera de disponer de un caso concreto de negocios que justifique la adopción.

Según IDC para el 2020 el negocio de Big Data será mayor a los 203 billones de dólares a nivel global, por lo que la demanda de aplicaciones basadas en Big Data está y seguirá creciendo en función a las necesidades de las organizaciones de poder tomar decisiones más acertadas y en tiempo real, de manera de poder responder a las necesidades de sus clientes con nuevos productos y servicios. Pero el desarrollo de soluciones basadas en esta tecnología es un mundo nuevo y que está en constante evolución, por lo que podría decirse que son, todavía, inestables. Esta inestabilidad se traduce en un conjunto de riesgos técnicos, (performance por ejemplo), que atentan contra el cumplimiento de costos, calidad y cronogramas de los proyectos de Big Data. Si quisiéramos evitar estos riesgos la lista incluiría:

  • Las cinco V de Big Data: Volumen, variedad, velocidad, veracidad y valor, son aspectos que deben ser explícitamente considerados en el diseño de las soluciones. Muchas empresas se centran en dar a entender que lo único que importa es el valor, pero esta “V” es imposible separarla de las otras cuatro.
  • Cambios de paradigma (tales como Data Lake, Poliglot Persistence, Lambda Architecture, etc.). Los esfuerzos primarios han estado focalizados en codificar el desarrollo de tradicionales sistemas de datos, pero ahora se está focalizando en la selección y orquestación de tecnologías para sistemas basados en Big Data.
  • La proliferación y la dificultad para seleccionar la tecnología adecuada: Existen más de 150 productos, solo en el mundo de bases de datos NoSQL, tecnologías abiertas y propietarias, tales como Hadoop, MapReduce, Spark, etc. que representan un desafío al momento de definir una solución.
  • La velocidad de los cambios tecnológicos: Mientras los sistemas tradicionales se focalizan en el almacenamiento en bases de datos; los sistemas basados en Big Data se focalizan en el procesamiento, uso y movimiento de los datos, lo cual, para muchos arquitectos, conlleva la gestión de los datos a un nuevo territorio, tal como NoSQL, NewSQL y a la utilización de tácticas y patrones asociados al procesamiento distribuido
  • La corta historia del desarrollo de sistemas basados en Big Data: Existen muchas tecnologías, incluso familias de ellas, y la comunidad no ha acumulado suficiente experiencia que pueda traducirse en patrones robustos y bien probados.
  • Complejas integraciones entre nuevos sistemas y ambientes legados: Muchos sistemas basados en Big Data necesitan integrarse con sistemas legados, generando riesgos relacionados con propiedades emergentes de dicha integración.

En este sentido el desarrollo de este tipo de aplicaciones se debe sustentar en la combinación de prácticas basadas en diseño y evaluación de arquitecturas y el desarrollo basado en prototipos. Las prácticas mencionadas deben estar inmersas en un ciclo de vida que asegure agilidad, integración y entrega continua.

La siguiente es un conjunto de buenas prácticas que deben ser consideradas en un proyecto de sistemas basado en Big Data:

  1. Entender y formalizar la necesidad de la organización (Identificar formalmente objetivos de negocios)
  2. Analizar la cultura y el impacto que conlleva Big Data y gestionar ese cambio.
  3. Entender los datos del usuario y las fuentes
  4. Identificar los Drivers Arquitecturales
  5. Seleccionar/diseñar una Arquitectura de Referencia
  6. Hacer análisis de trade-offs e identificar restricciones
  7. Mapear la arquitectura a las tecnologías candidatas
  8. Prototipar y re-evaluar la arquitectura
  9. Estimar los esfuerzos de implantación
  10. Utilizar Devops desde el inicio del proyecto
  11. Avanzar en iteraciones acotadas
  12. Implantar prácticas de Data Governance para Big Data
  13. Prepararse para el cambio dado que Big Data está en continua evolución.

En futuras entregas de esta serie, seguiremos analizando cada una de estas prácticas, con el objetivo de dar claridad a quienes estén tomando decisiones acerca de cómo llevar adelante un proyecto de Big Data.

Por Alejandro Bianchi,
Presidente de Liveware IS