114 karma · joined April 12, 2020
See it as a simple function that can do oldResults+event=newResults like shown in the big image on top of the readme.
It is a simple algorithm that is implemented as a function with two inputs and one output.
There are many different trade-offs between a paper and the current repository with source code. For me the biggest argument was that EventReduce is a performance optimization. So to be sure if it really works and is faster, you always need an implementation since you cannot predict the performance from a paper.
Because I did not have time for both, I only created the repository with the implementation. Maybe a paper will be published afterwards.
And yes, you should always do testings before you use open source stuff. There is no warranty use it on your own risk.
Also see the limitations of EventReduce in the readme.
[1] https://github.com/pubkey/event-reduce/tree/master/javascrip...
For more information about the difference I recommend the video "Real-Time Databases Explained: Why Meteor, RethinkDB, Parse & Firebase Don't Scale" https://www.youtube.com/watch?v=HiQgQ88AdYo&t=1703s
Also this is an open source project, not something I want to sell you. Feel free to make a PR/issue with any open topics that are not mentioned in the docs.
But easier you do that by using a database that already provides a changestream like couchdb, Postgres, mongodb and so on.
The was no good JavaScript implementation for BDDs so I had to create my own one https://github.com/pubkey/binary-decision-diagram