4 ms·
Also, what are some pain points of using RethinkDB, ie development problems, production problems? RethinkDB looks really nice, was really easy to play around w
by thejosh 10y ago
Also, what are some pain points of using RethinkDB, ie development problems, production problems?
RethinkDB looks really nice, was really easy to play around with it when I last did. I'm considering using it for a small project, but wondering what everyone thinks of the downsides, compared to the upsides. (there are pros and cons to everything :)).
- phamilton 10y agoBecause of the lack of cross document atomic operations, you might have to choose between at most once semantics and at least once semantics. This requires some fancy engineering to make it work for some use cases. Minor failover is automatic, but major failover requires manual intervention to repair tables even when there's no data loss. That's a little confusing and not obvious. The anonymous function query style can get confusing because it is partially executed client side and then executed server side. This can be a subtle source of bugs. Source: I am the creator and maintainer of the Elixir driver for RethinkDB.
- timmaxw 10y ago> Minor failover is automatic, but major failover requires manual intervention to repair tables even when there's no data loss. That's a little confusing and not obvious. Wasn't this fixed in RethinkDB 2.1? Or are you referring to something different?
- phamilton 10y agoTable configuration is a bit different from data. So if you lose too many of the table configuration voting replicas, you have to manually elect new ones. Edit: it's better documented now, but still not obvious. https://rethinkdb.com/api/javascript/reconfigure/ https://rethinkdb.com/api/javascript/reconfigure/ I've never encountered it organically, but did during some benchmarks when I was dropping and adding a bunch of servers.