Live data from Hacker News

RethinkDB 1.5 released: secondary indexes, soft durability, perf improvements

rethinkdb.com

21–30 of 105 posts

Re: RethinkDB 1.5 released: secondary indexes, soft durability, perf improvements

#21
post #15

Earlier quoted context omitted.

+1, a good approach could be to still make users able to specify manually what index to use even when the optimizer will be available. Sometimes humans just know better.

That's something we'll make sure to keep around indefintely. I always hate things that are too magically, which optimizers frequently seem to me, but I also get why they're useful to people. The best compromise I think is to give people the magic and a way to opt out of the magic.

The best compromise I think is to give people the magic and a way to opt out of the magic.

This is actually a surprisingly succinct way to describe the philosophy behind most RethinkDB features. This approached worked really well so far.

Re: RethinkDB 1.5 released: secondary indexes, soft durability, perf improvements

#22
post #5

Seems a bit unconventional to manually specify which index you'd like to use when writing queries. This would normally be something handled by a query optimizer. Of course, many DBMS provide some facility for specifying indices manually through query hinting, but for non-trivial queries, the optimizer often can do a better job than a programmer at picking the most efficient query plan.

Hi, I implemented secondary indexes in RethinkDb. This was an intentional choice we made for a couple of reasons. The most pragmatic one was that we don't have an optimizer and we thought that secondary indexes could still be useful to a lot of people without one. And we've found it's always better to ship early and get feedback sooner rather than later. Another reason though is we're not totally sure we're sold on t…

Thanks for the reply. Do you have any resources you could share regarding the pitfalls of query optimizers?

My experience with them comes primarily from studying the System R optimizer where the literature presented query optimization as a boon to performance without mentioning such drawbacks.

Congratulations on the release by the way.

Re: RethinkDB 1.5 released: secondary indexes, soft durability, perf improvements

#26
post #5

Seems a bit unconventional to manually specify which index you'd like to use when writing queries. This would normally be something handled by a query optimizer. Of course, many DBMS provide some facility for specifying indices manually through query hinting, but for non-trivial queries, the optimizer often can do a better job than a programmer at picking the most efficient query plan.

Hi, I implemented secondary indexes in RethinkDb. This was an intentional choice we made for a couple of reasons. The most pragmatic one was that we don't have an optimizer and we thought that secondary indexes could still be useful to a lot of people without one. And we've found it's always better to ship early and get feedback sooner rather than later. Another reason though is we're not totally sure we're sold on t…

A.k.a. "worse is better" approach. Seems like a good call to me.

Re: RethinkDB 1.5 released: secondary indexes, soft durability, perf improvements

#28
post #11

Earlier quoted context omitted.

Nope, operations on a single document are atomic, but not on multiple documents. MongoDB works the same way. AFAIK, the only NoSQL DB with support for multi-doc transactions is HyperDex [0]. [0] - http://hyperdex.org/

Also http://www.rethinkdb.com/docs/advanced-faq/ . RethinkDB started out as a MySQL driver that was lock-free and did schema updates non-stupidly, but it sounds like they've abandoned ACID and schema enforcement entirely like almost all NoSQL systems (as if what I wanted is faster wrong answers).

If you want schemas and transactions, just use NewSQL.

Re: RethinkDB 1.5 released: secondary indexes, soft durability, perf improvements

#29
post #11
post #9

Does RethinkDB do multiple atomic updates?

Nope, operations on a single document are atomic, but not on multiple documents. MongoDB works the same way. AFAIK, the only NoSQL DB with support for multi-doc transactions is HyperDex [0]. [0] - http://hyperdex.org/

http://foundationdb.com/ supports multiple doc transactions.

Re: RethinkDB 1.5 released: secondary indexes, soft durability, perf improvements

#30

Wow, I thought this was a joke press release making fun of "web scale" fad craziness. They seriously gave a 1.0 release number to a "database" that you couldn't search?

No, you've always been able to execute queries. They just weren't indexed before.
Post reply on HN