2 comments

  • msteffen 1 hour ago
    This is so cool. I spent years at Pachyderm (YC...something) banging our head against:

    - we're "Bazel for data"

    - but...we have no Starlark. We're trying to port Airflow but it's not playing well with the way we cache partial results.

    Amazing to me that I'm only now seeing the architecture pattern of "pure coordination language connecting sandboxed imperative components", which is used by Nix and Bazel, applied to distributed workflows. If somebody applied this to batch data processing you might have a Pachyderm that actually works better than ours did.

    • icyfox 1 hour ago
      Cool thought! We have an internal version of map reduce implemented in waymark that worked pretty well (though uses Redis for its intermediate values so it's technically not an end-to-end integrated solution).

      In principle I would love to have something like this working for arbitrarily large ETL flows; ie. write the logic you want and it tries to figure out a good distributed algorithm to get the outputs. At the moment flowing data through the cluster is the biggest bottleneck. We generally assume that action inputs & outputs themselves are pretty small at the boundary even if their containerized context is quite large.

      Where did you hit the most snags with caching?

  • dangistan202611 24 minutes ago
    It is too async heavy as per its readme -- this is very off-putting. Not everyone cares for async. There is no usage shown with sync code.
    • icyfox 20 minutes ago
      MIT licensed, just clarified in the repo.

      As for async - background jobs are better modeled as async because of their natural parallelism across nodes imo. Logic in actions themselves are free to be as synchronous as you want. Why the preference?

      • dangistan202611 11 minutes ago
        I dispute the "better" assertion. Anyhow, I don't know how familiar or not you are with sync code, but it fully supports background jobs using queues with threads/interpreters/processes. It has been around for decades. If you can willingly disregard support for it, I can willingly disregard your repo.