Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As someone using RethinkDB in production for the last 6 years or so: I am really disappointed by how software development world is dominated by fashions and fads.

RethinkDB was done really, really well. It is one of the very few distributed databases that went through Jepsen relatively unscathed and delivered on promises made. Development was done in the public, questions were asked through StackOverflow. You interacted with competent, skillful and experienced developers.

And yet MongoDB was the latest fashion fad, end even though it did NOT deliver on the promises, it was the hot-database-du-jour that kids used.

The article is mostly about the business model, and I also always thought they would have a hard time making money on the database. But I think they would have had a much better shot if it became more popular. It didn't, which accelerated the company's demise.

EDIT: I just realized that I wrote about RethinkDB in the past tense, even though it very much exists as I write it. In fact I run my business on it. But because it fell out of favor, when it was open-sourced, it failed to pick up momentum, and it now seems unlikely that it will.

Which is why I'm working on switching to FoundationDB, and I'm slightly worried that it will suffer the same fate: it is excellent technically (the best transactional guarantees in a distributed database you can get), but difficult to understand and not very user-friendly. It's not the "node.js database for everyone". The only reason I'm considering it is because Apple uses and develops it, which gives me hope for longer-term maintenance.

Going back to fashions — you can have a product which excels technically, but if it's out of fashion, it might as well not exist.

I think we would all be better off if we stopped trying to always pick The One True Database, The One True Programming Language, etc — and instead accepted that there might be multiple tools, each specialized for certain kinds of tasks.



The software development world isn't dominated by fashions and fads.

The segment of the market that chases fashions and fads is dominated by fashions and fads. Most development is just using something old and boring like Postgres or MySQL or MSSQL or Oracle.

The problem for RethinkDB is that when you take out the fashions and fads segment and the old and boring segment, there's not much left.


I recommend reading this 3-part series on Mongo's marketing - it goes into a lot of detail why Mongo "won". https://www.nemil.com/mongo/1.html

As a former RethinkDB user (we have migrated to Postgres) I actually don't miss it as much as I would - JSONB in PG does what we need, and the real-time features of RethinkDB never really delivered because of various performance issues in the database itself.


> As a former RethinkDB user (we have migrated to Postgres) I actually don't miss it as much

For me, JSON wasn't the important part. I wanted to have a distributed database, where a single server could disappear completely at any time and my customers would not lose any data.

There are remarkably few solutions that deliver this, though many claim to. Even fewer have been verified with Jepsen. And for all the hoopla about distributed computing using Kubernetes, I find it puzzling that so little emphasis is placed on data integrity.

Changefeeds have worked great for me as well, and I'm still trying to work out what to replace them with.


DON'T switch if it works! A working system has nothing todo with "favor" or "momentum".


This is life in general, not just software development.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: