domingo, 14 de abril de 2013

The Angry Whale [Social + BigData]

A mediados de Enero me surgió la oportunidad de escribir.

Escribir sobre BigData e intentar publicar el texto en algún medio especializado, hasta la fecha solo había escrito para el blog pero algunos de los artículos me los había tomado lo suficientemente en serio como para que no me intimidara publicar en un revista. Aun así, no podía hacer lo mismo de siempre... 

Entonces ¿qué podía cambiar?

Si no escribes pensando en las personas que te van a leer es que escribes para ti mismo y quizás sea mejor no publicarlo, pero esta vez fui un poco más lejos.

No solo busqué una reacción en el lector, sino que intenté provocarlo...




Provocar está de moda, eso nos lo ha enseñado muy bien un tal @ristomejide el cual lo ha llevado al extremo patentando su propio sistema: Annoyomics. Provocar para conseguir una reacción rápida, logrando que la mitad de los que opinen te adoren y la otra mitad te hagan publicidad con su odio (...hacia ti!).

Pero yo ni soy Risto ni soy nadie para ir provocando, por lo que baje el tono de la provocación a tres pequeñas exageraciones, justo cuando describía el NoSQL. Tampoco llego a "las masas", pero en eso tuve suerte y me ayudó (sin querer) un amigo: @FuKuy. El resultado fue el siguiente:

Por lo poco que se, Samuel García (además de ser gallego, la tierra de mis orígenes) lleva algún tiempo trabajando con NoSQL, por lo que sabe de lo que habla. Y a @samuelgmartinez le molestaron dos de mis tres exageraciones: 

"¡Empezamos YA!

Es evidente que cualquier sistema necesita un diseño previo y la implementación sólo dependerá de lo complejo que el sistema sea y los recursos de los que se disponga. La característica de la que hablo en realidad es un error, un error que cometen algunos en el momento de empezar un sistema NoSQL, pensando que se ahorraran el diseño y como han tardado 10 min en montarlo en el portátil, no hay más trabajo que hacer... YA podemos empezar! 

Si contemplamos metodologías ágiles y revisamos el modelo, quizás no sea un error, sino la forma de empezar a trabajar rápido y marcarse varios hitos donde revisar y corregir el modelo; para mi y en definitiva, muy característico de los sistemas NoSQL.

"El FIN del DBA"

Creo que en este punto la exageración era más evidente ¿Un DBA anunciando el FIN del DBA? El primero en darse cuenta fue @CondeBond, pero es que a él nunca se le escapa nada =)
Pero no deja de ser otro error, donde al tener más control sobre el sistema puedes llegar a creer que puedes prescindir del Administrador. Hace poco @OracleAlchemist demostró que vale la pena incluso hacer un cómic sobre el tema: 


Thanks Steve for lending "The Adventures of ACE" for a while...

"Escasez de herramientas"

Este es el último punto, no era ninguna exageración y fue con el que Samuel se tomó más molestias, quizás porque es su pan de cada día. Para aclararlo tengo que decir una cosa: tenía un límite de palabras cuando escribí el artículo.

Y teniendo en cuenta que el objetivo era clarificar ciertos puntos del BigData, siempre en mi humilde opinión y sin entrar en el apartado técnico, me permití dos licencias
  • Generalizar diciendo que Hadoop era un sistema de archivos. Hadoop es diferente, y con la comparación entre una base de datos y un sistema de ficheros quería captar la atención: "Cuidado! ésto es diferente, es necesario profundizar".
  • Imaginar que cuando usaba "herramientas", se pensaría en herramientas de GUI amigable y/o "alto nivel". Y no en el extenso abanico de complementos que tiene Hadoop o el ecosistema NoSQL.
Precisamente creo que crear herramientas de mayor nivel y/o "amigables" es una de las oportunidades del BigData, esperando que algunas empresas creen esa capa que falta y que sea capaz de acercar el BigData a los mercados de consumo IT.

Por cierto, creo que es precisamente a lo que se dedica Samuel =)



PD1: Tengo que decir que no fue la única cosa que cambié en mi forma de escribir, y en cuanto las tenga suficientemente aprendidas espero contarlas aquí...

PD2: Agradecer a Samuel su crítica como experto y decir que ya estoy esperando otra respuesta, de la que también espero aprender mucho:

sábado, 6 de abril de 2013

La Ballena Voladora [BigData]

A finales de Enero, tras varios meses, volvió a aparecer en Twitter la "Fail Whale", dibujo de una ballena voladora que aparece cuando el servicio no funciona y un buen símil de la cantidad de datos que mueve el servicio.

Fue en Febrero de 2010 cuando un ingeniero de Twitter, a raíz de las frecuentes caídas del servicio, anunciaba sus planes de abandonar su Base de Datos SQL tradicional. Se optó por una procedente de Facebook, un sistema NoSQL. Fue un fracaso, pero se aprovechó para montar su infraestructura de análisis.

Infraestructura con la que han logrado dar valor a su servicio (Trending Topics), añadir funcionalidades e incluso recibir ingresos (acuerdos con Google y Bing). Como culminación ofrecerán una asignatura de BigData en la universidad de Berkley.

