Hadoop versus los sistemas de gestión de bases de datos relacionales
Se suele asociar el marco de trabajo de datos de código abierto Hadoop al manejo de inmensas cantidades de datos. Y es lógico: el sistema de almacenamiento de Hadoop lo utilizan, por ejemplo, empresas como Facebook y Yahoo!, usuarias intensivas de información. De hecho, Yahoo! no solo fue uno de las primeras en adoptarlo sino que contribuye activamente a esta plataforma y ha implementado una red Hadoop de 50.000 nodos. Asimismo, Facebook cuenta con un sistema Hadoop con más de 10.000 nodos. En definitiva, si una empresa precisa manejar grandes cantidades de datos, Hadoop puede ser su salvación.
No obstante, Arun Murthy, vicepresidente de Apache Hadoop en la Apache Software Foundation y arquitecto de la empresa Hortonworks, pinta una imagen diferente de Hadoop y su uso en la empresa. Para Murthy, el uso de Hadoop va más allá de las grandes cantidades de datos. Una de las mayores fortalezas de Hadoop en su capacidad para escalar y Yahoo! y Facebook son buenos ejemplos de este aspecto. No obstante, se suele hablar poco acerca de cómo esta plataforma puede ayudar a conseguir datos analíticos para la toma de decisiones en empresas de cualquier tamaño.
Todos los datos son iguales
El almacenamiento de datos solía ser caro en el pasado reciente. Hace sólo cinco años, las pymes y grandes empresas se encontraron con que tenían que conservar y mantener una cantidad explosiva de conjuntos de datos: correos electrónicos, resultados de búsquedas, datos de ventas, inventarios, datos de clientes, click-throughs en páginas web… todo esto y más cada vez en mayores cantidades. Y tratar de manejarlo en un sistema de gestión de bases de datos relacional (o RDBMS, en sus siglas en inglés) resultaba una propuesta demasiado cara. Con la llegada de todos estos eventos, cualquier organización que tratase de mantener la gestión de datos en buenas condiciones y los costes a raya trataría de tomar muestras para crear subconjuntos de datos más pequeños. Esta muestra reducida de datos históricos se clasificaría de forma automática según ciertas suposiciones. Y la primera de ellas sería que algunos de esos datos siempre serán más importantes que el resto.
Por ejemplo, las prioridades para los datos de e-commerce podrían basarse en la (razonable) suposición de que los datos de tarjetas de crédito serían más importantes que los de producto, que a su vez serían más importantes que los datos de click-through.
Si se trata de desarrollar un modelo de negocio basado en un conjunto de suposiciones, no sería difícil extraer información para poder tomar decisiones empresariales. Pero la información siempre estaría basada en esas suposiciones, ¿qué ocurriría entonces si estuviesen fuesen equivocadas?
Como se redujo la muestra de datos, cualquier nuevo escenario empresarial tendría que utilizar esos mismos conjuntos de datos, los datos originales se habrían perdido para siempre. Y debido al alto coste de un sistema de almacenamiento basado en RDBMS, a menudo esos datos quedarían aislados dentro de la organización. Ventas tendría sus propios datos, Marketing los suyos, Contabilidad los suyos, etc. Y por ello las decisiones se limitarían a cada parte de la organización y no a la totalidad. Con Hadoop no se realiza ningún tipo de supuesto, porque se conservan todos los datos”.
Éste quizá sea el mayor beneficio de Hadoop, aunque a menudo quede escondido en el fondo, escondido tras la idea de los reducidos costes financieros de esta tecnología. “La reducción de muestras obliga a suponer qué parte de los datos será mayor y más importante que el resto –explica Murthy–. En Hadoop, todos los datos tienen el mismo valor”.
Puesto que todos los datos son iguales, y están igualmente disponibles, en cualquier momento se pueden desarrollar distintos escenarios empresariales, sin limitación y utilizando siempre los datos originales. Es más, los datos que antes quedaban aislados ahora pueden accederse y compartirse para analizar las actividades de la organización de una forma más global.
La diferencia en cómo se perciben los datos es enorme, porque ahora ya no hay nada parecido a los datos históricos. Es más, puesto que los datos se almacenan tal cual, muchos de los costes operativos en la gestión de los datos, asociados con cosas como extraer, transformar y cargar operaciones, se reducirán sensiblemente.
No se puede evitar el hecho de que el beneficio más comentado de Hadoop probablemente sea su menor coste. Puesto que todo el framework es open source bajo la licencia de software de Apache no existen costes de licencia por el software base.
Cuándo no utilizar
No obstante, a pesar de las potenciales ventajas de implementar Hadoop, existen algunas limitaciones que la organización debería tener en mente antes de dar el salto. En primer lugar, si la empresa genera informes interactivos secundarios a partir de sus datos o los utiliza en transacciones complejas en múltiples pasos, una solución RDBMS podía seguir siendo la mejor apuesta, ya que Hadoop no es especialmente fuerte en estas áreas. Si los datos de la organización se actualizan y cambian a través de inserciones y eliminaciones, ésta es otra razón para mantenerse alejado de Hadoop.
Cloudera, un proveedor comercial de Hadoop que cuenta con Doug Cutting, uno de los inventores del framework, utiliza un modelo abierto del core, por lo que el software base de Hadoop es gratuito, pero las extensiones de Cloudera están sujetas a licencia. Hortonworks, que Murthy fundó junto con otros miembros del equipo Hadoop de Yahoo! a principios de 2011, mantiene todo el software gratuito y de código abierto y genera beneficios a través de sus programas de formación y soporte.
Por otro lado, otra fuente adicional de ahorro es que a diferencia de RDBMS Hadoop no requiere un hardware costoso ni procesadores de gama alta. Cualquier servidor convencional enganchado a la red Hadoop funcionará correctamente. Esto significa que un nodo Hadoop sólo necesita un procesador, una tarjeta y unos cuantos discos duros, con un coste total de unos 3.000 euros, mientras que un sistema RDBMS puede costar entre 8.000 y 11.000 euros por terabyte. Esta diferencia tan sustancial explica por qué Hadoop está en boca de todos, probablemente de forma merecida.
Sin embargo, hay que tener la precaución de que todo ese dinero ahorrado no genere un efecto llamada y haga que las empresas emprendan de cualquier manera un plan de migración a Hadoop. El tipo de experiencia que exige Hadoop a los ingenieros y administradores puede suponer que las empresas interesadas en implementar su propio desarrollo Hadoop terminen pagando un alto precio en costes de personal, tanto si la compañía desarrolla la versión comercial, como la gratuita. De hecho, el mercado de ingenieros cualificados en Hadoop en Estados Unidos ha estado tan al rojo vivo, que dos de los