DEV Community

LG
LG

Posted on • Edited on

2

Node.js fundamentals allegorically

Stream vs. Buffer

Stream is an abstract interface (“abstract” meaning it made for beginner users i.e. relatively easy-to-use) primarily to work with streaming (which means “in-memory”) (session) data rather than in-disk (persistence-like) data .

EXAMPLE : Pipe is an important mechanism connecting two & more processes (streams, processes are mounted onto PCB, RAM by kernel) without storing anything on the disk for persistency [backed up by baeldung] ;

Readable – earth , that generates water ;

Stream (continues in time) FIFO-like Buffer (discrete in time) STACK-like
Example: Constantly running water in your mouth (consumer, writable) in small gulps (chunks) Example: Water as ice cubes, the measured units of water to prevent clogging
How long can you drink without taking a breath (discrete pause of time) Buffer as stream optimization gives discrete pauses between "swallowing" big ice cube chunks (blobs) by one's mouth as a writable (consumable)

NOTE : Stream can be readable, but not mandatory writable – water can be generated, but not consumed;

KEEP IN MIND : Buffer does pack stream in discrete units, giving a measuring feature, that sounds like optimization, however streaming ensures plausibly un-interrupted consumption . Inter-process-communication (IPC) messaging is a real life example of buffering, whereas I/O over Network (e.g. video, audio, or both) is a real life example of streaming .


Refs

  • Node.js fundamentals et al. link

Stay tuned, more is coming shortly !

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read full post →

Top comments (0)