A menudo nos encontramos con un salto aparentemente repentino en el uso y los avances tecnológicos relacionados simplemente porque lo que antes era inviable ahora es práctico. El aumento de las aplicaciones de Big Data sigue de cerca la expansión de la computación en nube. Centrémonos en qué es Big Data, por qué es importante hoy en día y cómo ha evolucionado junto con las bases de datos NoSQL. Cuando hablamos de Big Data, nos referimos a cantidades masivas de información que podemos consultar, o analizar, para encontrar algo relevante.
Los Big Data suelen tener tres características, cada una de ellas marcada por las 3 V.
- Volumen- Tenemos muchos datos.
- Velocidad: nuestros datos llegan con rapidez.
- Variedad- Nuestros datos tienen formas muy diversas.
Analicemos cómo obtenemos tantos datos, los tipos de datos y el valor que podemos obtener de ellos.
Conclusiones
Necesitamos grandes conjuntos de datos para encontrar patrones subyacentes porque los conjuntos de datos pequeños no son fiables a la hora de representar el mundo real. Imaginemos que hacemos una encuesta a 10 personas: ocho de ellas tienen teléfonos Android y dos tienen iPhones. Con este pequeño tamaño de muestra, se extrapolaría que Apple sólo tiene una cuota de mercado del 20%. No es una buena representación del mundo real.
También es importante obtener información de múltiples grupos demográficos y ubicaciones. Encuestar a 10 personas de Filadelfia, Pensilvania, no nos dice mucho sobre el mundo, Estados Unidos o incluso el estado de Pensilvania en su conjunto. En resumen, para obtener datos buenos y fiables hace falta mucha información. Cuanto más amplio sea el estudio, más podremos desglosarlo y sacar conclusiones.
Aumentemos nuestra encuesta de 10 a 100 y registremos también la edad de los participantes. Ahora estamos recogiendo más datos de una muestra de mayor tamaño. Digamos que los resultados muestran que 40 personas tienen teléfonos Android y 60 tienen iPhones. Sigue siendo una muestra muy pequeña, pero podemos ver que un aumento de 10 veces en el número de participantes ha dado lugar a una variación significativa de 80 puntos en nuestros resultados. Pero eso es sólo teniendo en cuenta un campo de datos de nuestro conjunto. Dado que registramos la edad de nuestros participantes, así como la elección del teléfono, podríamos encontrar que los grupos de 10 a 20 años o de 21 a 30 años tienen una proporción muy diferente.
Todo gira en torno al algoritmo
Los macrodatos nos obligan a procesar grandes volúmenes de datos que llegan rápidamente y en diversos formatos. A partir de estos datos, somos capaces de encontrar patrones subyacentes que nos permiten crear modelos precisos que reflejan el mundo real. ¿Por qué es importante? Los modelos precisos nos permiten hacer predicciones y desarrollar o mejorar algoritmos.
El ejemplo más común de Big Data en nuestra vida cotidiana es algo sencillo y a veces controvertido: los motores de recomendación. "¡Si te gusta X, probablemente también te gustará Y!". Esto es ciertamente útil desde una perspectiva de marketing y publicidad, pero no es ni mucho menos el único caso de uso. El Big Data y los algoritmos lo impulsan todo, desde los coches autoconducidos hasta la detección precoz de enfermedades.
En nuestro breve ejemplo de recopilación de datos, nos detuvimos en 100 personas, pero si realmente quieres buenos datos, necesitas miles o millones de fuentes con una magnitud de atributos diferentes. Aunque ampliáramos el tamaño de la muestra y estableciéramos una ingesta rápida de los resultados, esto seguiría sin calificarse realmente de "Big Data". Nos faltaría una de las tres V, la Variedad, y de ahí procede la mayor parte de nuestros datos.
Variedades de datos
Podemos clasificar el tipo de datos que recopilamos en tres categorías básicas: Estructurados, semiestructurados y no estructurados. Los datos estructurados serían similares a nuestra encuesta anterior. Tenemos un esquema predefinido y nuestros datos se ajustan a una estructura rígida. Este tipo de datos es perfecto para los RDBMS que utilizan SQL, ya que están diseñados para trabajar con filas y columnas. Fuera de las bases de datos SQL, los datos estructurados suelen incluir archivos csv y hojas de cálculo.
La gran mayoría de los datos que existen proceden de muchas fuentes diferentes, de nuestras actividades cotidianas y de muchas formas distintas. Publicaciones en redes sociales, historial de compras, navegación y cookies: Cada acción puede construir un perfil para un individuo con numerosos atributos como la edad, la ubicación, el sexo, el estado civil, y más allá. Aquí sólo estamos arañando la superficie, pero sólo tenemos que centrarnos en lo siguiente: las industrias están recopilando muchos datos para sacar conclusiones precisas y una gran mayoría de estos datos no están en formatos predefinidos y estructurados. En el caso de los Big Data, solemos trabajar con formas de datos semiestructurados y no estructurados.
Los registros de aplicaciones o los correos electrónicos son ejemplos de datos semiestructurados. Los llamamos semiestructurados porque, aunque no tienen filas y columnas rígidas, existe un patrón general en el formato de estos datos. Dos de los tipos de archivo más comunes de datos semiestructurados son JSON y XML. Los datos no estructurados pueden ser casi cualquier cosa que no esté estructurada o semiestructurada y, como podemos imaginar, constituyen la gran mayoría de nuestros datos. Ejemplos comunes de datos no estructurados son las publicaciones en redes sociales, los archivos de audio y vídeo, las imágenes y otros documentos.
Nuestra encuesta telefónica sigue funcionando como demostración analítica: cuantos más datos tengamos, más fielmente reflejarán nuestras conclusiones el mundo real, pero para obtener realmente más datos necesitamos un sistema capaz de ingerir algo más que datos estructurados. Aquí es donde entran en juego las bases de datos NoSQL.
Big Data y NoSQL
El concepto de big data se conoce desde los años 80 y, como muchas de las tecnologías de mayor crecimiento en la actualidad, dio un gran paso adelante a mediados de la década de 2000. Se produjo un hito cuando Apache lanzó Hadoop en 2006. Hadoop es un marco de software de código abierto diseñado para procesar de forma fiable grandes conjuntos de datos.
Algunos de sus componentes principales son HDFS(Hadoop Distributed File System) y YARN(Yet Another Resource Negotiator). HDFS es un sistema de archivos rápido y tolerante a fallos, y YARN se encarga de programar los trabajos y gestionar los recursos. En la mayoría de los casos, sobre HDFS se ejecuta HBase, una base de datos no relacional orientada a columnas. HBase se ajusta a la definición general de NoSQL, pero es lo suficientemente diferente de otras bases de datos populares como para no aparecer normalmente en las mismas listas que MongoDB o Cassandra (otro proyecto de Apache ).
HBase en tándem con HDFS puede almacenar cantidades masivas de datos en miles de millones de filas y soporta datos dispersos. Sin embargo, tiene sus limitaciones. HBase depende de HDFS, tiene elevados requisitos de hardware y carece de un lenguaje de consulta nativo. A diferencia de Mongo y Cassandra, HBase también se basa en una arquitectura de réplica primaria que puede dar lugar a un único punto de fallo.
Pero desde el principio podemos ver por qué Big Data y NoSQL son compatibles. Repasemos de nuevo los Vs.
- Volumen- Big Data requiere una base de datos masiva, y una base de datos masiva requiere un escalado horizontal. Las bases de datos SQL pueden, a menudo con importantes limitaciones, escalar horizontalmente, pero aquí es donde sobresalen las bases de datos NoSQL sin esquema.
- Velocidad: las bases de datos NoSQL carecen de la coherencia y la validación de las bases de datos SQL, pero también de la velocidad de escritura bruta que necesitamos para introducir muchos datos rápidamente.
- Variedad- Big Data requiere un sistema capaz de manejar datos no estructurados y las bases de datos NoSQL sin esquema, como MongoDB, son muy adecuadas para esta tarea.
Las bases de datos NoSQL no se utilizan exclusivamente para Big Data, pero podemos ver por qué se desarrollaron a la par. No hay signos de desaceleración de Big Data, y la NoSQL MongoDB, lanzada por primera vez en 2009, es una de las bases de datos de más rápido crecimiento en el mercado.
Comentarios