sliding-window-aggregators
Hydra
sliding-window-aggregators | Hydra | |
---|---|---|
2 | 1 | |
41 | 30 | |
- | - | |
4.2 | 0.0 | |
8 months ago | about 12 years ago | |
C++ | Haskell | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sliding-window-aggregators
- Query Engines: Push vs. Pull
-
Why isn't differential dataflow more popular?
Myself and a few others have done a lot of research on performing sliding window aggregations updates without recomputing everything. Our code is on github, and the README has links to the papers: https://github.com/IBM/sliding-window-aggregators
Hydra
-
Why isn't differential dataflow more popular?
I think there are a lot of similarly interesting paradigms that goes mostly unnoticed because of a lack of explanation and simple to use api's.
My personal favorite is "Functional hybrid modelling" - https://github.com/giorgidze/Hydra
What are some alternatives?
timely-dataflow - A modular implementation of timely dataflow in Rust
blog - Some notes on things I find interesting and important.
lambdo - Feature engineering and machine learning: together at last!
rslint - A (WIP) Extremely fast JavaScript and TypeScript linter and Rust crate
differential-dataflow - An implementation of differential dataflow using timely dataflow on Rust.
diagnostics - Diagnostic tools for timely dataflow computations
ballista - Distributed compute platform implemented in Rust, and powered by Apache Arrow.
differential-datalog - DDlog is a programming language for incremental computation. It is well suited for writing programs that continuously update their output in response to input changes. A DDlog programmer does not write incremental algorithms; instead they specify the desired input-output mapping in a declarative manner.