¿Cómo Enfrentarse a una Ballena?

Surge la "Internet de las cosas", donde casi cualquier equipo eléctrico es capaz de almacenar datos. Ésto, junto a las redes sociales, han logrado poner a disposición de cualquier negocio más información de la que habrían soñado nunca, donde se mezclaran orígenes de datos muy diferentes y en la mayoría de ocasiones sin una estructura clara.

What's Better Than Four Leaping Dolphins? - WHALES!Nos estamos enfrentando a la evolución del Business Inteligence, análisis de datos adaptado al nuevo mercado que nosotros mismos, como usuarios, hemos creado. Un nuevo modelo de Just in Time del procesamiento de datos, donde será necesario ser flexible en las preguntas y veloz en las respuestas.

Apenas podremos hacer previsiones sobre nuestros datos y mucho menos estructurarlos con antelación. Esta será una de las principales características del BigData: la falta de estructura. Lo que provocará que almacenaremos toda información, para que en cuanto aparezca una necesidad, una pregunta, ese gran ser acuático responda y lo haga YA!

Pero antes de empezar a analizar nuestros datos o a pedir una gran piscina para nuestra ballena, será necesario sentarse, respirar profundamente y hacerse una pregunta:

¿Qué le podemos preguntar a una ballena?

No todo el mundo se sentirá cómodo al tener que reaccionar por lo que diga un cetáceo, lo que pondrá a prueba nuestra flexibilidad y gestión del cambio. Llegando incluso a la conclusión de que no todos debemos tener una ballena en el salón.

Una vez contestada podemos analizar las soluciones tecnológicas disponibles. Acostumbran a existir dos entornos de almacenamiento, el productivo (OLTP) y el analítico (OLAP), lo que nos puede llevar a pensar que la mejor opción es unir ambos. De esta forma, analizando los datos en origen, podríamos evitar procesos nocturnos que actualicen y estructuren el entorno analítico, que es en realidad al que preguntamos. En Oracle fueron de los primeros en darse cuenta presentando Exadata, un "exa"-esqueleto para que hasta un cachalote pueda moverse como una bailarina. Pero dada su complejidad y precio, se ha dado pie al resurgir de los sistemas NoSQL.

Características de los sistemas NoSQL:

  • Empezamos YA! sistemas sencillos de implantar y sin necesidad de diseño previo.
  • El FIN del DBA. Al ser sistemas más cercanos al desarrollador, podemos optar por prescindir de esta figura.
  • Escalabilidad, suele ser sencillo añadir nodos a un cluster NoSQL.
  • Precio, no solo por casi todo proyectos de código abierto, sino por el crecimiento a base de "Commodity Servers" (equipos básicos).
  • Velocidad, además de por escalabilidad, por su diseño, distinto al tradicional SQL.
  • No cumplen el estándar ACID para tratamiento de transacciones, lo que podrá suponer un problema de robustez.
  • Hay escasez de herramientas

Destaca un producto, Hadoop, que además de no ser una base de datos, sino un sistema de ficheros, ofrece otras ventajas como la alta disponibilidad. Es la solución que multitud de fabricantes han embebido en sus soluciones de BigData, entre ellos Oracle.

Varados en la Costa
Flying whale...Flying whale...

Se pueden leer muchas críticas, tanto desde el punto de vista técnico, como desde el operativo; quizás sea por eso que veo una gran
futuro a la ballena.
Durante el 2013 quedará claro que en el bigDATA lo relevante son los datos y no el tamaño.

Veremos como realizar preguntas de forma más sencilla, usando el "Lenguaje Natural". Donde el protagonismo lo tiene la pregunta, evitando intermediarios que la manipulen para poder formularla.

Veremos como la tecnología responde con alternativas. Cada vez será más habitual aprovechar discos de estado sólido (más veloces y caros que los normales). Aparecerán más formas de consultar con una interfaz SQL a sistemas NoSQL, aunque no sea la forma más optima, puede ser clave en el proceso de adaptación. Se volverá a hablar de las "in-memory databases" donde todo el procesamiento se realiza en memoria RAM sin consultar los discos duros (SAP-HANA), otra gran solución a gran coste.

Aunque se pueden obtener muchos beneficios al BigData, es quizás en las herramientas donde veo una oportunidad clara. Aunque hay alguna (MapR, Greenplum), existe una clara escasez de interfaces sencillas, sobre todo para que las empresas puedan apreciar a nuestro cachalote o incluso para que desarrolladores puedan pasar horas y horas jugando con él.

Para seguir los viajes de nuestro particular cetáceo, uno de los mejor lugares durante el 2013 será Barcelona, concretamente en el "Gartner Bussines Intelligence & Analitycs Summit" que se celebra en Febrero y en el "Symposium ITexpo 2013" de Noviembre, también de Gartner. En ambos encontraremos BigData como tema destacado.


Es otra revolución, como lo fue la nube, pero no tan ligera...


Imagen: Flying whale...
Imagen: What's Better Than Four Leaping Dolphins? - WHALES!