¿Que es Big Data ?

Cada día tenemos mas presente los conceptos de Big Data y de NoSQL, lo queramos o no son trending topic en el mundo de las TIC . Ahora bien cuando se habla de ello las cosas no estan tan claras y se generan dudas. Vamos a dar una vuelta a este tema.

¿Que es Big Data?

Bueno en este caso nos encontramos ante algo sencillo de responder se trata simplemente de «muchos muchos datos» . Vamos a poner un ejemplo sencillo . Imaginemos que queremos guardar las facturas de nuestros clientes .  Podemos usar una base de datos relacional y almacenar las facturas . Si tenemos 2 facturas de cada cliente al  mes  y cada factura tiene 10 lineas  de factura  suponiendo que  tenemos un total de 1000 clientes mes las cuentas salen rápido .

2 Facturas x 10 Lineas Factura x 1000 Clientes =20.000 Lineas de Factura al Mes

Eso quiere decir que en un año habremos almacenado 240.000 lineas de facturas y 24.000 facturas de todos nuestros clientes. Esta información es algo que una base de datos «relacional» puede gestionar sin ninguna molestia. Sin embargo si nuestros clientes mensuales fueran 30.000 mil al mes el tema se complicaría bastante ya que los cálculos serian los siguientes.

2 Facturas x 10 Lineas Factura x 30000 Clientes = 600.000 Lineas de Factura al Mes

Esto ya es otro tema ,en un año habremos almacenado mas de 7 millones de lineas de factura .Ya no nos valdrá probablemente con una base de datos normal para almacenar este tipo de información si queremos acceder a ella de forma rápida . Tendremos que montar una base de datos en  cluster ,un raid de discos etc etc . Sin embargo es algo que podremos asumir .Hemos vendido mucho y tendremos posibilidad de aumentar el presupuesto para el departamento TIC. Eso si tendremos ademas que comenzar a gestionar mejor los datos que vamos almacenando .Por ejemplo creando tablas de históricos y almacenando los últimos años de facturas en ellas  etc etc.

Big Data y el tiempo

Hemos almacenado mucha información en el caso anterior (7 millones de registros) .Parece difícil que la mayoría de las empresas tengas mas necesidades con sus negocios . Lamentablemente esto no es así el almacenar datos puede variar de forma exponencial si tenemos en cuanta una variable especial el «tiempo».

001

Vamos a poner un ejemplo similar al anterior de las facturas para poder entenderlo de forma mas fácil . Imaginemos que tenemos un negocio de subastas que tiene también 1000 clientes . Este sitio simplemente pone a subastar productos ,normalmente unos 200 al mes . Cada cliente de media entra a pujar en 20 productos al mes  y en cada producto hace 30 pujas hasta que consigue ganarlo  o definitivamente lo pierde  . Vamos a hacer unos sencillos cálculos

1000 clientes x 600 pujas/mes por cliente =600.000 pujas /mes

Si comparamos los datos que antes manejábamos 20.000 lineas de factura/mes con los datos actuales 600.000 pujas/mes se nota claramente la diferencia . La relación es de 30 a 1. Ahora bien que pasaría si ademas necesitáramos almacenar no solo las pujas de nuestro cliente sino que necesitáramos almacenar las veces que el cliente accede a nuestra web antes de hacer una puja concreta . Vamos a suponer que antes de pujar revisa el producto 5 veces . Eso nos dejaría con 600.000×5= 3 millones de registros /mes . Si multiplicamos esto por el año saldrán 36 millones de registros comparados con los 240.000 anteriores.

Análisis

Es evidente que si los clientes se multiplicaran por 5 por ejemplo estaríamos hablando de 180 millones de pujas . Esto es Big Data

002

 

Que pasaría si nuestro director comercial decidiera que quiere hacer una oferta especial a nuestros mejores clientes . Los que han realizado mas pujas y han accedido mas al sistema  en el último año.Bueno …. en ese caso tendríamos graves problemas ya que tendríamos una PEQUEÑA TABLA DE 180 MILLONES DE REGISTROS. Es evidente que una base de datos relacional no esta pensada para abordar estas problemáticas y similares con garantías. Para solventar este tipo de problemáticas  debemos enfocar de forma distinta.¿Como podemos abordar esta tipología de problemas de BigData? . A veces las ideas sencillas son las mejores . ¿Porque no partimos los datos en pequeños bloques para trabajar mejor con ellos ?.

003

 

Este es uno de los puntos de partida de las Bases de Datos NoSQL (Not Only SQL) que cubriremos en próximos artículos .

Post By Cecilio Álvarez Caules (32 Posts)

Oracle Certified Master, Java EE Enterprise Architect .Experto en la plataforma JEE y Trainer. Autor del libro Arquitectura Java Sólida Dueño del blog sobre JEE Arquitectura Java

Website: →

Connect

5 Responses to “¿Que es Big Data ?”