Live data from Hacker News

R17 on spinning disk faster than PostgreSQL on SSD

rseventeen.com

1–10 of 25 posts

Re: R17 on spinning disk faster than PostgreSQL on SSD

#2
R17 is a data mining language that's a cross between SQL and Bash. For example this

SELECT username, COUNT(1) AS num FROM users GROUP BY username ORDER BY num;

is roughly equivalent to

io.file.read('users') | rel.select(username) | rel.group(count) | rel.order_by(_count);

The most interesting difference is that each r17 clause executes concurrently :).

Download link is here: http://www.rseventeen.com/#download

Re: R17 on spinning disk faster than PostgreSQL on SSD

#3

R17 is a data mining language that's a cross between SQL and Bash. For example this SELECT username, COUNT(1) AS num FROM users GROUP BY username ORDER BY num; is roughly equivalent to io.file.read('users') | rel.select(username) | rel.group(count) | rel.order_by(_count); The most interesting difference is that each r17 clause executes concurrently :). Download link is here: http://www.rseventeen.com/#download

Is R17 a language and an implementation then?

Re: R17 on spinning disk faster than PostgreSQL on SSD

#4
post #3

R17 is a data mining language that's a cross between SQL and Bash. For example this SELECT username, COUNT(1) AS num FROM users GROUP BY username ORDER BY num; is roughly equivalent to io.file.read('users') | rel.select(username) | rel.group(count) | rel.order_by(_count); The most interesting difference is that each r17 clause executes concurrently :). Download link is here: http://www.rseventeen.com/#download

Is R17 a language and an implementation then?

Yes, right now they are one and the same.

Re: R17 on spinning disk faster than PostgreSQL on SSD

#5
I think it's disingenuous to measure load+index+query time and then declare that you're faster. Not saying there aren't use cases where that's valuable (analytics/warehousing db for one) but it's not what most people are looking for. Is this usable as a transactional store? What do those numbers look like?

The pipeline model is very interesting, though, and I'll take a look for our warehouse, which at some point became too expensive to keep up with.

Re: R17 on spinning disk faster than PostgreSQL on SSD

#7

R17 is a data mining language that's a cross between SQL and Bash. For example this SELECT username, COUNT(1) AS num FROM users GROUP BY username ORDER BY num; is roughly equivalent to io.file.read('users') | rel.select(username) | rel.group(count) | rel.order_by(_count); The most interesting difference is that each r17 clause executes concurrently :). Download link is here: http://www.rseventeen.com/#download

At first glance it looks like doing a query involves streaming the entire dataset into memory while selecting and projecting on the fly. If that's true, what happens when you have truly massive rows (i.e., things containing MEDIUMTEXTs or worse)?

Okay, reading further down you only get very basic data types. Still, nothing in the spec appears to prohibit very long rows, and I'd imagine performance starts to fall off once you're throwing around tens of kilobytes per row. Any plans to support pushing the projection operation into the read phase so you can work with massive individual records?

And where's the source? I want to see exactly how much this differs from a modern SQL engine.

Re: R17 on spinning disk faster than PostgreSQL on SSD

#8
This fails at the most basic benchmark rules. Do you really think PostgreSQL is 20-40x slower than alternative implementations? Do you think that is reasonable?

I'm going to go ahead and assume (as with most benchmarks) that the PostgreSQL instance was not configured properly and was running a stock configuration.

Re: R17 on spinning disk faster than PostgreSQL on SSD

#9
post #5

I think it's disingenuous to measure load+index+query time and then declare that you're faster. Not saying there aren't use cases where that's valuable (analytics/warehousing db for one) but it's not what most people are looking for. Is this usable as a transactional store? What do those numbers look like? The pipeline model is very interesting, though, and I'll take a look for our warehouse, which at some point beca…

I agree that it would be disingenuous to base "faster" on load+index+query. I'm basing it on the query times alone. I would like very much to base it on load+index+query 'cause then I could have said "faster than MySQL and PostgreSQL" :) [and probably many systems, since r17 is built specifically for zero indexing overhead].

R17 is _only_ for analytics & warehousing, it doesn't do transactions at all. So in that sense this comparison is unfair, which is why next up I want to do the same comparison with Hadoop.

Thanks for taking a closer look for your warehouse! Please contact me directly or comment somewhere if you'd like any help from me.

Re: R17 on spinning disk faster than PostgreSQL on SSD

#10
Boosting speed, fantastic - replacing the completely easy and logical SQL language, not so much:

   io.file.read('users') | rel.select(username) | rel.group(count) | rel.order_by(_count);
is

    SELECT username, COUNT(1) AS num FROM users GROUP BY username ORDER BY num;
seriously? why?
Post reply on HN