Los streams de Node.js permiten procesar datos en fragmentos (chunks) sin cargar todo en memoria. Esencial para archivos grandes y redes.
Tipos de streams
Readable: fuente de datos. Writable: destino de datos. Transform: transforma datos (compress, encrypt). Duplex: ambos (net socket).
Pipe y pipeline
readable.pipe(writable) encadena streams. pipeline (recomendada) maneja errores y limpia correctamente: pipeline(readable, transform, writable, callback).
Backpressure
Cuando el writable es más lento que el readable, se aplica backpressure. highWaterMark controla el buffer interno. El stream pause automáticamente.
Ejemplo práctico
Procesar archivos CSV grandes: leer con Readable, transformar líneas, escribir a DB. Sin streams, el archivo completo ocupa memoria.

