martes, 25 de junio de 2013

Integrar para triunfar con Big Data

Propuesta de infraestructura para Big Data


Un confundio de tecnologías están presentes para explotar Big Data. Tecnologías como la virtualización, el cloud computing (Grid),  BBDD “In-memory”, discos de estado sólido SSD, “Massively parallel processing” (MPP), Symmetrical multi-processing (SMP), Hadoop, HBase, MongoDB, Pig, Hive, Mapreduce, etc,  están al alcance. Para realizar un uso eficiente de Big Data se necesitan arquitecturas escalables, nuevas estrategias de almacenamiento, nuevas metodologías para manejar datos, nuevos algoritmos de análisis con mayor rendimiento y en tiempo real, nuevas herramientas para visualizar los datos, etc.  Un entorno de Big Data debe permitir que los datos se capturen, se organizen, se integren, se analicen y se muestren a la velocidad demandada por negocio para la toma de decisiones.

La infraestructura para hacer uso de Big Data y sacar el mayor rendimiento debería de reflejar los siguientes niveles:

NIVEL 0 Infraestructura redundada

Se encuentra en el nivel más bajo del mapa de Arquitectura de Big Data. Es fundamental que sea robusta, tenga un rendimiento aceptable, resiliente, disponible y escalable conforme a las necesidades de negocio. A diferencia de infraestructuras tradicionales se basa en una computación distribuida (que podrá integrarse con el ordenador central o infraestructura para OLTP). Los datos pueden ser almacenados físicamente en distintos lugares y ser unidos entre sí a través de herramientas analíticas a través de redes.
Los servicios en la nube capacitan a las organizaciones a tener una mayor redundancia. Garantizan el rendimiento requerido por negocio y habilitan la capacidad de computación y escalabilidad necesaria. Son posibles distintas soluciones diseñando nubes públicas, híbridas o privadas que garanticen la disponibilidad de la infraestructura (sea vía SLA con el proveedor o través de sistemas redundados y resilientes). Se necesita de un diseño que planifique el uso de almacenamiento, red y servidores necesarios para atacar la captura, organización, integración y análisis del gran volumen de datos a la velocidad y con la variabilidad del Big Data con un rendimiento aceptable.

NIVEL 1 Infraestructura de seguridad y gobierno de datos


Es imprescindible poseer una arquitectura que garantice la seguridad de la información y faculte la custodia de los datos sensibles conforme a la legislación y a las necesidades de negocio. Los retos a los que se enfrentan los sistemas de gestión de la seguridad son:

El acceso correcto a los datos procesados o sin procesar.  La información ha de ser disponible sólo al personal que  de forma legitima tienen necesidades de negocio para examinar y tratar la información.

El acceso a las aplicaciones. Los distintos enlaces entre aplicaciones y niveles de la infraestructura han de estar controlados.

Encriptación de los datos. La encriptación de datos es recomendable pero impacta directamente en el rendimiento. Como hemos comentado el rendimiento es un aspecto importante en entornos de Big Data. Si no se encripta toda la información, al menos, en ciertas capas es esencial. Para aliviar el impacto en el rendimiento existen técnicas como el uso de Token, Anónimizar la información o los controles de acceso.

Detección de amenazas. La gestión de Big Data muestra numerosas complejidades que no tienen los sistemas de información por norma general. Las múltiples fuentes de datos hacen que sea necesario definir muchas más políticas de seguridad. Al igual que esta situación implica que ciertos datos puedan suponer un riesgo para los sistemas de información. Una buena formación sobre Big Data y seguridad es fundamental para aplicar exitosamente el gobierno de los datos y su seguridad. Conocer la identidad de los fuentes y garantizar que no existe código malicioso en los datos es otro riesgo que corren las infraestructuras de Big Data.

El gobierno de los datos es otra práctica necesaria. Malintencionadamente pueden “colarse” información sensible en datos que no deberían de serlo. Son necesarios controles que partan de la base que los datos fuera de nuestra jurisdicción son inseguros, no protegidos y que contienen información confidencial.  El gobierno perseguirá realizar auditorias el proceso de Big Data.

Interfaces y flujos. Integrar datos de muchas fuentes con datos de distintos formatos es básico en un entorno de Big Data. Los enlaces y flujos entre niveles dentro de la arquitectura de Big Data ya sea desde dentro hacia fuera (relaciones con socios tecnológicos o con internet) o viceversa son el núcleo de la arquitectura de Big Data. La arquitectura ha de estar diseñada para permitir generar de forma fácil interconexiones entre el exterior y los sistemas de información internos a todos los niveles de nuestros SSII.  Servicios orientados a arquitectura o SOA nos permiten tener un estándar para poder garantizar la flexibilidad.

NIVEL 2 Fuente de datos para operar


Para cualquier entorno de Big data necesitaremos motores de bases de datos que contengan los elementos de datos relevantes para el desarrollo del negocio. La arquitectura necesita motores rápidos, escalables y robustos. Las bases de datos relacionales son necesarias. Cuando pensamos en Big Data las típicas BBDD relacionales (RDBMS) no son prácticas dadas las características el rendimiento, su costo y su escalabilidad pero continuaran siendo el eje central. Existen un gran número de motores de BBDD y su elección requiere de un estudio premeditado. Para ello se hace vital conocer que tipos de datos vamos a alojar y si es compatible con el transaccional que maneja el negocio. Las bases de datos OLTP (online transaction processing) poseen ACID:

Atómico. La transacción se completa de forma completa o nada. Sí algo falla la transacción completa falla.
Consistencia. Sólo transacciones con datos consistentes se completan.
Aislamiento. No se interfieren transacciones en paralelo.
Durabilidad. Cuando la transacción se completa los datos quedan grabados para “siempre”.

