Show HN: Streamdal – an open-source tail -f for your data

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • node-sdk

    Discontinued Node data quality library (by streamdal)

  • In the node-sdk, process pipeline is async , see: https://github.com/streamdal/node-sdk/blob/main/src/streamda... (I'm the author of that). I believe this is also the case for the python and go sdks as well. So you can call it asynchronously for passive observability.

    However, we implemented the pipeline rules in wasm with the goal of keeping the overhead as minimal as possible. So you could also use it as more of a data security or governance tool and invoke the pipelines synchronously and mask or prevent sensitive data before passing it along.

  • streamdal

    Code-Native Data Pipelines

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • plumber

    A swiss army knife CLI tool for interacting with Kafka, RabbitMQ and other messaging systems.

  • 4. Go to the provided UI (or run the CLI app) and be able to peek into what your app is reading or writing, like with `tail -f`.

    And that's basically it. There's a bunch more functionality in the project but we find this to be the most immediately useful part. Every developer we've shown this to has said "I wish I had this at my gig at $company" - and we feel exactly the same. We are devs and this is what we’ve always wanted, hundreds of times - a way to just quickly look at the data our software is producing in real-time, without having to jump through any hoops.

    If you want to learn more about the "why" and the origin of this project - you can read about it here: https://streamdal.com/manifesto

    — — —

    HOW DOES IT WORK?

    The SDK establishes a long-running session with the server (using gRPC) and "listens" for commands that are forwarded to it all the way from the UI -> server -> SDK.

    The commands are things like: "show me the data that you are currently consuming", "apply these rules to all data that you produce", "inspect the schema for all data", and so on.

    The SDK interprets the command and either executes Wasm-based rules against the data it's processing or if it's a `tail` request - it'll send the data to the server, which will forward it to the UI for display.

    The SDK IS part of the critical path but it does not have a dependency on the server. If the server is gone, you won't be able to use the UI or send commands to the SDKs, but that's about it - the SDKs will continue to work and attempt to reconnect to the server behind the scenes.

    — — —

    TECHNICAL BITS

    The project consists of a lot of "buzzwordy" tech: we use gRPC, grpc-Web, protobuf, redis, Wasm, Deno, ReactFlow, and probably a few other things.

    The server is written in Go, all of the Wasm is Rust and the UI is Typescript. There are SDKs for Go, Python, and Node. We chose these languages for the SDKs because we've been working in them daily for the past 10+ years.

    The reasons for the tech choices are explained in detail here: https://docs.streamdal.com/en/resources-support/open-source/

    — — —

    LAST PART

    OK, that's it. What do you think? Is it useful? Can we answer anything?

    - If you like what you're seeing, give our repo a star: https://github.com/streamdal/streamdal

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • plumber VS kaf - a user suggested alternative

    2 projects | 12 Jan 2024
  • Show HN: Streamdal – an open-source tail -f for your data

    1 project | /r/hackernews | 3 Nov 2023
  • In memory message broker, any recommendations?

    2 projects | /r/golang | 5 Jul 2023
  • Data Pipelines - how do you build data pipelines for sources not available in today’s ELT tools (Fivetran, Talend, Airbyte)? Old fashioned scripts and YOLO?

    1 project | /r/dataengineering | 13 Apr 2023
  • batchcorp/plumber: A swiss army knife CLI tool for interacting with Kafka, RabbitMQ and other messaging systems.

    1 project | /r/devel | 9 Nov 2022