srh / refound

a RethinkDB implementation backed by FoundationDB
Other
14 stars 0 forks source link

Nice to see you rebuilding RethinkDB . #1

Open v3ss0n opened 1 year ago

v3ss0n commented 1 year ago

Realtime NoSQL database with really powerful query syntax is still missing in database world after many years of rethinkdb gone. Please keep it up.

srh commented 1 year ago

Well, thank you for the kind words. There is other stuff to do, though.

jerrygreen commented 5 months ago

Isn't RethinkDB still good? Also, why even bother porting its syntax on top of foundationdb? Is it faster or something? I don't get it.

srh commented 5 months ago

It's not like it stopped working. But there are performance issues or feature issues that a build atop FoundationDB would be capable of addressing. For example, RethinkDB wastes a lot of disk space and its storage engine is slow, especially for large values or table scans (which fwiw could also be improved directly). Its clustering algorithm and table management algorithm is excessively complicated, with needless layers of eventually consistent cluster configuration management, and some people have reported rare, hard to track down bugs with endless slow incremental replication when a cluster node connects. Some users report a slow-drip memory leak. It's possible to just join two different clusters together and create for yourself a big mess.

A FoundationDB-based implementation addresses some of those issues implicitly. It also makes a much smaller project size, with less fluff to maintain. It would be easier to build new features, such as aggregating indexes, with a lot less difficulty. Another potential feature would be change feeds that clients can catch up on, efficiently, after temporary disconnection.

I lost track of exact time spent because development was spread over years, but this implementation took only on the order of about 150-200 hours to develop.