big-data

Big data, soluciones a retos

Actualmente las empresas se ven con nuevos problemas que anteriormente no tenían. Nuevos tipos de datos, nuevas exigencias de rendimiento a la hora de procesamiento, nuevos enfoques de soluciones BI… por ello, han surgido diferentes propuestas para atacar problemas concretos comentados en el post anterior. No sustituyen a las BD Relacionales ni a los procesos de creación de proyectos BI, sino que son “herramientas” con las que podemos trabajar para resolver con mayor eficacia esos problemas.

Bases de dato big data

Son nuevos datos y nuevas formas de almacenar estos datos que surgen en la actualidad. Por ello, surgen nuevos gestores como los NoSQL que buscan dar solución a los 3 problemas anteriores (escalabilidad, heterogeneidad y rendimiento). Por ejemplo, las BD clave-valor consiguen almacenar de forma sencilla diferentes tipos de datos no estructurados, sería un símil a tener una fila con 2 columnas y después una fila con columnas dinámicas. Esto en las relacionales es impensable. En un punto posterior se analizarán estas bases de datos propuestas.

Sistema de archivos distribuido para garantizar escalabilidad.

El problema de la reducción de datos ha sido uno de los grandes problemas de Google al inicio de su actividad. Necesitaban procesar millones de millones de páginas para poder obtener el resultado de su PageRank de forma resumida, por lo tanto crearon un algoritmo el cual conseguía resumir de forma sencilla todos esos datos. Crearon el corazón del BigData, el concepto del algoritmo MapReduce . Después llegó Yahoo y creó la cáscara que envuelve el MapReduce, comúnmente llamado Hadoop. La gran base que garantiza ejecutar programas MapReduce hechos por usuarios en nodos distribuidos. Esta herramienta tiene un sistema de archivos HDFS el cual provee la distribución de trabajos a diferentes nodos que ejecutarán en 8 paralelo este algoritmo de reducción.

Una de las cosas más importantes es que el HDFS consigue hacer transparente o simplificar la creación de clusters de nodos que trabajan en paralelo como un nodo solo. Si necesitas más potencia es simplemente añadir una nueva IP de un nodo en un fichero. Fácil y sencillo. Este sistema HDFS es la base del BigData pues están surgiendo y se desarrollan herramientas que son ejecutadas encima de este sistema HDFS pudiendo obtener aplicaciones distribuidas. Las más importantes son las BD como HBASE o HIVE (que realmente no es una BD sino un intérprete SQL que traduce MapReduce). Son dos herramientas que se ejecutan encima del HDFS de forma sencilla pero que actúan sobre un cluster de N nodos con transparencia. Si necesitamos más potencia o espacio añadimos un nuevo nodo como anteriormente. Las consultas irán más rápido conforme añadamos nodos a nuestro cluster. La famosa teoría del DIVIDE Y VENCERÁS .

big data

Big Data. Problemas actuales

La teoría que nos enseñan en la carrera de informática es que el modelo tradicional de BD es el relacional que con ello podemos hacer todo. Hasta hace relativamente poco, inclusos los hay que aún solventan cualquier problema con relacionales. Actualmente hay una serie de problemáticas con este tipo de BD que se resumen en estos 3 puntos:

Tipos de datos. Variedad

Han surgido nuevos tipos de datos que se quieren almacenar: datos no estructurados. Las BD Relacionales no pueden almacenar este tipo de datos.

Escalabilidad

En búsqueda de la rapidez y rendimiento en consultas o procesamiento de datos se busca escalar siempre en horizontal. Es decir, si necesitamos más rendimiento añadimos una CPU a nuestro conjunto de trabajo para poder aumentar nuestras prestaciones en conjunto y aumentar el rendimiento reduciendo el tiempo de búsqueda o almacenamiento. El problema es que actualmente las BDRelacionales no pueden estar distribuidas en nodos diferentes de forma sencilla transparente al usuario. Por ello la única forma de conseguir estos dos objetivos en las BD Relacionales es añadiendo CPU y Memoria, haciendo escalabilidad vertical. Pero esto no es suficiente, buscamos escalabilidad 6 horizontal para tener todos los servidores que queramos trabajando en paralelo y no tener un límite como es el caso del escalado vertical.

