redis-doc icon indicating copy to clipboard operation
redis-doc copied to clipboard

May I put my work of CRDT-Redis here? It is a prototype for my research.

Open elem-azar-unis opened this issue 4 years ago • 2 comments

Hi, I implemented my version of CRDT into Redis. It is called CRDT-Redis.

There are some CRDTs currently implemented:

  • Replicated Priority Queue (RPQ)
    • Add-Win RPQ
    • Remove-Win RPQ
    • RWF-RPQ
  • List
    • Remove-Win List
    • RWF-List

It is a prototype system that is mainly for my research of designing, implementing, and verifying CRDTs. Some parts of the system are implemented quite simply, such as the P2P replication mode, and I didn't consider the persistence of the CRDTs I added.

Is there a suitable place to put my work here? Any chance it could be shown on the redis.io website?

elem-azar-unis avatar Nov 12 '21 08:11 elem-azar-unis

Hi @elem-azar-unis

This sounds like a nice research project, well done!

Firstly, there's no license in the project, so it is totally unclear what one can do with it. That said, it would conceptually belong under https://redis.io/documentation#other-distributed-systems-based-on-redis.

However, I'm unclear whether the project provides real value to users (on top of its research and inspirational values). I feel uncomfortable putting it on display without some assurance (to the users) that it is usable and maintained.

itamarhaber avatar Nov 12 '21 13:11 itamarhaber

Hi @itamarhaber

I‘ve added the license. My mistake.

I must admit that it is mainly a research prototype. I focused on the CRDT part and simplified many things. The main shortages I suppose are the simplified P2P replication and the lack of persistence of the CRDTs. However, it is useful for my research. I believe it could be useful for anyone who wants to try out the Redis with CRDT.

The CRDT-Redis ran for days when I gathered experimental data for my research. The performance was fair. I tested some of the CRDTs with test cases generated by TLA+ models. So I'm quite confident with that part of the system.

Still, there is some work needed for the system to be more useful. Industrially useful as I think. P2P replication, the persistence of the CRDTs, and more CRDT operations (mainly read operations). But to be honest, this is a bit off my goal. Perhaps those who pursue more can continue to develop it from here 🤔

The place https://redis.io/documentation#other-distributed-systems-based-on-redis? Wow, Redis Enterprise and Roshi are here? My project ... Could it really be put beside them 🤣

elem-azar-unis avatar Nov 14 '21 16:11 elem-azar-unis

closing as not a doc issue, but a question without a PR so far.

mich-elle-luna avatar Dec 26 '23 19:12 mich-elle-luna