Big Data (y un poco de Minería de Datos e Inteligencia Artificial)… En un intento de explicación como para que no se duerma.

Conversaciones en empresas, revistas tecnológicas y no tanto, artículos periodísticos generales, astrólogos, coaches ontológicos, homeópatas, todo el mundo habla de “La Big Data” y “La Inteligencia Artificial”. Tal vez el tema le resulte novedoso, sorprendente o le tenga harte (harto en lenguaje inclusivo). Si trabaja en alguna empresa habrá escuchado discutir si “tenemos que ir a la Big Data”.
Pero… exactamente… ¿Qué es?.

Si buscó en la Web habrá encontrado algunas decenas de explicaciones. Aquí va la mía para agregar a su confusión.

Big Data es la capacidad de procesar, en paralelo, enormes volúmenes de información, de modo tal de poder analizar con mucho detalle el comportamiento de: clientes, ciudadanos, proveedores, productos, transacciones, etc, etc.

¿Y para que sirve analizar enormes volúmenes de información?. Para conocer / saber / prever cuestiones tan dispares como:

  • ¿Qué clientes están más propensos a aceptar mi nueva oferta de telefonía celular?
  • ¿Qué personas están cometiendo fraude o lavando dinero?
  • ¿En qué lugares debo proveer mayor cantidad de patrulleros, o ambulancias?
  • ¿Qué personas tienen mayor probabilidad de entrar en mora con mi compañía o de abandonarnos como clientes?
  • ¿Esta tomografía muestra un órgano sano o enfermo?

Dicho de otro modo, analizamos los comportamientos anteriores de muchos casos conocidos para predecir el comportamiento de los casos futuros (obviamente desconocidos).

¿Por qué ahora sí y antes no? MI respuesta es… porque ahora se puede y antes no se podía.

Sergio Uassouf
Sergio Uassouf

Hace 40 años, cuando comencé a trabajar en el Banco Credicoop, el mainframe IBM 370 Modelo 138 en el que se procesaban las operaciones de los clientes tenía 512 KB de memoria. Su valor de compra rondaba los 400.000 dólares.

Por ese dinero hoy puede adquirir (estimativamente) computadores con una capacidad de memoria ¡¡¡ 20 millones de veces mayor !!!

Para que los procesadores de su máquina puedan procesar la información, ésta tiene que estar almacenada en la memoria, que la capacidad de la memoria se mide en bytes y que, por ejemplo, una letra o un número ocupan 1 byte.

Esta memoria tiene la buena característica de ser muy rápida, se la accede en pocas decenas de nanosegundos pero tiene la mala costumbre de borrarse cuando apagamos el computador. Entonces la información se guarda en discos que son más lentos (se los accede en milisegundos), más baratos que la memoria (o sea con mucha capacidad a precio relativamente bajos) pero… cuando los desenchufo, no se borran. Así la información va y viene de los discos a la memoria según se necesite para su procesamiento.

Trivia 1: Un segundo tiene 1000 millones de nanosegundos. Para darnos una idea de la magnitud de un nanosegundo, si Ud. estuviese despierto 16 horas por día, y contara a razón de una unidad por segundo… ¿Cuánto tiempo tardaría en llegar a 1000 millones?). Le sugiero que no haga la cuenta sino que arriesgue según su instinto o criterio. La respuesta al final del artículo.

Trivia 2: Como le conté anteriormente una letra ocupa 1 byte. Una novela como “Cien años de soledad” tiene aprox. 1.000.000 de letras o sea ocupa aprox. 1 MB (1 Megabyte). Si acomodara libros del tamaño de “Cien años de soledad” formando un cubo… ¿Qué longitud deben tener los lados de ese cubo para que contenga 1 PB de información (1 Petabyte)? La respuesta al final del artículo.

Utilizando un ejemplo de grandes consumidores de datos, las necesidades de análisis de información de una empresa de telefonía argentina hace que almacene aprox. 10.000.000.000.000.000 de letras o números, o sea que sus discos tengan una capacidad de 10.000.000.000.000.000 de bytes. Como leer estos números enormes de este modo resulta poco práctico, se generaron múltiplos como sucede con todas las unidades de medida, así:

1024 bytes = 1 Kilobyte
1024 KB = 1 Megabyte
1024 MB = 1 Gigabyte
1024 GB = 1 Terabyte
1024 TB = 1 Petabyte
1024 PB = 1 Exabyte
1024 EB = 1 Zettabyte
1024 ZB = 1 Yottabyte

O sea que la empresa de telefonía mencionada almacena 10 Petabytes (lo que resulta más fácil de expresar que 10.000.000.000.000.000 bytes).

Nadie analiza toda esa información al mismo tiempo, pero póngale que la parte que quiero analizar ocupa 100 TB. Según expliqué más arriba todo lo que necesitamos es un computador con mucha memoria y procesadores y yastá… pues que no. Un computador tiene un techo sobre el cual ya no es posible agregarle más procesadores o memoria.

Permítame explicarle con esta analogía. Si quiero cargar 1000 kgs puedo comprarme una rural; 2500 kgs una camioneta; 9000 kgs un camión;
; 28000 kgs un camión con acoplado y muchos ejes; 80000 kgs un camionazo recontragrande con varios acoplados (difícil); 2000000 de kgs un camion grande como la cancha de Huracán, ¡¡¡No!!!

Hay un punto en el que ya no puedo hacer crecer más un camión porque no hay ejes, ni chasis, ni rutas que lo soporten. Entonces lo que me queda por hacer, si es que puedo hacerlo, es dividir mi carga en lotes y hacer trabajar a varios camiones al mismo tiempo. Bueno… con los computadores sucede lo mismo. La única forma de procesar esos enormes volúmenes de información (Big Data) es dividirla en varios computadores y hacer que estos trabajen en paralelo, cada uno sobre la parte de información que le tocó, y luego se consoliden los resultados que cada uno obtuvo para obtener un resultado final.

Entonces a la pregunta ¿Por qué ahora? respondo, porque ahora contamos con computadores con cantidad de procesadores (varias decenas), capacidad de memoria (centenas de Gigabytes) y capacidad de disco (decenas de Terabytes) a precios asequibles. Además, con la llegada de “la nube” podemos alquilarlos por un rato. Pero fundamentalmente, contamos con la tecnología de software para hacerlos trabajar en paralelo. Sin ese paralelismo no hay Big Data.

Cuando hablo de paralelismo quiero decir desde dos computadores a varios miles trabajando en simultáneo.

El espacio de esta nota no me permite abundar en detalle, pero esas tecnologías de software son (entre otras): Hadoop, Map-Reduce, Tez, Spark, SAS Viya.

… continuará en la próxima edición de Neurona BA.

Agradezco el tiempo que dedicó a leer esta nota.
sergio.uassouf@sas.com

Por: Sergio UASSOUF

Mira la nota completa que le hizo Neurona BA

Respuesta a la trivia 1: 47 años y medio.
Respuesta a la trivia 2: Será un cubo de una cuadra por lado.