Este post apareció originalmente en O’Reilly Radar («¿Qué es el big data?»). Se vuelve a publicar con permiso.
Por Edd Dumbill
Los big data son datos que superan la capacidad de procesamiento de los sistemas de bases de datos convencionales. Los datos son demasiado grandes, se mueven demasiado rápido o no se ajustan a las restricciones de sus arquitecturas de bases de datos. Para obtener valor de estos datos, debe elegir una forma alternativa de procesarlos.
La palabra de moda de 2012 en el ámbito de la informática, big data, se ha convertido en algo viable a medida que han surgido enfoques rentables para controlar el volumen, la velocidad y la variabilidad de los datos masivos. Dentro de estos datos se encuentran valiosos patrones e información, antes ocultos debido a la cantidad de trabajo que se requiere para extraerlos. Para las principales empresas, como Walmart o Google, este poder ha estado al alcance de la mano durante algún tiempo, pero a un coste fantástico. Hoy en día, el hardware básico, las arquitecturas en la nube y el software de código abierto ponen el procesamiento de big data al alcance de las personas con menos recursos. El procesamiento de big data es eminentemente factible incluso para las pequeñas startups de garaje, que pueden alquilar de forma barata tiempo de servidor en la nube.
El valor de los big data para una organización se divide en dos categorías: el uso analítico y la habilitación de nuevos productos. La analítica de big data puede revelar perspectivas ocultas anteriormente por datos demasiado costosos de procesar, como la influencia de los compañeros entre los clientes, revelada mediante el análisis de las transacciones de los compradores y los datos sociales y geográficos. La capacidad de procesar cada dato en un tiempo razonable elimina la molesta necesidad de muestreo y promueve un enfoque de investigación de los datos, en contraste con la naturaleza un tanto estática de la ejecución de informes predeterminados.
Las exitosas startups de la web de la última década son excelentes ejemplos de big data utilizados como habilitadores de nuevos productos y servicios. Por ejemplo, al combinar un gran número de señales procedentes de las acciones de un usuario y las de sus amigos, Facebook ha sido capaz de elaborar una experiencia de usuario altamente personalizada y crear un nuevo tipo de negocio publicitario. No es casualidad que la mayor parte de las ideas y herramientas que sustentan el big data hayan surgido de Google, Yahoo, Amazon y Facebook.
La aparición del big data en la empresa trae consigo una contrapartida necesaria: la agilidad. Explotar con éxito el valor del big data requiere experimentación y exploración. Ya sea para crear nuevos productos o para buscar formas de obtener una ventaja competitiva, el trabajo requiere curiosidad y una perspectiva emprendedora.
¿Qué aspecto tienen los big data?
Como término global, «big data» puede ser bastante nebuloso, del mismo modo que el término «nube» abarca diversas tecnologías. Los datos de entrada a los sistemas de big data pueden ser charlas de redes sociales, registros de servidores web, sensores de flujo de tráfico, imágenes de satélite, flujos de audio transmitidos, transacciones bancarias, MP3 de música rock, el contenido de páginas web, escaneos de documentos gubernamentales, rastros de GPS, telemetría de automóviles, datos de mercados financieros, y la lista continúa. Para aclarar las cosas, las tres V de volumen, velocidad y variedad se utilizan habitualmente para caracterizar diferentes aspectos de los grandes datos. Son una lente útil a través de la cual ver y entender la naturaleza de los datos y las plataformas de software disponibles para explotarlos. Lo más probable es que te enfrentes a cada una de las V en un grado u otro.
Volumen
El beneficio obtenido por la capacidad de procesar grandes cantidades de información es el principal atractivo de la analítica de big data. Tener más datos supera a tener mejores modelos: simples trozos de matemáticas pueden ser irracionalmente efectivos dada la gran cantidad de datos. Si pudieras realizar esa previsión teniendo en cuenta 300 factores en lugar de 6, ¿podrías predecir mejor la demanda?
Este volumen supone el reto más inmediato para las estructuras informáticas convencionales. Exige un almacenamiento escalable y un enfoque distribuido de las consultas. Muchas empresas ya cuentan con grandes cantidades de datos archivados, quizá en forma de registros, pero no con la capacidad de procesarlos.
Suponiendo que los volúmenes de datos son mayores que los que pueden soportar las infraestructuras convencionales de bases de datos relacionales, las opciones de procesamiento se dividen a grandes rasgos en una elección entre arquitecturas de procesamiento paralelo masivo -almacenes de datos o bases de datos como Greenplum- y soluciones basadas en Apache Hadoop. Esta elección suele estar condicionada por el grado en que entra en juego una de las otras «V»: la variedad. Por lo general, los enfoques de almacenamiento de datos implican esquemas predeterminados, que se adaptan a un conjunto de datos regular y que evoluciona lentamente. Apache Hadoop, en cambio, no pone condiciones a la estructura de los datos que puede procesar.
En su esencia, Hadoop es una plataforma para distribuir problemas informáticos entre varios servidores. Desarrollado por primera vez y publicado como código abierto por Yahoo, implementa el enfoque MapReduce, del que fue pionero Google en la compilación de sus índices de búsqueda. El MapReduce de Hadoop consiste en distribuir un conjunto de datos entre varios servidores y operar sobre los datos: la etapa de «mapeo». A continuación, los resultados parciales se recombinan: la etapa de «reducción».
Para almacenar los datos, Hadoop utiliza su propio sistema de archivos distribuido, HDFS, que pone los datos a disposición de múltiples nodos de computación. Un patrón de uso típico de Hadoop implica tres etapas:
- cargar los datos en HDFS,
- operaciones MapReduce, y
- recuperar los resultados de HDFS.
- Experiencia técnica: los mejores científicos de datos suelen tener una profunda experiencia en alguna disciplina científica.
- Curiosidad: un deseo de ir por debajo de la superficie y descubrir y destilar un problema hasta convertirlo en un conjunto muy claro de hipótesis que puedan ser probadas.
- Contar historias: la capacidad de utilizar los datos para contar una historia y ser capaz de comunicarla eficazmente.
- Inteligencia: la capacidad de ver un problema de formas diferentes y creativas.
- ¿Qué es la ciencia de datos?
- Construyendo equipos de ciencia de datos
- Big Data Now
- «Datos a escala del universo», presentación de Kyle Cranmer en Strata NY 2011 (vídeo)
- Construyendo startups de datos: Rápido, grande y enfocado
Este proceso es, por naturaleza, una operación por lotes, adecuada para tareas de computación analítica o no interactiva. Por ello, Hadoop no es en sí mismo una solución de base de datos o almacén de datos, sino que puede actuar como complemento analítico de una.
Uno de los usuarios más conocidos de Hadoop es Facebook, cuyo modelo sigue este patrón. Una base de datos MySQL almacena los datos principales. A continuación, estos se reflejan en Hadoop, donde se producen los cálculos, como la creación de recomendaciones para usted basadas en los intereses de sus amigos. A continuación, Facebook transfiere los resultados de nuevo a MySQL, para utilizarlos en las páginas que se sirven a los usuarios.
Ahorre un 20% en la inscripción con el código RADAR20
Velocidad
La importancia de la velocidad de los datos -el ritmo creciente al que los datos fluyen en una organización- ha seguido un patrón similar al del volumen. Los problemas que antes se limitaban a segmentos de la industria se presentan ahora en un entorno mucho más amplio. Las empresas especializadas, como los operadores financieros, llevan mucho tiempo convirtiendo en ventaja los sistemas que hacen frente a los datos que se mueven con rapidez. Ahora nos toca a nosotros.
¿Por qué es así? La era de Internet y de los móviles significa que la forma en que entregamos y consumimos productos y servicios está cada vez más instrumentada, lo que genera un flujo de datos hacia el proveedor. Los minoristas en línea son capaces de recopilar grandes historiales de cada clic e interacción de los clientes: no sólo de las ventas finales. Los que son capaces de utilizar rápidamente esa información, recomendando compras adicionales, por ejemplo, obtienen una ventaja competitiva. La era de los teléfonos inteligentes aumenta de nuevo el ritmo de entrada de datos, ya que los consumidores llevan consigo una fuente de streaming de imágenes geolocalizadas y datos de audio.
La cuestión no es sólo la velocidad de los datos entrantes: es posible transmitir datos de rápido movimiento al almacenamiento masivo para su posterior procesamiento por lotes, por ejemplo. La importancia radica en la velocidad del bucle de retroalimentación, que lleva los datos desde la entrada hasta la decisión. Un anuncio de IBM señala que no se cruzaría la carretera si todo lo que se tuviera fuera una instantánea de cinco minutos de la situación del tráfico. Hay momentos en los que simplemente no podrá esperar a que se ejecute un informe o se complete un trabajo de Hadoop.
La terminología de la industria para estos datos de rápido movimiento tiende a ser «datos en flujo», o «procesamiento de eventos complejos». Este último término estaba más establecido en las categorías de productos antes de que el procesamiento de datos en streaming adquiriera una relevancia más generalizada, y parece que va a disminuir en favor del streaming.
Hay dos razones principales para considerar el procesamiento en streaming. La primera es cuando los datos de entrada son demasiado rápidos para almacenarlos en su totalidad: para que los requisitos de almacenamiento sean prácticos, debe producirse algún nivel de análisis a medida que entran los datos. En el extremo de la escala, el Gran Colisionador de Hadrones del CERN genera tantos datos que los científicos deben descartar la inmensa mayoría de ellos, con la esperanza de no haber tirado nada útil. La segunda razón para considerar el streaming es cuando la aplicación exige una respuesta inmediata a los datos. Gracias al auge de las aplicaciones móviles y los juegos en línea, esta es una situación cada vez más común.
Las categorías de productos para el manejo de datos en streaming se dividen en productos propietarios establecidos, como InfoSphere Streams de IBM, y los marcos de código abierto menos pulidos y aún emergentes que se originan en la industria web: Twitter’s Storm, y Yahoo S4.
Como se ha mencionado anteriormente, no se trata sólo de los datos de entrada. La velocidad de las salidas de un sistema también puede importar. Cuanto más estrecho sea el bucle de retroalimentación, mayor será la ventaja competitiva. Los resultados pueden ir directamente a un producto, como las recomendaciones de Facebook, o a cuadros de mando utilizados para impulsar la toma de decisiones.
Es esta necesidad de velocidad, especialmente en la web, la que ha impulsado el desarrollo de almacenes de valores clave y bases de datos columnares, optimizados para la rápida recuperación de información precalculada. Estas bases de datos forman parte de una categoría paraguas conocida como NoSQL, que se utiliza cuando los modelos relacionales no son los adecuados.
Variedad
Rara vez los datos se presentan en una forma perfectamente ordenada y lista para su procesamiento. Un tema común en los sistemas de big data es que los datos de origen son diversos, y no caen en estructuras relacionales ordenadas. Puede tratarse de texto de redes sociales, datos de imágenes o una fuente de datos sin procesar procedente de un sensor. Incluso en la web, donde la comunicación entre ordenadores debería ofrecer algunas garantías, la realidad de los datos es desordenada. Diferentes navegadores envían datos diferentes, los usuarios ocultan información, pueden estar utilizando diferentes versiones de software o proveedores para comunicarse con usted. Y puedes apostar que si parte del proceso involucra a un humano, habrá errores e inconsistencias.
Un uso común del procesamiento de big data es tomar datos no estructurados y extraer un significado ordenado, para su consumo por parte de los humanos o como una entrada estructurada a una aplicación. Un ejemplo es la resolución de entidades, el proceso de determinar exactamente a qué se refiere un nombre. ¿Es esta ciudad Londres, Inglaterra, o Londres, Texas? Para cuando su lógica de negocio llegue a ello, no querrá estar adivinando.
El proceso de pasar de los datos de origen a los datos procesados de la aplicación implica la pérdida de información. Cuando ordenas, acabas tirando cosas. Esto subraya un principio del big data: cuando puedas, conserva todo. Es posible que haya señales útiles en los trozos que se tiran. Si pierdes los datos de origen, no hay vuelta atrás.
A pesar de la popularidad y la naturaleza bien entendida de las bases de datos relacionales, no es el caso de que deban ser siempre el destino de los datos, incluso cuando se ordenan. Algunos tipos de datos se adaptan mejor a ciertas clases de bases de datos. Por ejemplo, los documentos codificados como XML son más versátiles cuando se almacenan en un almacén XML dedicado, como MarkLogic. Las relaciones de las redes sociales son grafos por naturaleza, y las bases de datos de grafos como Neo4J hacen que las operaciones sobre ellas sean más sencillas y eficientes.
Incluso cuando no hay un desajuste radical del tipo de datos, una desventaja de la base de datos relacional es la naturaleza estática de sus esquemas. En un entorno ágil y exploratorio, los resultados de los cálculos evolucionarán con la detección y extracción de más señales. Las bases de datos NoSQL semiestructuradas satisfacen esta necesidad de flexibilidad: proporcionan la estructura suficiente para organizar los datos, pero no requieren el esquema exacto de los mismos antes de almacenarlos.
En la práctica
Hemos explorado la naturaleza de los big data, y estudiado el panorama de los mismos desde un alto nivel. Como es habitual, a la hora de la implantación hay dimensiones a tener en cuenta más allá de la selección de herramientas.
¿Nube o interno?
La mayoría de las soluciones de big data se ofrecen ahora de tres formas: sólo software, como dispositivo o basadas en la nube. La decisión de qué camino tomar dependerá, entre otras cosas, de cuestiones como la localización de los datos, la privacidad y la regulación, los recursos humanos y los requisitos del proyecto. Muchas organizaciones optan por una solución híbrida: utilizar recursos en la nube bajo demanda para complementar los despliegues internos.
El big data es grande
Es un hecho fundamental que los datos que son demasiado grandes para procesarlos de forma convencional también lo son para transportarlos a cualquier parte. Las TI están sufriendo una inversión de prioridades: es el programa el que tiene que moverse, no los datos. Si quiere analizar los datos del censo de Estados Unidos, es mucho más fácil ejecutar su código en la plataforma de servicios web de Amazon, que aloja esos datos localmente, y no le costará tiempo ni dinero transferirlos.
Incluso si los datos no son demasiado grandes para moverlos, la localidad puede seguir siendo un problema, especialmente con los datos que se actualizan rápidamente. Los sistemas de comercio financiero se agolpan en los centros de datos para conseguir la conexión más rápida a los datos de origen, porque esa diferencia de milisegundos en el tiempo de procesamiento equivale a una ventaja competitiva.
Los grandes datos son desordenados
No todo es cuestión de infraestructura. Los profesionales de los big data informan sistemáticamente de que el 80% del esfuerzo que supone el tratamiento de los datos consiste en limpiarlos en primer lugar, como observa Pete Warden en su Glosario de Big Data: «Probablemente paso más tiempo convirtiendo datos de origen desordenados en algo utilizable que en el resto del proceso de análisis de datos combinado».
Debido al alto coste de la adquisición y limpieza de datos, vale la pena considerar lo que realmente necesita para abastecerse. Los mercados de datos son un medio para obtener datos comunes, y a menudo puedes aportar mejoras de vuelta. La calidad puede ser, por supuesto, variable, pero será cada vez más un punto de referencia en el que compiten los mercados de datos.
Cultura
El fenómeno del big data está estrechamente ligado a la aparición de la ciencia de los datos, una disciplina que combina matemáticas, programación e instinto científico. Beneficiarse del big data implica invertir en equipos con este conjunto de habilidades y rodearlos de una voluntad organizativa de entender y utilizar los datos para obtener ventajas.
En su informe «Building Data Science Teams», D.J. Patil caracteriza a los científicos de datos como poseedores de las siguientes cualidades:
La naturaleza de gran alcance de los proyectos de análisis de big data puede tener aspectos incómodos: los datos deben salir de los silos para ser explotados, y la organización debe aprender a comunicar e interpetar los resultados del análisis.
Estas habilidades de narración e inteligencia son los factores de entrada que en última instancia dictan si los beneficios de las labores analíticas son absorbidos por una organización. El arte y la práctica de la visualización de los datos es cada vez más importante para salvar la brecha entre el ser humano y el ordenador para mediar en la visión analítica de una manera significativa.
Sabe a dónde quiere ir
Por último, recuerde que el big data no es una panacea. Puedes encontrar patrones y pistas en tus datos, pero ¿luego qué? Christer Johnson, líder de IBM para la analítica avanzada en Norteamérica, da este consejo a las empresas que se inician en el big data: primero, decida qué problema quiere resolver.
Si elige un problema de negocio real, como por ejemplo cómo puede cambiar su estrategia publicitaria para aumentar el gasto por cliente, guiará su implementación. Aunque el trabajo de big data se beneficia de un espíritu emprendedor, también se beneficia mucho de un objetivo concreto.
Relación: