out.of.desk

personal blog of Gaurav Ramesh

Introducing FlightStream - An Open-Source Flight Streaming Node.js Framework

I'm excited to share FlightStream πŸš€, an open-source Apache Arrow Flight streaming Node.js framework I've been working on for the last couple of months.

FlightStream addresses a current gap in the Node.js ecosystem for building data-intensive applications: efficiently moving large datasets between services. While REST APIs work well for small payloads, they become a bottleneck when dealing with substantial data volumes that analytics pipelines and backend systems require.

Here's FlightStream in action - Streaming a 45MB CSV file with ~850K rows in < 4s.

FlightStream-Demo


This framework leverages Apache Arrow columnar format and Flight protocol to enable high-performance data streaming. Since Flight is language-agnostic, FlightStream server/client can communicate with services written in Python, Java, C++, or any language with Arrow Flight support.

Key features include:

  • ⚑Memory-efficient micro-batch processing with automatic schema inference.
  • 🧩 Plugin architecture for different data sources.
  • πŸš€ High-performance gRPC streaming with cross-language compatibility.
  • πŸ“¦ Domain-driven monorepo structure for scalability

The project is currently in alpha, with core server and client functionalities working and comprehensive examples included. While I'm actively developing browser client libraries and framework integrations for use in browsers, it's already valuable for backend data pipelines, microservices communication, and server-side analytics workflows.

You can explore the code and get it running in under 2 minutes: https://github.com/ggauravr/flightstream

If you know developers working on data pipelines, backend services, analytics applications, or anyone interested in modern data streaming solutions, I'd appreciate you sharing this with them. Contributions and feedback are very welcome as I work toward adding support for more data sources, and a stable release.

#opensource #javascript #nodejs #datastreaming #analytics #apachearrow #arrowflight

Share or Subscribe

Get notified when new posts are published. Once a month, I share thoughtful essays around the themes of personal growth, health & fitness, software, culture, engineering and leadership β€” all with an occassional philosophical angle.