El ecosistema de productos Big Data

Este post del puente de San José es largo y técnico, de esos que poca gente llega a leer entero, pero no por ello menos interesante, sobre la oferta actual de proveedores Big Data.

¿Qué es Big Data?

Ante todo yo diría que un término de marketing acuñado bajo el lema de que el análisis de datos proporcionará una ventaja competitiva definitiva a las empresas que inviertan en tecnología para llevarlo a cabo. Lo cual puede ser cierto, pero sólo si se cumplen otros dos prerrequisitos que yo bautizaría Great Judgement y Great Operations.

LHC Big DataPara tener una situación Big Data debe darse al menos una de dos condiciones: bien es imposible almacenar toda la información que se recolecta, bien es imposible analizar toda la información almacenada en un tiempo razonable.

Actualmente, la cantidad máxima de información que se puede procesar es del orden de varios exabytes. Aunque incluso las instalaciones más grandes trabajan todavía con volúmenes en petabytes. JPMorgan Chase usa Hadoop para cargar información de ~30.000 bases de datos que contienen unos 150 Petabytes con información útil para la detección de fraudes y análisis de riesgos crediticios. Facebook declaró recientemente que su almacenamiento crece a un ritmo aproximado de medio Petabyte al día.

Great Judgement.
Sirve de poco disponer de una fantástica maquinaria de análisis si no se sabe lo que se está buscando o no se tiene un modelo que contrastar con la realidad. El procesamiento masivo en paralelo de datos no aporta en sí mismo inteligencia ni eficiencias al negocio. Los proveedores con mayor potencial de generación de ingresos a medio plazo no seran aquellos que proporcionen infraestructura sino los que se centren en las respuestas que necesitan los clientes antes que en elucubrar qué se podría hacer con los datos que tienen actualmente.

Great Operations.
Supongamos que tenemos un modelo capaz de predecir cuándo una persona va a cambiar su teléfono móvil y qué terminal es su favorito. Supongamos además que todos los datos necesarios para alimentar dicho modelo podemos obtenerlos de las bases de datos de la empresa y de las redes sociales. Entonces, para vender, hace falta comunicar dicha oportunidad de negocio a un comercial para que le haga una oferta en el momento justo. La infraestructura de operaciones para sacar partido a la información descubierta puede ser tan costosa, o más, que la infraestructura analítica hardware y software.

Aún escaso despliegue.
Según un estudio de Actuate, el 40% de las compañías norteamericanas con facturaciones superiores a 1.000 millones de dólares ni siquiera están considerando por ahora ninguna tecnología Big Data. Las razones, según el estudio, son principalmente la falta de talento y el elevado coste estimado de las iniciativas.

Es posible que la explotación de datos Big Data no sea una necesidad imperiosa para todas las empresas. Sé que afirmar esto va contra corriente, de modo que expondré un ejemplo concreto. Inexplicablemente, al menos en España, el sector hotelero ha sido reacio a implantar soluciones sofisticadas de CRM. Se supone, en principio, que el hotel debería recolectar toda la información posible del cliente para con ella mejorar la experiencia de uso y hacer ofertas microsegmentadas. En la práctica, los hoteles suelen pensar de otra forma. En primer lugar, se centran en unos pocos valores diferenciales del establecimiento: proximidad a la playa o golf, camas grandes con carta de almohadas, spa, amplios y suculentos desayunos, animación infantil, bajo precio, etc. El hotel asume que los clientes vendrán atraídos exclusivamente por esa ventaja competitiva del hotel con independencia de lo excelente que sea el servicio en otros aspectos. En segundo lugar tratan de maximizar la tasa de ocupación a través de los canales de venta: tour operadores, portales, etc. Es muy probable que en algún momento algún hotelero avispado decida cambiar de estrategia y apostar por la explotación Big Data pero ¿Cuánto le costaría esa iniciativa? Tendría que recolectar información suficiente para saber cosas como si el cliente es un turista accidental o un viajero frecuente, quienes son sus amigos a quien puede recomendar el hotel, qué factores ha valorado mejor en la encuesta de satisfacción, etc. Con todo eso crear un modelo capaz de optimizar las ventas y luego ponerlo operativamente en práctica entrenando y motivando a empleados con salarios bajos. Es decir, muchísimo más trabajo que seguir centrándose en el reclamo de «sol y playa» y dejar que el deseo de compra del cliente haga el resto.

Tecnologías de almacenamiento, procesamiento y análisis