Existen otro tipos de BBDD llamadas NOSQL que ofrecen características que no cubren las RDBMS. Este tipo de BBDD se usan BASE (Basically Available, Soft state, and Eventual Consistency). Tenemos muchas soluciones basadas en este tipo de BBDD como son KVP “Key-Value Pair Databases “, Riak, BBDD documentales, MongoDB, CouchDB, HBase, BBDD de gráficas, BBDD espaciales para datos de GPS, etc.

NIVEL     Servicios y herramientas para la organización de los datos


Capturar y organizar Big Data en un contexto que sean útiles para negocio requiere técnicas para procesarlos eficientemente y sin problemas. Hadoop y los motores de Mapreduce son los más utilizados para capturar tal masa de datos. La innovación en motores de búsqueda se basa en utilizar servidores distribuidos y utilizar el potencial del GRID. Este tipo de herramientas separa la información en tamaños procesables y posteriormente la reúnen y agrupan los datos para su integración , traducción y normalización. Podemos distinguir los siguientes métodos:

Sistema de archivos distribuido. Se descomponen los datos en flujos de datos permitiendo su escalabilidad y optimizando la capacidad de almacenamiento. El ejemplo más claro es HDFS (Hadoop Dsitributed File System)

Servicios de encolamiento o serialización. Necesario para el almacenamiento de datos persistente multilenguaje  (RPC o llamadas a procedimiento remoto).

Extraer, transformar y cargar (ETL). Necesario para la carga y conversión de datos estructurados y no estructurados en Hadoop.

Servicios de flujo de trabajo. Necesario para automatizar trabajos para proporcionar una estructura de sincronización entre capas.

NIVEL 4 Almacenes de datos analíticos


Lo que se conoce por Data Warehouse y Data Mart son las técnicas primarias de analíticas de datos para ayudar a la toma de decisiones. Están basados en datos normalizados montados para el análisis de negocio (OLAP). Simplifican la creación de informes y permiten la visualización de datos dispares. Suelen crearse con BBDD relacionales, BBDD multidimensionales, ficheros planos y BBDD orientadas a objetos. La elección viene determinada por el tipo de analítica, tipo de informes y visualización que se quiere realizar. La organización de los datos y su preparación para el análisis es clave. El problema es que para Big Data no sirven procesos de carga en lotes porque se necesita una velocidad que este tipo de BBDD no soporta. El rendimiento se hace más importante que nunca. La analítica con Big Data tiene varias diferencias:

Flujos de datos tradicionales (transacciones, aplicaciones, etc) pueden producir una cantidad enorme de datos dispares como producto de la integración con Big Data.

Muchos fuentes nuevas de datos.  Cada uno necesita de una manipulación diferente antes de ser útil para negocio.

Las fuentes de contenido. Que deben ser revisadas y necesitan de técnicas distintas a la manipulación de datos estructurados.

Actualmente tecnologías como SMP, MPP e In-Memory facultan un uso más eficiente de los actuales Data Warehouse. Existen un gran número de proveedores que ofrecen Appliance (HW + SW que actúan como caja negra) que integran estás tecnologías.

Analítica de Big Data. Los algoritmos que forman parte de las herramientas de analítica tradicional son de ayuda pero no la solución. La analítica sobre Big Data debe permitir procesar rápidamente datos muy dispares. Tenemos tres clases de herramientas que ayudan a mejorar este aspecto:

Presentación de informes y cuadros de mando: Estas herramientas proporcionan una representación "user-friendly" de la información. Este campo está todavía en evolución para el Big Data y va acompañado de utilizar los datos de BBDD NoSQL (Not Only SQL).

Visualización: Estas herramientas son el siguiente paso en la evolución de los informes. El resultado ha de ser altamente interactivo y dinámico por naturaleza. Otra distinción importante entre los informes y resultados visualizados es la animación. Negocio pueden ver los cambios en los datos que utiliza con una gran variedad de técnicas de visualización, incluyendo mapas mentales, mapas de calor, infografías y diagramas de conexión.

Analítica avanzada de análisis: Estas herramientas llegan al Data Warehouse y procesan los datos para su uso. Deben explicar las tendencias o eventos que son de transformación, únicas, o revolucionarias a la práctica empresarial. El análisis predictivo y análisis de sentimiento son buenos ejemplos de este tipo de herramientas.

Premisas a la hora de tratar con Big Data

Cuando se implanta una infraestructura de estas características es necesario contextualizar cada dato con respecto al resto de datos y tener en cuenta las siguiente premisas:

Descubrir. Se hace necesario una exploración y descubrimiento de los datos. Hay que saber que datos se poseen y cómo los diferentes conjuntos de datos se relacionan entre sí.

Iteración. Los insights no siempre se conocen de antemano, el descubrimiento del valor es a menudo un proceso iterativo como el encontrar las respuestas buscadas.

Capacidad Flexible. Debido a la naturaleza iterativa del análisis de Big Data, se debe estar preparado para gastar más tiempo y utilizar más recursos para resolver los problemas.

Minería y Predicción. No siempre se sabe cómo los diferentes elementos de datos se relacionan entre sí. A medida que se realizan procesos de minería de datos para descubrir patrones y relaciones, los análisis predictivos pueden dar los puntos de vista que se están buscando.


Gestión de decisiones. Considerar el volumen de transacciones y la velocidad. Si está utilizando análisis de Big Data para conducir muchas decisiones operacionales se necesita considerar cómo automatizar y optimizar la aplicación de todas esas acciones.

No hay comentarios:

Publicar un comentario

Muchas gracias por tu aportación!!! Espero que te sea de ayuda la información facilitada.

Un saludo.