Análisis de Big Data como servicio con Google BigQuery

Análisis de Big Data como servicio con Google BigQuery

Primero fue el Big Data, luego la analítica de Big Data en tiempo real, y el año pasado empezó a sonar con fuerza el análisis de Big Data como servicio. ¿Qué es y cuándo me interesa?

11 Feb. 2016

Lo has conseguido. Después de mucho esfuerzo tu producto empieza a funcionar. Cuando tus primeros usuarios se registraban les hiciste un seguimiento personalizado, escuchaste lo que te decían sobre tu servicio y modificaste todo lo necesario para conseguir que se quedasen totalmente satisfechos. El boca a boca empezó a funcionar y ahora ya tienes unos cuantos miles de usuarios registrados y el número sigue creciendo. Pero, ¿vas a ser capaz de seguir haciendo un seguimiento personalizado de tus usuarios? ¿Cómo vas a poder saber qué cosas funcionan mejor y cuáles necesitan cambiarse?

Por supuesto ya conoces que existen productos de analítica web como Google Analytics, MixPanel o GoSquared. Es más, casi seguro que si has llegado a este punto ya tienes integrada alguna solución de analítica. El problema es que, a pesar de que estás enviando muchísimos datos sobre tus usuarios a esas herramientas, no terminas de conseguir los reports que necesitas. Además, te gustaría cruzar los datos de la web con la información del CRM y de tu sistema de facturación, y tus herramientas de analítica web no te dan lo que necesitas.

Que no cunda el pánico. Eres un genio de Excel. Así que le pides a tu equipo de desarrollo que te haga una pequeña integración y te exporte los datos a Excel, donde tus pivot tables y tus fórmulas casi mágicas conseguirán extraer esa información que estabas buscando.

Del Excel al Big Data

Al poco tiempo te das cuenta de que simplemente son demasiados datos, y de que en Excel es imposible trabajar sobre todos ellos. Además, hacer agregados o incluso correlaciones no es demasiado complicado, pero en cuanto quieres hacer análisis del churn (los usuarios que se dan de baja) o previsión de ventas las cosas se complican, y tu querido Excel empieza a quedarse pequeño.

Como te interesa mucho estar al día, seguramente has escuchado que hay gente utilizando una cosa llamada “Big Data” para poder resolver este tipo de problemas. En realidad no sabes demasiado bien qué es eso del “Big Data” pero últimamente aparece hasta en los telediarios, así que debe ser algo importante.

Desgraciadamente el Big Data es algo que todavía es muy complicado de utilizar. Trabajar con volúmenes grandes de datos, o con datos en tiempo real que suceden muy rápido, requiere normalmente de varios servidores, con aplicaciones especializadas que necesitan ajustes de configuración personalizados para cada caso de uso.

Cuando los telediarios hablan de Big Data se centran en contarnos las fantásticas aplicaciones que tiene, que son ciertas, pero no nos cuentan la cantidad de trabajo que cuesta poner en marcha un sistema de Big Data, mantenerlo y hacerlo crecer mientras crece el volumen de tus datos.

En la práctica, tener un sistema dedicado de Big Data en tu organización va a requerir que alguien en tu equipo se especialice y que dedique una buena parte de su tiempo al sistema. Y lo peor de todo es que aunque solo quieras ver los datos del análisis dos o tres veces al día, tienes que pagar igualmente por tus servidores para cuando quieras utilizarlos.

Google BigQuery como solución

Aquí es donde entra la analítica de Big Data como servicio. En lugar de instalar y gestionar los servidores por tu cuenta, un proveedor te ofrece un sistema de Big Data configurado, optimizado y funcionando en lo que se conoce como nube o cloud. Tú solo tienes que ocuparte de enviarle tus datos y de pedirle que haga las operaciones que tú quieras cuando las necesites, ya sea en tiempo real o en diferido.

En esta categoría encontramos Google BigQuery, un servicio de análisis de datos a gran escala. Tú le envías a BigQuery los datos desde tus sistemas, y BigQuery los almacena para cuando necesites consultarlos. Cuando quieras hacer un análisis, BigQuery te proporciona un mecanismo que te permite hacer cualquier consulta y obtener los resultados en segundos, independientemente de tu volumen de datos.

Lo mejor es que el coste de administración es cero. Solo tenemos que pagar un precio muy reducido por almacenar nuestra información en BigQuery, y después otro importe por cada operación de consulta que hagamos, teniendo una capacidad de consulta de un terabyte de datos gratuito al mes. Si no sabes lo que significa un terabyte, viene a significar que una gran parte de los usuarios de BigQuery solamente pagan por el almacenamiento, y no por las consultas, ya que la cantidad de datos que se pueden consultar gratis mensualmente es muy generosa.