Modelo relacional

El modelo relacional no da soporte para todos los problemas. No podemos atacar todos los problemas con el mismo enfoque, queremos optimizar al 100% nuestro sistema y no podemos ajustar nuestros sistemas a estas BD. Por ejemplo, en el modelo relacional no podemos tener herencia de objetos o no podemos tener columnas variables según las filas…

Velocidad

Esta es una de las “3 V’s” del Big Data (velocidad, variedad, volumetría). La velocidad de generación de datos hoy en día es muy elevada, simplemente hay que verlo con las redes sociales actuales, aunque las empresas medias y muchas de las grandes no se ven afectadas por ello. Donde sí influye la velocidad es en el procesamiento de todo este conjunto ingente de datos, pues cuantos más datos tengamos más tiempo requieren. Por ello, se necesita un ecosistema que sea capaz de escalar en horizontal para trabajar en paralelo y ahorrar tiempo, siguiendo la técnica del “divide y vencerás”.

Por ello, teniendo en cuenta estos principales problemas, se han creado nuevas herramientas y sistemas para poder tener alternativas, que no sustituyen a las actuales, sino que aportan una forma alternativa de atacar problemas y/o mejorar nuestra solución de procesamiento y análisis de datos.

bigdata-1

Big Data, ¿qué es?

Hoy en día hay mucha confusión y demasiado populismo con este nuevo término llamado BIG DATA. A cualquier proyecto de análisis de datos se le está poniendo la etiqueta de BigData simplemente por que se tratan muchos datos. Entre los consultores BI está siempre la conversación y la gran mayoría, por no decir todos, creen que se está sustituyendo BI por BigData.

Surgen muchos Masters, cursos y charlas que en su contenido el 70%-80% es teoría de BI y el otro 20% es cómo usar tecnologías Big Data… Desde este documento, se busca dar un punto de vista de qué es BigData y cómo se asocia al Business Intelligence de forma natural.

Desde antaño, las empresas vienen sufriendo transformaciones debido a la tecnología. Los ejecutivos empezaron a gestionar sus empresas sin guardar datos pues no existía ningún medio para ello, después surgió la tecnología y comenzaron a usar base de datos con pocos datos que se fueron transformando y creciendo hasta un punto de tener que surgir nuevas formas de “análisis” y “digestión” de esa información.

Es ahí que surgieron las tecnologías y procesos de Business Intelligence que buscaban analizar esos datos que no podían analizar a simple vista. Pero ahora, con la evolución de la tecnología han surgido nuevos tipos de datos que no hay como tratar con las tecnologías de siempre y también se generan millones de datos en muy poco tiempo que no se pueden almacenar pero sí se quiere analizar. Es por ello que surgen estas tecnologías y procesos BigData que buscan proveer a aplicaciones empresariales de las carencias que las actuales no consiguen proveer. Veamos un poco los retos y qué propuestas hay actualmente en el ecosistema BigData y BI.

Actualmente las empresas están viendo cómo el mundo de la tecnología está creciendo y transformándose. Surgen nuevos tipos de datos y necesidades que actualmente los sistemas no son suficientemente buenos o adecuados para poder atacar estos problemas pues las empresas son más exigentes y buscan exprimir al máximo sus recursos para obtener el mayor beneficio. Sería semejante a escuderías de F1 que buscan superar al rival buscando la diferencia hasta en los grados de regulación de un alerón, analizando y optimizando al mayor detalle.

En siguientes entradas, se expondrán algunos de los muchos problemas, pero estos que se destacan quizás son unos de los principales motivos que ha hecho que surja todo ese ecosistema de procesos y herramientas “BigData”.

Referencias

https://es.wikipedia.org/wiki/Big_data