Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nice to see you rebuilding RethinkDB . #1

Open
v3ss0n opened this issue May 30, 2023 · 3 comments
Open

Nice to see you rebuilding RethinkDB . #1

v3ss0n opened this issue May 30, 2023 · 3 comments

Comments

@v3ss0n
Copy link

v3ss0n commented May 30, 2023

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
Copy link
Owner

srh commented Jun 3, 2023

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

@jerrygreen
Copy link

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
Copy link
Owner

srh commented Apr 4, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants