DEV Community

Cover image for You forget RethinkDB, it's a shame

You forget RethinkDB, it's a shame

Patrice Ferlet on November 20, 2023

There is no only MongoDB... and while you may think of ArangoDB, or CouchDB, you haven't thought of RethinkDB. This project must be saved, urgently...
Collapse
 
katafrakt profile image
Paweł Świątkowski

I used to be a great fan and proponent of RethinkDB many years ago. We even used it for production for some heavy-load analytic cases. Then I watched it fall when the company behind it bankrupted. Then reborn as open source. Sad to hear it's struggling again.

Unfortunately, I think it might be hard to convince decision-makers in most companies to use unstable tech. Is there some "golden reference production use" for it?

Collapse
 
metal3d profile image
Patrice Ferlet

Actually there are still some PR and the community is alive.

I'm OK with your point, saying that it's hard to convince decision-maker to us it, but RethinkDB is stable, actually. That's a point in my article, there is no critical issue, the database works without any problem, even with thousands of writes per seconds in my projects.

Unfortunately, I don't find golden references... I'm pretty sure there are some. 😉

Anyway, my call is still the same: we, engineers, should propose it, we must show how it works, why it's interesting and what is the gain to use it. The more we use it, the more we demonstrate, the more it can be more active.

PS: really, RethinkDB is not dead. It's sleeping a bit.

Collapse
 
lissy93 profile image
Alicia Sykes

I had actually forgotten all about Rethink. I remember getting all excited when it was open sourced. Your post does a good job about highlighting it's many benefits, and explaining how it is still a viable option in 2023 :)

My worry is that it's no longer actively developed, so no chance on seeing those nice-to-have features we've come to expect (restarting feeds, gzipping support, GraphQL interface...) as well as bug fixes and performance improvements for running on newer architectures

Collapse
 
efpage profile image
Eckehard

Do you have any information about using RethinkDB as a time series database?

Recently I had some problems with a bloated postgre-database, that flooded my server. For some reason we had the same data also written to influx, which occupied only a fraction of space. I cannot quantify the effect, as I do not know what else is written to postgre, but the difference seems to be reasonable.

Collapse
 
metal3d profile image
Patrice Ferlet

RDB is not specifically a time series database server. But it can be :)

I already used RethinkDB to store logs from a Rancher (Kubernetes) cluster with approximately 500 pods. That was OK, but I had to make a task to store and drop too old entries. The data size was very correct, but I was limited by the platform itself, not by RDB.

Actually, RethinkDB could be a few lighter than PostgresSQL - there are fewer controls, fewer data links, and you may replicate + shard on several RDB servers.

That means that you will need to manage a load balancer to send data to all nodes (I did it with a Service in Kubernetes). Or you can use one RDB node as a proxy (it's a simple option) that will load balance the flow.

All depends on the load you will apply.

Influx is very well-made, and is optimized to store that kind of data. Prometheus is a very good solution too.

Collapse
 
lissy93 profile image
Alicia Sykes

RethinkDB is developed in C++ and is completely opensource. There are no major bugs and as a result

Meanwhile on the Rethink repo....

Image description

Collapse
 
metal3d profile image
Patrice Ferlet

"Issues" doesn't mean "major bugs" 😉

Actually, if you check the list, this is mainly feature requests, some display bugs in the docker container (the version is not OK), are some specific mecanism problems.

I know you were kidding