, ,

How can we help you?

In Geenapp we want that our users enjoy with our service. This is why we have enabled a chat customer service so that you can get in touch with us to help you in any need you have.

The online chat is directed to all our publishers and affiliates, who may carry out consultations in real time, while consulting campaigns, complete their profile information, analyze reports, etc.

To contact our online support, access your panel of publisher or network and once inside you will find the active window in the bottom right of the panel. By clicking, someone of the team can resolve your doubts.

With the aim of offering the best service, in Geenapp there will be a person with whom you can keep in contact to resolve any doubt or incident that has arisen.

, , ,

“SMALL ARCHITECTURES FOR A BIG DATA”

¿Conoces a todos los miembros de Geenapp?

Hoy queremos presentar a Joakim Vivas, CTO (Chief Technology Officer) de Geenapp. Se define a sí mismo como especializado en Scale Up Tecnológico, utilizando para ello las mejoras tecnologías y creando, a la vez, equipos IT multidisciplinares para su consecución.

Gracias a su pasión por la tecnología, Joakim participó como ponente en el Big Data Week en Barcelona.

Ahora, quiere transmitirnos su entusiasmo y contarnos con detalles qué es el Big Data y cómo puede beneficiarnos.

joakim-vivas-moderna

Casi siempre tenemos la costumbre de pensar que Tecnología es todo aquello que es grande, caro y complicado. Bueno, no es cierto! Básicamente la tecnología es el bolígrafo que nos permite dibujar aquello que nos imaginamos, ya sea mediante un lenguaje de programación, mediante un hardware que lo sustenta todo, etc… en este breve artículo veremos cómo afrontar la construcción de una pequeña infraestructura de Big Data basada en AWS 8Amazon Web Services). Veamos cómo:

 

Lo primero que tenemos que hacer es resolver tres simples preguntas:

1.- ¿Qué tenemos?

2.- ¿Qué necesitamos?

3.- ¿Dónde queremos ir?

Quizás, también, tendríamos que añadir: ¿Qué presupuesto tenemos?, pero parto con la idea que: muy poco. Esta arquitectura no será superior a 1000€ de coste anuales.

Muchas veces nos ponemos a construir cosas sin antes pensarlo bien, ya hemos visto anteriormente las preguntas que vienen a ser la base del todo. Pero, también, es muy importante conocer nuestros Flows de Datos. ¿Realmente los conocemos? O ¿simplemente hemos empezado a construir la arquitectura sin saber qué tipología de datos tenemos? Vayamos más allá, ¿para nosotros qué es un Dato?. No olvidemos que un Dato no es lo mismo para nosotros que para otras personas, puede ser algo muy grande o algo muy, muy, muy pequeño. Quizás, por ejemplo, para nosotros el número de ID que figura en la tarjeta de fidelización de la tienda de electrónica que frecuentamos, pues ya no es válido como dato, simplemente tenemos que guardarlo; pero, para ellos, ése simplemente es un dato que enlazará a muchos otro datos nuestros como por ejemplo: ficha de cliente, facturas, carritos perdidos de la compra, etc… no despreciemos nunca un dato pero tampoco nos estresemos con ello.

Por lo tanto, ¿Big Data qué es? ¿Es aquella típica situación de tenerlo todo guardado en una enorme base de datos? Miremos de diferenciar el Tipo de entrada. Sólo con ello ya tendremos muchas mejoras y, también, enfocada cómo podría ser nuestra infraestructura más inicial. Por ejemplo, supongamos que tenemos estos tres tipos de datos o, mejor dicho, de Tipología de Datos:

  1. a) Datos Transaccionales
  2. b) Datos Realtime
  3. c) Datos Analíticos

Pensad que un dato, por ejemplo, de facturación no es un dato en Realtime. ¿Qué lo podría ser? Pues por ejemplo los datos de Google Analytics, que están dándonos información al minuto de lo que está pasando en nuestra web. En realidad si nuestra ficha de cliente no está actualizada al minuto, tampoco pasa nada (depende del tipo de negocio que tengamos, claro…).

Al final, un proceso de Big Data se puede descomponer en tres grandes bloques:

1.- Ingesta de datos (entrada y primer filtro)

2.- Almacenamiento de datos (Según tipología de los datos)

3.- Proceso y explotación de los datos (con aquello datos, ya limpios, podemos lanzar procesos de cálculo posteriores)

Para cada uno de los pasos, tenemos soluciones simples que nos pueden ayudar. Mi recomendación para el primer punto es “Fluentd” que nos permitirá, a partir de un proceso BPM, ir cargando datos a  la base de datos que le indiquemos, aplicarle unos mínimos filtros y, luego, mediante los procesos que podemos desarrollar ya sea en “R” o “Python”, por ejemplo, pues acabar de optimizarlos y sacarle el máximo jugo posible.

También, no olvidemos que tenemos posibilidades como “Elasticsearch”, fusionado con “Kibana” (ELK), que nos pueden sacar de más de un apuro si los tenemos correctamente configurados. Aunque Elasticsearch no es propiamente una base de datos, sí nos puede ayudar en la indexación de éstos y, luego, mediante Kibana, permitirnos extraer datos analíticos. Aunque, se requerirá de una cocina de los mismos para no pincharlo directamente a los datos en sucio (raw).

Por supuesto que tenemos muchas posibilidades que no hemos contemplado pero, la gracia era poder construir una Arquitectura simple, sin complicaciones y relativamente económica. Aunque, estaré encantado de tener vuestro feedback para mejorar el artículo.