Semestre 02, 2026
Conjuntos extremadamente grandes y diversos de datos estructurados, no estructurados y semiestructurados que crecen exponencialmente a lo largo del tiempo.
La definición no depende de un número. Un conjunto entra en el terreno de Big Data cuando las herramientas tradicionales dejan de servir.
Muchos datos -> Muchas máquinas -> Procesamiento distribuido -> Decisiones
Todo el ecosistema de Big Data existe para resolver un solo problema. Los datos crecen más rápido que la capacidad de una sola máquina.
Las tres originales eran volumen, velocidad y variedad. Con el tiempo la lista creció.
Un conjunto enorme puede ser inútil. Tener más filas no corrige un instrumento mal calibrado ni un formulario mal diseñado.
La escala amplifica tanto la señal como el error, y un sesgo pequeño repetido millones de veces sigue siendo un sesgo.
Reconocer la fuente anticipa el formato, la velocidad y la calidad de los datos.
| Tipo | Descripción | Ejemplo |
|---|---|---|
| Estructurado | Esquema fijo, filas y columnas | Tabla de ventas |
| Semiestructurado | Etiquetas o jerarquía, sin esquema rígido | JSON, XML, bitácoras |
| No estructurado | Sin esquema alguno | Texto libre, imágenes, audio |
La mayor parte de lo que producen las organizaciones cae en las dos últimas categorías, y ahí es donde fallan las herramientas tradicionales.
Cada V se convierte en un problema de ingeniería concreto.
Una distinción práctica los separa por la función que cumplen en la organización.
Los datos cotidianos que el negocio genera al funcionar. Alto volumen de escrituras, operaciones pequeñas y disponibilidad constante.
Los datos que se procesan para apoyar decisiones. Consultas complejas sobre grandes históricos y agregaciones de muchas fuentes.
Operacional -> ingestión -> Analítica -> Decisión -> Operacional
| Capa | Función | Herramientas |
|---|---|---|
| Almacenamiento | Guardar datos distribuidos | HDFS, S3, Cassandra |
| Recursos | Repartir CPU y memoria del clúster | YARN, Mesos, Kubernetes |
| Procesamiento | Ejecutar el cómputo distribuido | MapReduce, Spark, Flink |
| Consulta | Analizar con lenguajes conocidos | Hive, Spark SQL, Presto |
| Ingesta | Mover datos entre sistemas | Kafka, Sqoop, Flume |
| Plataforma | Integrar todo el ciclo de vida | Databricks, BigQuery |
Framework de código abierto para almacenar y procesar grandes volúmenes de datos en clústeres de computadoras comunes.
El hardware falla, y el software debe asumirlo desde el diseño en lugar de tratarlo como una excepción.
┌─────────────────────────────────────────────────────┐
│ Aplicaciones Hive · Spark · Sqoop · MapReduce │
├─────────────────────────────────────────────────────┤
│ Cómputo YARN, reparte los recursos │
├─────────────────────────────────────────────────────┤
│ Almacenamiento HDFS, guarda los bloques │
├─────────────────────────────────────────────────────┤
│ Hardware nodos con RAM + CPU + disco │
└─────────────────────────────────────────────────────┘
Separar almacenamiento, recursos y procesamiento permite que cada capa evolucione por su cuenta, y explica por qué Spark pudo reemplazar a MapReduce sin tocar HDFS.
La capa de almacenamiento distribuido de Hadoop. Toma un archivo enorme, lo corta en bloques y los reparte por el clúster.
| Componente | Rol |
|---|---|
NameNode | Nodo maestro, guarda los metadatos y sabe dónde vive cada bloque |
DataNode | Nodo esclavo, almacena los bloques reales y reporta su estado |
El NameNode nunca guarda datos de usuario, guarda el mapa. Si se pierde el mapa, los bloques siguen ahí pero nadie sabe cómo reconstruir el archivo.
El negociador de recursos del clúster. Su trabajo es que muchas aplicaciones y usuarios compartan los mismos nodos sin estorbarse.
| Componente | Rol |
|---|---|
ResourceManager | Decide qué aplicación recibe qué recursos y cuándo |
NodeManager | Vigila los recursos de su nodo y reporta al ResourceManager |
ApplicationMaster | Coordina una aplicación concreta y pide recursos para ella |
Container | Paquete de memoria y CPU donde corre efectivamente una tarea |
Modelo de programación que procesa datos dispersos en el clúster. Los datos se mapean, se barajan y se reducen a un resultado agregado.
Mapa -> Mezcla y clasificación -> Reducción -> HDFS
Entrada "el gato y el perro"
Mapa (el,1) (gato,1) (y,1) (el,1) (perro,1)
Mezcla (el,[1,1]) (gato,[1]) (y,[1]) (perro,[1])
Reduce (el,2) (gato,1) (y,1) (perro,1)
El mismo patrón sirve para contar palabras en un tuit o en el archivo completo de Wikipedia. Lo único que cambia es la cantidad de nodos.
Cada trabajo escribe su resultado intermedio en disco antes de que empiece el siguiente. Para un proceso de un paso es aceptable; para un algoritmo iterativo que recorre los mismos datos cincuenta veces, el disco domina el tiempo total.
Ese límite es exactamente lo que Spark vino a resolver.