Las tecnologías Big Data pueden clasificarse en tres grandes grupos: las de almacenamiento, las de procesamiento y las de análisis. Por limitaciones de espacio, voy a omitir en este artículo un estudio del hardware de almacenamiento tipo NetApp u otras tecnologías SAN/NAS o cloud como Amazon S3. Aunque vale la pena mencionar que, a pesar de que las soluciones Big Data Open Source pueden correr sobre hardware 100 commodity, los grandes proveedores de servicios en Internet siguen siendo compradores en masa de soluciones como NetApp porque el mercado del hardware está pendiente de una disrupción.

En su núcleo todas las herramientas Big Data tienen un subsistema de persistencia en disco. Puede ser alguno muy clásico como BerkeleyDB o nuevo como HDFS del cual hablaré más adelante.

Big Data Product Map

Almacenamiento

Hadoop
Hadoop SubprojectsHadoop fue creado por Michael J. Cafarella y Doug Cutting cuando este último trabajaba en Yahoo! Aunque la primera release oficialmente estable data de octubre de 2012. Hadoop está formado por un conjunto de subproyectos Open Source gestionados por Apache Software Foundation. La utilidad por la cual Hadoop es especialmente popular es su implementación del algoritmo MapReduce publicado por Jeffrey Dean y Sanjay Ghemawat en 2004 siendo empleados de Google. Hadoop ejecuta MapReduce sobre un cluster de máquinas que, actualmente, tiene un límite práctico de unos 4.000 nodos.

Hadoop SubprocessesLos detalles de MapReduce son algo técnicos y no voy a entrar aquí en ellos. Basta saber que es una implementación masivamente paralela de algoritmos relativamente sencillos, por ejemplo, contar cuántas veces se repite una palabra en un texto, lo cual es muy simple de programar, excepto que tengas que contar el número de ocurrencias de la palabra en todos los documentos de toda la web. Para que un algoritmo se pueda ejecutar en Hadoop debe de ser posible dividirlo en subprocesos paralelos e independientes que puedan operar sobre cualquier subconjunto de los datos sin necesidad de comunicarse, a priori, con los otros subprocesos. Es decir, sólo algunos algoritmos son susceptibles de ser implementados con el flujo de proceso MapReduce que proporciona Hadoop.

Otra limitación que presenta Hadoop es que para operar eficientemente, los datos deben estar almacenados en HDFS que es un sistema distribuido de ficheros escrito en Java que no puede montarse directamente en el sistema operativo. Lo cual implica que casi siempre hay que extraer previamente los datos de la fuente original, convertirlos a ficheros de texto y cargarlos en HDFS. Es posible usar Hadoop sin este paso previo de precarga, pero entonces se pierde mucha eficiencia computacional porque se desvirtúa el principio de procesamiento local por el cual Hadoop trata de ejecutar cada subproceso en el mismo nodo de HDFS en el que se encuentran los datos para reducir así el tráfico de red. Es decir, además de Hadoop es muy probable que se necesiten herramientas para la precarga, como por ejemplo Email2DB para grabar datos parseados de los correos electrónicos, Log Parser o Data Parse.

La adopción inicial de Hadoop ha sido un poco accidentada, incluso aunque todavía no ha salido de la fase de adoptadores tempranos, ya se ha empezado a poner el práctica ese principio capitalista por el cual si existe un valor alguien debe ser necesariamente el propietario de dicho valor. La peculiaridad de Hadoop como Open Source es que no es ni un producto basado en comunidad como Linux o Drupal ni tampoco Open Core como Alfresco o JBoss. Los proveedores principales de Hadoop se parecen más a lo que hacía BEA Weblogic e sigue haciendo IBM WebSphere sobre el software de Apache, proporcionando herramientas que simplifican la administración y añaden otras funcionalidades.

Sobre Hadoop destacan en productos y servicios Cloudera, Hortonworks, y MapR, cada uno con una estrategia comercial diferente. Los tres ofrecen servicios, formación y actualizaciones por suscripción. Cloudera enfocándose en crear una suite de gestión de Hadoop, ya que Hadoop no es fácil de configurar en un entorno de producción. MapR más centrado en paliar carencias funcionales de Hadoop mediante extensiones propietarias. Y Hortonworks en una línea más purista Open Source tratando de convertirse en algo así como el Red Hat de Hadoop.

Parte de la diversificación de la oferta basada en Hadoop es debida a las propias limitaciones del producto Apache. Hive y Pig, sin ir más lejos fueron creados por Facebook y Yahoo! respectivamente como formas de crear interfaces más amigables para Hadoop.

Entre Cloudera y Hortonworks hay una auténtica batalla de marketing y comercial. En Cloudera trabaja Doug Cutting que es algo así como «el gurú» de Hadoop, mas resulta que Hortonworks es un spin-off del equipo de ingeniería de Hadoop en Yahoo! financiado por Benchmark Capital. Pero, además de la elección Open Source versus Distribuciones Comerciales, y de la competencia de los otros productos que comentaremos, Hadoop se enfrenta, como novedad, a la oferta substitutiva de servicio cloud como Amazon Elastic MapReduce.