La potencia de BigQuery se basa en tres pilares fundamentales:

● Una estructura de datos interna basada en columnas que le permite almacenar y consultar la información de una forma muy eficiente.

● Un uso exhaustivo de la nube, realizando todas las consultas en paralelo para conseguir la mayor velocidad. No es raro que una única consulta se esté ejecutando en paralelo en cientos de servidores, cada uno procesando una cantidad pequeña de información antes de proporcionarnos la respuesta final. De esta manera, Google utiliza su enorme infraestructura para conseguir tiempos de respuesta que nos hubieran parecido increíbles hace apenas unos años.

● El lenguaje de consulta SQL. Aunque la infraestructura de Google BigQuery no es la de una base de datos más convencional, el lenguaje de consultas que utiliza es exactamente el mismo, por lo que si ya has utilizado SQL en el pasado, es muy fácil utilizar BigQuery.

El tipo de datos que puedes enviar a Google BigQuery es prácticamente cualquier cosa. Puedes enviar datos sobre tu CRM, tu analítica, tu sistema de facturación, el seguimiento de envío de pedidos, y después cruzar datos de todos ellos para extraer información y patrones. Si eres más técnico, BigQuery puede ingerir datos en formato CSV (datos organizados en filas y columnas, como un Excel) o datos en formato JSON (datos estructurados y anidados, para representar jerarquías complejas de información). Estos datos los podemos enviar de vez en cuando (cada hora, una vez al día…) o en modo streaming, para poder ser analizados en tiempo real (donde real significa unos pocos segundos). Si tu requisito es del ámbito de los milisegundos entonces necesitas otra solución.

Como hemos mencionado anteriormente, las consultas se realizan mediante SQL, y se pueden realizar mediante la consola web directamente o de forma automática integrándolo en tus sistemas.

BigQuery se integra con prácticamente cualquier lenguaje de programación moderno. Google proporciona librerías para Java, .Net, PHP, Python, Ruby, JavaScript, Objective-C y Go. Si tu lenguaje de programación favorito no está en la lista, también es posible utilizar una API REST y enviar tus datos desde cualquier entorno.

Aplicaciones prácticas

No creas que puedes utilizar analítica como servicio solamente para hacer análisis de datos por web. Hay gente utilizando BigQuery para resolver problemas en el ámbito del Genoma, en el Internet de las cosas, de adquisición de usuarios en campañas de marketing online/offline, o de estimación de flotas para empresas de transporte. Mientras tu sistema sea capaz de enviar datos a BigQuery, podrás realizar análisis sobre ellos independientemente de su contexto.

En cuanto a los costes, si estuvieses utilizando BigQuery para analizar en detalle el tráfico de tu web, y tuvieses una web con un millón de páginas vistas mensuales, el coste del almacenamiento de esos datos podría ser de alrededor de 10 dólares mensuales por cada año almacenado (siempre puedes exportar y borrar datos antiguos si no los vas a usar), y el coste de tus consultas depende mucho de cómo vayas a usar el sistema, pero típicamente no tendría que ser mucho mayor que 5 dólares mensuales. En total, unos 15 dólares al mes por tener funcionando esta solución.

Por supuesto, hay usuarios con necesidades de analítica mucho más grandes, especialmente cuando trabajamos en entornos diferentes a la web donde los volúmenes de información tienen a ser mayores, y en este caso los costes crecen proporcionalmente, pero siempre de una manera bastante razonable para el servicio que nos están dando.

Para terminar, una vez obtienes resultados seguramente querrás ver una visualización de tus datos. En este caso, Google BigQuery no ofrece ningún tipo de facilidad, pero permite integrar directamente con Excel, desde donde puedes lanzar consultas y mostrar los resultados en las gráficas que prefieras. O si necesitas visualizaciones más sofisticadas, siempre puedes integrar BigQuery con terceras partes como Tableau, Looker o Bime.

Este es uno de los ejemplos de las nuevas posibilidades que se abren cuando dos tecnologías emergentes como nube y Big Data se juntan y ponen a disposición de cualquier PYME funcionalidades que antes solo estaban disponibles para empresas con muchos recursos.

Por Javier Ramírez:

Javier Ramirez es fundador de teowaki, donde ofrece servicios de consultoría en Big Data y desarrollo en la nube y analítica de datos como servicio a través de https://datawaki.com. Es Formador Autorizado en Google Cloud Platform y puede ayudarte si necesitas formación en la plataforma de nube de Google.

¡Suscríbete!

Recibe nuestro boletín semanal. No te pierdas nuestros trucos, consejos, artículos y los eventos más innovadores.