La recopilación de datos está en continuo aumento en todos los campos y actividades, como la medicina o el marketing. Esos datos deben ser usados, almacenados y procesados. Distintos sistemas o, mejor, “ecosistemas”, aparecen, evolucionan, se establecen en el mercado… y son sustituidos por otros sistemas. Veamos cómo se estructura este mercado.
El secreto de los Big Data es la flexibilidad de los sistemas y la inteligencia de las personas que los usan. Hoy en día, los sistemas principales pueden ser considerados “ecosistemas”. Claro que podemos mencionar a Hadoop y Apache Stark, que dice ser 100 veces más rápido y en el que IBM tiene mucho invertido. Pero también podemos nombrar a Elasticsearch, Google BigQuery, MongoDB… ¿Qué son? El concepto de ecosistema puede explicarse por el hecho de que, para los Big Data, distintos servicios deben trabajar juntos, de forma masiva y rápidamente. Esto requiere una coordinación fuerte y evolutiva.
Hay servicios de distintos tipos que usan distintas “tecnologías” o maneras de analizar una situación y de reaccionar a ella con principios básicos. La plataforma puede usar servicios añadidos accediendo a recursos específicos, que no tienen por qué estar interrelacionados en la Nube. Por el contrario, también puede usar servicios en una estructura única y multiservicios, generalmente en la Nube. Este es, por ejemplo, el caso de una plataforma implementada en OpenStack. El Código Libre es mayoritario, pero cuando es el momento de la puesta en práctica, la ingeniería es el motor económico de esos ecosistemas, además de los dispositivos que permiten que el coste de los recursos de maquinaria y la adquisición de datos sea asequible.
- El sistema de archivos distribuidos es el corazón del dispositivo: permite asegurar la integridad del almacenamiento, la reconstrucción tras algún incidente y la reparación de archivos en cientos, incluso miles de servidores. El sistema de archivos distribuidos es esencial. Podemos mencionar a HDFS para Hadoop (Apache), pero también a GFS para Google, DFS para Microsoft, etc.
- El tipo de base de datos es una elección que a menudo implica la elección de una solución particular. Conocemos bases de datos relacionales como SQL (Microsoft) o MySQL (Oracle), pero con los Big Data necesitamos NoSQL, pues los datos a menudo están desestructurados o semi-estructurados. Eso no significa que no haya SQL, sino que el SQL no es lo único que hay. Entre las bases de datos NoSQL cabe mencionar a Cassandra, usada por Twitter, pero también a MongoDB, utilizada en servicios de SourceForge.net, SimpleDB para Amazon, BigTable para Google y HBase para Hadoop.
- Las investigaciones en los Big Data se basan en la indexación de distintas variedades de datos estructurados y desestructurados. Hadoop fue desarrollado para manejar datos financieros y se basó en Lucene, de Apache. Entre los proyectos en desarrollo podemos mencionar a ElasticSearch, una evolución del proyecto Lucene de Apache que compite con Solr, el buque insignia de Apache. Entre los competidores está Sphinx. También hay soluciones comerciales como Splunk o BigQuery de Google, que vende sus recursos para el uso de servidores. Microsoft también ofrece soluciones basadas en Hadoop o en SQL en su plataforma Azure. Esta plataforma también está financiada por el uso de recursos más o menos caros en función del uso que se les dé.
- Para la Distribución/Coordinación, el sistema Hadoop está basado en Zookeeper, que coordina la base de datos nativa HBase enfocándose en los sistemas distribuidos de archivos HDFS. Este sistema está vinculado a otros servicios con vínculos más particulares con el procesamiento con indexación, la catalogación y otros tratamientos más específicos con MapReduce, por ejemplo, que es un sistema que extrae exactamente lo que se le pide.
- Por último, todos esos servicios implican un flujo de datos (flujo de trabajo) correspondiente a una necesidad específica.