Live data from Hacker News

Why Quora uses MySQL rather than No-SQL

quora.com

31–40 of 60 posts

Re: Why Quora uses MySQL rather than No-SQL

#31
post #17
post #14

Earlier quoted context omitted.

Taking daily pageviews and dividing it by 24 * 60 * 60 assumes your traffic curve isn't a curve at all - it's flat. For your average US-based consumer web app it's highly unlikely to have just as many people using your app at 3am as you do 3pm. When scaling a web app, you need to prepare for peak usage, not average usage. Here are a few first-hand examples. Friends for Sale, a social game, had ~10M daily pageviews (1…

So worst case they will be doing 4 req/s instead of 2. I know what you're trying to say, but at Quora's numbers, as OP said, it truly is irrelevant.

No, 5-20x * 2req/s av = 10 to 40 req/s.

Re: Why Quora uses MySQL rather than No-SQL

#33
post #18

Earlier quoted context omitted.

I have this question about a lot of sites. I've heard very few good things about MySQL and lots about PostgreSQL but MySQL seems to be used more and get more press.

It's just inertia ... I am familiar and worked with both ... but I still chose Mysql over Postgres simply because I have more confidence that I can control it. That's partly because Mysql always was more user friendly, and I also attended one Mysql conference and got to know some people working on Mysql. That said, overall Postgres is better, with one exception ... Mysql supports multiple storage engines for various…

> That's partly because Mysql always was more user friendly

Examples? I started with Postgres and ignored MySQL from day one because of MySQL's deficiencies, and have had 0 problems learning what I needed in the years I've used it. Not to mention I can read a general SQL reference, or the standard, and the information actually applies. Unlike MySQL (quotation marks anyone?).

> That said, overall Postgres is better, with one exception ... Mysql supports multiple storage engines for various needs. In Postgres you don't have that flexibility.

"various needs": what, for those times when you don't care whether your data gets silently corrupted?

Re: Why Quora uses MySQL rather than No-SQL

#34
post #10
post #9

Earlier quoted context omitted.

> 2 requests per second Your point is valid, but it doesn't work like that.

Do you care to elaborate?

There's an entire branch of mathematics that covers this. It's called "queuing theory". It's pretty strait forward to find the probability of N requests per second for an M/M/1 system. Then you decide, "I want to be able to handle the 99.9% case" (or whatever) and you know what your peak capacity has to be.

Re: Why Quora uses MySQL rather than No-SQL

#35
post #18

Earlier quoted context omitted.

I have this question about a lot of sites. I've heard very few good things about MySQL and lots about PostgreSQL but MySQL seems to be used more and get more press.

It's just inertia ... I am familiar and worked with both ... but I still chose Mysql over Postgres simply because I have more confidence that I can control it. That's partly because Mysql always was more user friendly, and I also attended one Mysql conference and got to know some people working on Mysql. That said, overall Postgres is better, with one exception ... Mysql supports multiple storage engines for various…

For any data you want to reliably read back, MySQL really has one (standard) engine†. Nearly every MyISAM DB I've used in a high traffic environment has eventually corrupted. Your choice is really either InnoDB or ‘repair table’.

† NDB may be a perfectly reliable option, I have not used it.

 

Re: Why Quora uses MySQL rather than No-SQL

#37
post #33

Earlier quoted context omitted.

It's just inertia ... I am familiar and worked with both ... but I still chose Mysql over Postgres simply because I have more confidence that I can control it. That's partly because Mysql always was more user friendly, and I also attended one Mysql conference and got to know some people working on Mysql. That said, overall Postgres is better, with one exception ... Mysql supports multiple storage engines for various…

> That's partly because Mysql always was more user friendly Examples? I started with Postgres and ignored MySQL from day one because of MySQL's deficiencies, and have had 0 problems learning what I needed in the years I've used it. Not to mention I can read a general SQL reference, or the standard, and the information actually applies. Unlike MySQL (quotation marks anyone?). > That said, overall Postgres is better, w…

There are a decent number of things for which I don't care if the data gets corrupted a bit over the long run. Performance is a much bigger consideration.

Re: Why Quora uses MySQL rather than No-SQL

#38

> 2. These distributed databases like Cassandra, MongoDB, and CouchDB[3] aren't actually very scalable or stable. Twitter apparently has been trying to move from MySQL to Cassandra for over a year. When someone reports using one of these systems as their primary data store for over 1000 machines for over a year, I'll reconsider my opinion on this. Are there facts to back up what he says about MongoDB for example or i…

His assertion is actually backed up by MongoDB docs: "Sharding will be production-ready in MongoDB v1.6, estimated to be released in July 2010." Their current sharding alpha is only tested/supported for small clusters (up to 20 nodes). In addition, looking at their sharding mode of operations, only a very limited set of actions are properly sharded; the rest require touching all the shards.

Disclaimer: this was the first look I've had at MongoDB. However, based on this alone, it would be prudent to wait several years before considering using this technology in serious production. It is somewhat reckless to consider a DBMS feature that wasn't locked for awhile "production-ready".

Re: Why Quora uses MySQL rather than No-SQL

#39
post #21

I don't understand all these "why we're not using NoSQL" posts. Why is it interesting that someone choose the default choice? Why would they use a NoSQL database of some sort for a major project unless they actually had a need for it? I'm half expecting a "why we don't use Brainfuck"* post one of these days... *Not that I'm comparing any NoSQL database or NoSQL databases in general to Brainfuck, it's just that I don'…

I agree, and I think it's a side effect of the polarization that's happened in the database world. Picking the term 'NoSQL' was maybe a bit aggressive, as it grouped a bunch of new ideas and projects under one banner as well as defined a clear 'opponent' to touch off the new database holy war.

Like most things, choosing a database on an ideological basis is probably not a good idea. As my grandpappy used to say "The right tool for the right job" (he didn't really say that, I'm just making things up).

Re: Why Quora uses MySQL rather than No-SQL

#40
post #33

Earlier quoted context omitted.

It's just inertia ... I am familiar and worked with both ... but I still chose Mysql over Postgres simply because I have more confidence that I can control it. That's partly because Mysql always was more user friendly, and I also attended one Mysql conference and got to know some people working on Mysql. That said, overall Postgres is better, with one exception ... Mysql supports multiple storage engines for various…

> That's partly because Mysql always was more user friendly Examples? I started with Postgres and ignored MySQL from day one because of MySQL's deficiencies, and have had 0 problems learning what I needed in the years I've used it. Not to mention I can read a general SQL reference, or the standard, and the information actually applies. Unlike MySQL (quotation marks anyone?). > That said, overall Postgres is better, w…

Marketing driven data. It starts already corrupted.
Post reply on HN