lasp
streaming-consistency
lasp | streaming-consistency | |
---|---|---|
1 | 3 | |
893 | 19 | |
- | - | |
2.4 | 1.8 | |
about 3 years ago | about 3 years ago | |
Erlang | Java | |
Apache License 2.0 | - |
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.
lasp
-
Internal Consistency in Streaming Systems
I honestly don't recall; I was more a kibitzer in that realm.
Chris Meiklejohn with the Lasp project would be a good person to reach out to.
https://github.com/lasp-lang/lasp
streaming-consistency
-
The Query Your Database Can’t Answer
Anyone thinking about using Confluent as some kind of alternative to a database should read this blog post outlining the myriad correctness problems with ksqlDB: https://scattered-thoughts.net/writing/internal-consistency-...
-
An opinionated map of incremental and streaming systems (2018)
Spark structured streaming is in there under structured, high temporal locality.
It didn't make it into https://scattered-thoughts.net/writing/internal-consistency-... because it has severe limitations for low temporal locality operations:
> * As of Spark 2.4, you can use joins only when the query is in Append output mode. Other output modes are not yet supported.
-
Internal Consistency in Streaming Systems
> And then try to join credits and debits together by updating_tx.
You can't join on updating_tx because the credits and debits per account are disjoint sets of transactions - that join will never produce output.
I did try something similar with timestamps - https://github.com/jamii/streaming-consistency/blob/main/fli.... This is also wrong (because the timestamps don't have to match between credits and debits) but it at least produces output. It had a very similar error distribution to the original.
What are some alternatives?
ra - A Raft implementation for Erlang and Elixir that strives to be efficient and make it easier to use multiple Raft clusters in a single system.
Pravega - Pravega - Streaming as a new software defined storage primitive
emqx - The most scalable open-source MQTT broker for IoT, IIoT, and connected vehicles
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.
erleans - Erlang Orleans
flow - Computational parallel flows on top of GenStage
cowboy - Small, fast, modern HTTP server for Erlang/OTP.
partisan - High-performance, high-scalability distributed computing for the BEAM.