Live data from Hacker News

MySQL is bazillion times faster than MemSQL

dom.as

131–140 of 148 posts

Re: MySQL is bazillion times faster than MemSQL

#133
post #37

Simple solution: [1] Someone create a project on GitHub [2] Upload an amply sized CSV full of data [3] Publish list of queries needed to "gauge" speed [4] Allow anyone to post their metrics to see how well tuned any database can be in comparison The only other criteria would be to ask them to all use the same form factor. EC2 makes the most sense.

http://www.tpc.org/ already does something like this, but much more rigorously.

The DBT suite benchmarks are open source versions of the TPC suite.

Re: MySQL is bazillion times faster than MemSQL

#134

Earlier quoted context omitted.

Since you never wait on I/O and don't take locks, optimizing execution makes a lot of sense actually. All that's left is execution and network. I'm not sure where you are getting this information. According to the MemSQL documentation, they have one and only one isolation level, READ COMMITTED. But READ COMMITTED takes write locks and blocks reads, but doesn't take any read locks. Blocking behaviour still (and should…

Chris, MemSQL utilizes versioning to implement READ COMMITTED. In this implementation readers are never blocked. It is addressed in this FAQ: http://developers.memsql.com/docs/1b/faq.html#c1-q4 .

OK, didn't see that you are using multiversion concurrency control.

I didn't realise you had a new FAQ up on the website - I'll have a look.

Re: MySQL is bazillion times faster than MemSQL

#135
post #129

Earlier quoted context omitted.

Since you never wait on I/O and don't take locks, optimizing execution makes a lot of sense actually. All that's left is execution and network. I'm not sure where you are getting this information. According to the MemSQL documentation, they have one and only one isolation level, READ COMMITTED. But READ COMMITTED takes write locks and blocks reads, but doesn't take any read locks. Blocking behaviour still (and should…

@Criss Isolation levels are used to specify semantics only. DBMS is free to implement them in different ways. Take a look at this VLDB 2012 paper about optimistic concurrent control in main memory databases, like MemSQL, which also describes implementation of isolation levels: http://arxiv.org/pdf/1201.0228v1.pdf

Ah. Sorry, didn't realise that you were using MVCC. That puts a different light on things.

Re: MySQL is bazillion times faster than MemSQL

#136
post #53

Earlier quoted context omitted.

Nice quote! More generally when considering any solution you should always test it in your environment according to your performance needs BEFORE you buy it. Any vendor worth their salt will let you do this.

From experience, that's pretty much no vendor these days. I will say positive things for Microsoft: you can always trial their software before you buy it.

We tested Azul Systems Zing JVM (pauseless GC) inhouse. They sent out support engineers and gave us great presentations to boot. Good company.

Re: MySQL is bazillion times faster than MemSQL

#138

Why is "written to hard disk" considered to be "durable"? Isn't that just a higher likelihood of "durability"?

> Isn't that just a higher likelihood of "durability"?

It's much, much, much more likely to have a memory failure (a crash anywhere from thread to hardware) than a hard drive failure. I don't mind them claiming that as durability.

Re: MySQL is bazillion times faster than MemSQL

#139
post #33

MemSQL CTO here. Great article- Domas has done a good job of digging into the internals of MemSQL! A few questions/comments: 1.) The range query issue you pointed out can be explained by a well known limitation of skip lists. Unlike B-Trees, skip lists are unidirectional. By default, our indexes are ascending, so indeed you have to skip to the end to run a MAX() or "ORDER BY id DESC" query. To fix this, just change t…

MemSQL isn't open source. If I can't hack it, who cares.
Post reply on HN