Forgot your password?
typodupeerror
Databases Facebook Data Storage

Facebook Trapped In MySQL a 'Fate Worse Than Death' 509

Posted by timothy
from the cake-or-death-or-trapped-in-mysql dept.
wasimkadak writes with this excerpt from GigaOM: "According to database pioneer Michael Stonebraker, Facebook is operating a huge, complex MySQL implementation equivalent to 'a fate worse than death,' and the only way out is 'bite the bullet and rewrite everything.' Not that it's necessarily Facebook's fault, though. Stonebraker says the social network's predicament is all too common among web startups that start small and grow to epic proportions."
This discussion has been archived. No new comments can be posted.

Facebook Trapped In MySQL a 'Fate Worse Than Death'

Comments Filter:
  • "We're so new" (Score:5, Insightful)

    by michaelmalak (91262) <michael@michaelmalak.com> on Saturday July 09, 2011 @10:44AM (#36704360) Homepage

    I love the snippets "After all, he explained, SQL was created decades ago before the web, mobile devices and sensors forever changed how and how often databases are accessed" from the article and "We’ve been using stonge age technology to solve problems that didn’t exist 30 years ago." Yes, the problems existed 30 years ago, such as (land-line) telephone billing. I don't know how those problems were solved -- probably with a mainframe and a custom non-SQL database and not a PC running a SQL-based server -- but they were solved.

  • by tyler_larson (558763) on Saturday July 09, 2011 @11:03AM (#36704480) Homepage

    Academic purist discovers that one of the most prolific and successful database users in the world is using a system he doesn't approve of. He decides, with no insider knowledge at all, and despite all evidence to the contrary, that they should throw everything away and start over from scratch using a system that he thinks would allow them to see the performance and scalability that they've already achieved.

    Presumably he's tired of Facebook being used as a counter-example to everything he's been preaching.

  • by jjohnson (62583) on Saturday July 09, 2011 @11:05AM (#36704492) Homepage

    A minor difference that exists in 4,000 instances and who knows how many places in the code that's also distributed across multiple servers, isn't minor, especially when there are hundreds or even thousands of minor differences.

    And no, the differences in SQL between Oracle and MySQL aren't minor. It's not just syntax, and it's not MySQL-can-Oracle-can't. It's the performance characteristics of various queries, the logic of how they're implemented, and the incredible investment in configuring a large cluster to work smoothly (which MySQL and Oracle do extremely differently. Large scale systems add a layer of complexity all their own that's a totally separate engineering challenge.

    Short version: Switching from MySQL to anything else would be the equivalent to a ground-up rewrite, though this is largely true of any database system. MySQL hasn't somehow uniquely trapped them here.

  • by NeoMorphy (576507) on Saturday July 09, 2011 @11:09AM (#36704514)

    If you wan't to start a fun/interesting project that you didn't expect any revenue from, it would make more sense to use free software. MySQL is a popular choice for web applications and there is a lot of freely available documentation and examples available. Many people have been successful doing it, so it's a proven path that works.

    Oracle is expensive. It would have cost a fortune to start Facebook with Oracle, and I can't imagine what it would cost them now. But even if they have to hire a ton of experts to convert to Oracle( assuming that is the best thing to do...) They can probably be funded by the money saved by not using Oracle over the past couple of years.

    Maybe Oracle would have been a mistake, there are companies migrating from Oracle to DB2/DB2 to Oracle/Oracle to Sybase/Sybase to MySQL/Mainframe to AIX/AIX to Solaris/Solaris to Linux/etc.. It seems like nobody can agree to the best hardware/OS/database solution, but there are plenty of people who swear that the solution they know is the best one.

  • by tommeke100 (755660) on Saturday July 09, 2011 @11:13AM (#36704534)
    If anything, it's a success story for MySQL.
  • by GooberToo (74388) on Saturday July 09, 2011 @11:23AM (#36704628)

    Yes and no. There is ANSI SQL. PostgreSQL is probably one of the more compliant databases and is by far one of the more portable solutions. But even that is iffy.

    MySQL is on the other end. MySQL is well known for being non-compliant, teaching very poor SQL code, offering minimal SQL compatibility and lowest common denominator features to achieve the same goal. That's also why, contrary to the lies and marketing hype, MySQL is almost always one of the slowest and least scalable solutions of any generally available SQL RDBMS.

    Generally speaking, if you think MySQL is a good solution, there is almost always a better solution available. Far too often, vast ignorance, huge ego, and massive pride prevent people from considering alternative database solutions and their ignorance of the domain allows them to quickly become self assured they've picked a winner. Sadly, their self assurance is typically masked by their massive ignorance of the problem domain. And rather than validating they've picked a winner, they've only confirmed they should never be in a position to be selecting a RDBMS solution in the first place. But when people point this out, their pride and and ego assures them that any counter argument is anti-MySQL and elitism rather than a valid warning to stay away.

    I'm sorry, but unless you're positive your project is a toy project and will always remain so, it is extremely unlikely MySQL can be justified for a project. Bluntly, for the vast, vast majority, MySQL is the choice of the uneducated and ignorant. And as a rule of thumb, simply picking any other solution than MySQL means you are in fact, better than the next would-be MySQL user.

  • by kimvette (919543) on Saturday July 09, 2011 @11:32AM (#36704706) Homepage Journal

    So hurray for MySQL. They saved 45-minutes during their installation on day one and now they'll spend a year or two plus millions of dollars to move away from their extremely dumb and uneducated decision. That's got to be one of the most expensive 45-minutes on earth - and yet its one of the single biggest decisions which MySQL users defend on a daily basis.

    IMHO it was a bargain - MySQL has worked up until now, it is still working, so as far as I am concerned that's a big success story for such a low-end free/free database - and it was a choice they made based on what they already had skills in and it enabled them to earn billions, so it was a very smart, inexpensive way for them to get started. Now for Facebook, spending a few million to get on to big iron is cheap money, whereas back in the day spending a week or two to really learn the ins and outs of Postgres or spending thousands on Oracle could have prevented them from surviving in the first place.

  • by rgmoore (133276) <glandauer@charter.net> on Saturday July 09, 2011 @11:33AM (#36704712) Homepage

    No, he's not an academic purist; he's a businessman who's selling a product that competes with MySQL. So he's trying to convince web startups to pay a bunch of money for his product rather than rely on free MySQL because he claims it will help them scale better than Facebook. IOW, businessman trashes competitor's product, claims you should buy from him instead. Nothing to see here.

  • by DragonHawk (21256) on Saturday July 09, 2011 @02:14PM (#36706164) Homepage Journal

    Geez, GooberToo, did a MySQL developer kill your father or something? You've posted two giant rants about how MySQL is so unsuitable for anything that it can't possibly work for any serious project. You make it sound like simply installing MySQL causes a server to immediately explode.

    You *are* aware that Facebook, Slashdot, Wikipedia, and many other sites use MySQL, yes? Maybe there are better choices (more likely, there are different tradeoffs, but whatever), but MySQL works well enough to power some of the most popular websites in the world. Proof by existence that what you claim is inaccurate.

  • Re:Maybe... (Score:4, Insightful)

    by shutdown -p now (807394) on Saturday July 09, 2011 @05:11PM (#36707298) Journal

    Um, RTFA? It's not a pitch for Oracle. In fact, it's a rant against SQL in general. Quote:

    In Stonebraker’s opinion, “old SQL (as he calls it) is good for nothing” and needs to be “sent to the home for retired software.” After all, he explained, SQL was created decades ago before the web, mobile devices and sensors forever changed how and how often databases are accessed.

    Sounds like the usual NoSQL FUD, right? But wait, there's more here:

    Stonebraker thinks sacrificing ACID is a “terrible idea,” and, he noted, NoSQL databases end up only being marginally faster because they require writing certain consistency and other functions into the application’s business logic.

    Right... so what then? More magic buzzwords to the rescue!

    But Stonebraker — an entrepreneur as much as a computer scientist — has an answer for the shortcoming of both “old SQL” and NoSQL. It’s called NewSQL or scalable SQL ... Pushed by companies such as Xeround, Clustrix, NimbusDB, GenieDB and Stonebraker’s own VoltDB, NewSQL products maintain ACID properties while eliminating most of the other functions that slow legacy SQL performance. VoltDB, an online-transaction processing (OLTP) database, utilizes a number of methods to improve speed, including by running entirely in-memory instead of on disk.

    Now the article is pretty light on details regarding what is that "new" SQL, and Googling around doesn't really help. So far, to be honest, it sounds more like a bunch of DB makers have ganged together and came up with a nifty word to market their products against Oracle, DB2, MSSQL, Postgres etc - if it's "new" it must be good, right?

Help me, I'm a prisoner in a Fortune cookie file!

Working...