¿Qué es Big Data?
Big Data (macrodatos) se refiere a conjuntos de datos cuyo tamaño, velocidad de generación o complejidad superan la capacidad de las herramientas tradicionales de gestión y análisis de datos (como una hoja de cálculo o una base de datos relacional en un solo servidor).
No se trata solo de “muchos datos”: se trata de datos que exigen arquitecturas distribuidas para almacenarse y procesarse. Un sensor de IoT, una red social o un sistema de pagos generan datos a una escala que ningún servidor individual puede manejar.
Las 3 Vs
El modelo clásico para caracterizar Big Data son las 3 Vs:
| V | Significado | Ejemplo |
|---|---|---|
| Volumen | Cantidad masiva de datos (terabytes a petabytes) | Los logs de una plataforma de streaming con millones de usuarios |
| Velocidad | Ritmo de generación y necesidad de procesamiento rápido | Transacciones bancarias en tiempo real, detección de fraude |
| Variedad | Diversidad de formatos: estructurados, semi-estructurados y no estructurados | Tablas SQL, JSON, imágenes, texto libre, video |
graph TD BD["Big Data"] --> V1["📦 Volumen<br/>TB → PB de datos"] BD --> V2["⚡ Velocidad<br/>Generación y análisis<br/>en tiempo real"] BD --> V3["🎨 Variedad<br/>Texto, JSON, imágenes,<br/>video, tablas"] V1 --> P["Requiere sistemas<br/>distribuidos"] V2 --> P V3 --> P
Algunos autores añaden más Vs: Veracidad (calidad y confiabilidad del dato) y Valor (la capacidad de extraer información útil). Pero las 3 originales definen el problema técnico.
¿Por qué no basta una base de datos tradicional?
Una base de datos relacional clásica corre en un solo servidor. Cuando los datos crecen, la única vía es escalar verticalmente: comprar un servidor más potente. Esto tiene límites físicos y de costo.
Big Data apuesta por el escalamiento horizontal: en lugar de un servidor gigante, muchos servidores baratos trabajando en paralelo como un clúster.
graph LR subgraph Vertical["Escalamiento vertical"] S1["Servidor pequeño"] --> S2["Servidor más grande"] --> S3["Servidor muy caro<br/>+ límite físico"] end subgraph Horizontal["Escalamiento horizontal"] C1["Nodo 1"] C2["Nodo 2"] C3["Nodo 3"] C4["Nodo N..."] end
Tipos de datos según su estructura
- Estructurados: tablas con esquema fijo (bases de datos SQL, CSV).
- Semi-estructurados: tienen organización pero sin esquema rígido (JSON, XML, logs).
- No estructurados: sin organización predefinida (texto libre, imágenes, audio, video).
Se estima que la mayoría de los datos generados hoy son no estructurados, lo que refuerza la necesidad de nuevas herramientas de almacenamiento y análisis.
Ejercicio: clasifica los datos
🧪 Ejercicio
Clasificando fuentes de datos
Dada una lista de fuentes de datos, escribe una función `clasificar(fuente)` que devuelva 'estructurado', 'semi' o 'no_estructurado' según el tipo de fuente. Luego aplícala a la lista e imprime el resultado.
🔍 Usa un diccionario que mapee cada fuente a su tipo, o condicionales sobre el nombre de la fuente.
fuentes = ["tabla_clientes.sql", "tweets.json", "fotos_perfil.jpg", "logs_servidor.log"]
def clasificar(fuente):
if fuente.endswith(".sql") or fuente.endswith(".csv"):
return "estructurado"
elif fuente.endswith(".json") or fuente.endswith(".xml") or fuente.endswith(".log"):
return "semi"
else:
return "no_estructurado"
for f in fuentes:
print(f"{f}: {clasificar(f)}")Comprueba lo aprendido
Comprueba que lo pillaste
Una red social almacena 2 PB de fotos que los usuarios suben a razón de miles por segundo. ¿Qué 'V' describe principalmente el ritmo de subida de las fotos?
La velocidad se refiere al ritmo de generación de los datos (miles de fotos por segundo). El volumen serían los 2 PB acumulados, y la variedad el formato de las fotos frente a otros tipos de dato.
Comprueba que lo pillaste
¿Cuál es la estrategia de escalamiento que caracteriza a los sistemas de Big Data?
El escalamiento horizontal distribuye datos y cómputo entre muchos nodos de bajo costo. El vertical tiene límites físicos y de precio, y es lo que Big Data busca evitar.
Resumen
- Big Data son conjuntos de datos que desbordan las herramientas tradicionales.
- Se caracteriza por las 3 Vs: Volumen, Velocidad y Variedad.
- La solución arquitectónica es el escalamiento horizontal en clústeres.
- Los datos pueden ser estructurados, semi-estructurados o no estructurados.
📚 Lecturas y fuentes
| Recurso | Tipo | Por qué leerlo |
|---|---|---|
| Macrodatos (Wikipedia en español) | Artículo | Panorama general en español. Lee la introducción y la sección “Características” para fijar el vocabulario de las 3 Vs. |
| Big data (Wikipedia) | Artículo | Versión más completa: quédate con la sección “Characteristics” y la de “Architecture” (en inglés). |
| 3D Data Management: Controlling Data Volume, Velocity and Variety (Doug Laney, META Group 2001) | Paper | El documento original que inventó las 3 Vs. Son 4 páginas: léelo entero, es la fuente primaria (en inglés). |
| Designing Data-Intensive Applications (Martin Kleppmann) | Libro | Cap. 1 “Reliable, Scalable, and Maintainable Applications”, sección “Scalability”: por qué el escalamiento horizontal es la respuesta al volumen (en inglés). |