VoltDB
VoltDB es una base de datos distribuida basada en memoria para NewSQL OLTP mediante la división horizontal de los datos en las tablas. VoltDB admite que haya procesos que puedan ejecutarse localmente sobre los datos de una partición pero también procesos que requieran datos de varias particiones cuyos resultados son coordinados por un nodo de control.

IBM Netezza
IBM compró Netezza en 2010. Netezza es un data warehouse con una arquitectura en dos capas, una capa SMP y otra capa MPP, llamadas AMPP (Asymmetric Massively Parallel Processing). Un host SMP opera el plan de ejecución y agrega los resultados, mientras que los nodos S-Blade MMP ejecutan las consultas. Cada S-Blade está conectado por un procesador especial denominado FPGA (Field Programmable Gate Array) que actua como filtro de compresión de datos y facilita funciones de filtrado y transformación.

Con la compra de Netezza IBM trató de crear un porfolio completo: Netezza para Big Data, Cognos para Business Intelligence y SPSS para data mining y análisis estadístico. Aunque a mi no me quedan claras las sinergias entre dichos productos más allá de que el comercial vaya a venderlos todos en bloque en la misma visita. Además, Netezza es difícilmente separable tanto del hardware de IBM como de DB2. Convirtiéndolo en una solución con dependencia absoluta del proveedor.

EMC Greenplum
EMC compro Greenplum en 2010. Greenplum es una base de datos MPP derivada de PostgreSQL. El sistema puede ejecutar SQL o MapReduce. En febrero de 2013 EMC anunció una nueva integración entre Greenplum y Hadoop llamada HAWQ y disponible en su distribución Pivotal HD. Esta integración permite, presuntamente, que Hadoop lea datos directamente de Greenplum sin perder el principio de procesamiento local de datos.

HP Vertica
HP compró Vertica en 2011. Vertica es una base de datos MPP especializada en OLAP, con almacenamiento orientado a columna. Gartner ha reiterado en varias ocasiones que el ser una BB.DD. orientada a columna la convierte claramente en un producto de nicho.

Teradata Aster Data
Teradata compró Aster Data en 2011. Aster Data ofrece algunas de las funcionalidades analíticas más avanzadas sobre la plataforma muy madura de Teradata. Aunque con dicha oferta integrada se enfrenta al mismo problema de dependencia absoluta del proveedor como en el caso de IBM.

Oracle Essbase
Oracle comprón Hyperian Solutions (y con ella Essbase) en 2007. Essbase es una base de datos multidimensional para OLAP. Oracle incluye también en su oferta Big Data su plataforma Exadata, aunque esta es una base datos Oracle montada sobre servidores Sun Fire X4170 o X 4800.

Splunk
Un proveedor que ha generado mucho buzz en la red. Ofrece soluciones Big Data especializadas en análisis de logs.

Cifras de Ventas

Las cuotas de mercado de Big Data están dominadas por los grandes proveedores de siempre: HP, IBM, EMC, Intel, etc.

Según los analistas, el mercado global de Big Data experimentará un vertiginoso crecimiento quintuplicándose de tamaño a lo largo de los próximos cuatro años.

Big Data Market Forecast 2011-2016 (Wikibon)

Pure Players Big Data Share and Revenue

Ventas de tecnologías Big Data por proveedor en 2011
Proveedor Ventas en millones de USD
IBM $953
Intel $765
HP $513
Fujitsu $285
Dell $154
EMC $138
Teradata $120
Amazon Web Services $116
SAS Institute $115
SAP $85
Opera Solutions $76
Microsoft $50
Oracle $50
Splunk $45
MarkLogic $20
Cloudera $18
Red Hat $18
Informatica $17
MapR $7
Hortonworks $3

Posts relacionados:
NoSQL para no programadores
Cronograma de tecnologías NoSQL
NoSQL y Open Source
SQL Streaming
Almacenamiento distribuido no relacional
Y de repente Big Data (Fernando Arencibia)

Compartir:
  • Twitter
  • Meneame
  • Facebook
  • Google Bookmarks
Esta entrada fue publicada en Computación en la Nube, Minería de Datos, Tecnologías Emergentes, Tecnologías Libres. Guarda el enlace permanente.

4 respuestas a El ecosistema de productos Big Data

  1. Pingback: Madrid Girl Geek » Blog Archive » SEO predictivo

  2. Pingback: Cómo sacar partido al stack big data de Apache | La Pastilla Roja

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.