Slashdot Mirror


Has MySQL Forked Beyond Repair?

snydeq writes "Fatal Exception's Neil McAllister questions the effect recent developments in the MySQL community will have on MySQL's future in the wake of Oracle's acquisition of Sun. Even before Oracle announced its buyout, there were signs of strain within the MySQL community, with key MySQL employees exiting and forks of the MySQL codebase arising, including Widenius' MariaDB. Now Widenius' Oracle-less Open Database Alliance adds further doubt as to which branch of MySQL will be considered 'official' going forward. 'Forks are a fact of life in the open source community, and arguably an entirely healthy one,' McAllister writes. 'Oracle just better hope it doesn't end up on the wrong side of the fork.' To do so, he suggests Oracle will have to regain the the trust and support of the MySQL community — in other words, 'stop acting like Oracle.'"

20 of 334 comments (clear)

  1. Re:Cue postgres fan bois by danomac · · Score: 5, Insightful

    It's not so much fanboys. When you develop for something, you want to develop for a stable feature set. If there's going to be a dozen forks of a database, it becomes much more work to test all the versions and apply patches.

    It now makes far more sense to develop using a different DBMS.

    Note: I've never installed or used PostgreSQL.

  2. Re:Cue postgres fan bois by Moblaster · · Score: 5, Funny

    It is more accurate to characterize the recent burst of minor MySQL variations as a sporking of the code base.

  3. Fork it by sakdoctor · · Score: 5, Funny

    If I could only think up a cliched pun using the term forked, I would be sure to get the converted +5 funny mod.

    If only.

  4. Re:Cue postgres fan bois by mikael_j · · Score: 5, Insightful

    Clearly this is a troll but regardless of all other features that MSSQL may have that MySQL doesn't there is one thing that is missing: LIMIT. No, TOP is useless for a lot of stuff and the fact that LIMIT is missing results in lots of painful hacks with nested SELECTs and other crap in stored procedures.

    /Mikael

    --
    Greylisting is to SMTP as NAT is to IPv4
  5. What the fork? by Anonymous Coward · · Score: 5, Funny

    Just tell me which one to use for the salad, so my ignorance doesn't trip me up like it did with that bidet that one time.

  6. Not as serious... by Anonymous Coward · · Score: 5, Interesting

    This really isn't as serious as is implied. MySQL is GPL. The forks are GPL. Therefore, if Oracle wishes, they can just cherrypick the best patches from all forks and integrate them back into their codebase, community involvement or not. I expect MySQL to remain the official MySQL, unless it completely stagnates, simply due to name recognition if nothing else.

  7. PostgreSQL: Why don't people use it that much? by bogaboga · · Score: 5, Interesting

    I have always wondered why people do not use PostgreSQL that much. It is better than MySQL in terms of stability and scalability.

    You might wonder how I came to this conclusion. Well, I have used MySQL with MythTV and I have gotten sick and tired of corrupted databases/tables.

    I have a read a reviews of PostgreSQL's stability and scalability beyond two cores and have no doubts it is better than MySQL on this front, though there have also been crowds here at Slashdot who think MySQL is better. My experience suggests otherwise.

    1. Re:PostgreSQL: Why don't people use it that much? by Anonymous Coward · · Score: 5, Insightful

      Religious debate. Way back in the Olden Days, postgres was an unstable mess. Absolutely godawful. Corrupted databases, lost data, slow as moleasses, constant need to restore from backups. Completely worthless.

      At the same time, MySQL was fast, stable, fast, worked well enough, slightly feature incomplete, and fast.

      Those old stereotypes have stuck. MySQL nowadays? Actually pretty feature complete. PostgreSQL nowadays? Pretty stable and solid.

      But nobody updates their perceptions, so the old ideas shine through.

    2. Re:PostgreSQL: Why don't people use it that much? by vadim_t · · Score: 5, Insightful

      And then there's the increment functions. MySQL is a bit lacking, with only AUTO_INCREMENT and LAST_INSERT_ID. SQL Server has a similar setup to MySQL using IDENTITY(start, step) and SCOPE_IDENTITY(). But PostgreSQL uses that atrocious monstrosity of SERIAL data types and a damned Sequence object. And heaven help you if the Sequence gets out of sync. Your data is fucked at that point. The DB engine won't fix it. You aren't allowed to fix it. And the next time your app tries to use it, there's a good likelihood that it will lose data.

      There's no SERIAL datatype. It's simply a shortcut for creating a sequence, and is equivalent to saying "integer DEFAULT nextval('tablename_colname_seq') NOT NULL".

      Also, I'm feeling really curious about this, because:

      1. Why would the sequence get out of sync in the first place?
      2. If it does, why doesn't using nextval and setval work for fixing it?
      3. How will the app lose data? If somehow it generates the same number twice, any attempt to INSERT a row would simply fail.

      So please explain how you get what you said to happen.

    3. Re:PostgreSQL: Why don't people use it that much? by Ragica · · Score: 5, Interesting

      Funny, I just got back from the first day of PgCon 2009 (in Ottawa). One of the presentations I went to today was regarding OpenStreetMap's switch from MySql to PostgreSQL last month. I think theywould beg to differ about feature completeness. It was kind of sad looking at their schema: one could really sense the limitations of mysql they had to design around. Ouch. Apparently in the end it was lack of MyISAM transactions causing constant problems with their volume of updates combined with InnoDB's lack of text search (can't have your cake and eat it too, apparently) that pushed them over the edge.

  8. Re:Cue postgres fan bois by iluvcapra · · Score: 5, Funny

    When you develop for something, you want to develop for a stable feature set.

    Or in the case of MySQL, a featureset at all. I keed! I keed!

    --
    Don't blame me, I voted for Baltar.
  9. MySql by inKubus · · Score: 5, Interesting

    Personally it's just more of the same from MySql in general. MySql AB didn't do much of anything with it since 5.0 came out. They wasted a lot of time on a complete rebuild, on adding more features no one cared about. The thing about MyQql 5.0 is that it's really not a very good database. MyISAM sucks (but it is small and fast..) and InnoDB is bloaty. So I think that really MariaDB is going to be the future. Of the codebase. That is the nice thing about MySql is that really it's a wrapper around the Storage Engines. But the problem is the wrapper sucks. No kerberos/LDAP authenication?! What?

    I could see Oracle taking one of their open databases and adding a Mysql compatibility layer so basically you can run stuff designed for Mysql on Oracle. This is really their bread and butter already, they move legacy stuff off old UNIX and IBM databases into their DB. Look at all the gateways 9i had. MySql only implements a subset of what Oracle can do. And with no support for the more modern, more object orientated practices, along with trees, etc, I don't see MySql making it out of it's current place as a cheap small database for non-critical applications.

    That's not to say you can't make it quite stable and fast but it's not that out of the box. And the fact that 5.1 shipped with a crashing bug really makes me doubt Sun's desire to continue the brand. Which brings me to the forks, which are really the only thing keeping a stable 5.1 version alive out there.

    Postgres is really not a viable replacement because it's a database nerd's database. I like it, but the data analysts at work won't be able to deal with its quirks. It does do a lot, but not small and fast like MySql. It comes from a long line of great database researchers, all of whom are well known around the Valley. A lot of all the major players' databases in the valley are based on ideas from Ingres including Oracle.

    Personally, I think SQLite3 (4) is going to be the database of choice for small web hosts very soon. Small, portable, fast enough. At that point MySql will no longer have a purpose unless they can move into the middle tier dominated by MS-SQL.

    --
    Cool! Amazing Toys.
    1. Re:MySql by Just+Some+Guy · · Score: 5, Insightful

      SQLite is fast all right, but it doesn't scale at all.

      MySQL does?

      PostgreSQL scales well, but is fairly slow on average.

      Honestly, that hasn't been true in years.

      The thing with MySQL is that you were supposed to have both.

      And yet somehow ended up with neither.

      --
      Dewey, what part of this looks like authorities should be involved?
    2. Re:MySql by mcrbids · · Score: 5, Informative

      PostgreSQL scales well, but is fairly slow on average.

      Really? Because any recent review of Postgres shows that it stomps the pants off MySQL in all cases except very simple queries against very small tables. (And really, who gives a !@#% about that scenario?)

      Also....

      1) It's data validation is excellent.

      2) It's extremely stable. In YEARS of working with it, I've had ZERO integrity issues despite managing rather large data sets.

      3) Particularly important: it maintains good performance as the query complexity soars. While it can take a bit of tuning, I've done 12 table joins with combined inner, outer, and subqueries and millions of records, with an average return time of around 0.2 seconds. The statement alone was two pages, printed form, on a single-core Athlon 64 with ATAPI drives and 1 GB of RAM.

      4) It's FREE FREE FREE!

      5) It includes excellent near-realtime replication. (functionally analogous to MySQL replication, which is nice when it works, but since it usually doesn't, well...)

      1994 called. It wants its stale information back.

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
  10. Re:Oracle needs to cater to business not the commu by amicusNYCL · · Score: 5, Interesting

    Your company must be run by morons.

    Obviously. In fact, the people who run Wikipedia, craigslist, youtube, Slashdot, Apple, Cisco, Cray, Dell, Intel, HP, Motorola, NEC, TI, Xerox, Adobe, Symantec, Novell, McAfee, Citrix, Continental, Orbitz, Priceline, Amazon, ebay, Google, iStockphoto, Pricegrabber, Yahoo, ZipRealty, Linden, Audiogalaxy, Digg, del.icio.us, Facebook, Flickr, Freshmeat, LinkedIn, Photobucket, Stumbleupon, Twitter, and WordPress are clearly morons for using MySQL. These people don't know anything about databases.

    In fact, I'm pretty sure you're the only person who's not a moron.

    --
    "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
  11. Re:Cue postgres fan bois by Anonymous Coward · · Score: 5, Insightful

    Dude, maybe you should wake up: SQL Server supports ANSI SQL windowing function ROW_NUMBER() OVER (ORDER BY) and, of course, when you apply a predicate to the resulting row number all optimization are done.

    Then again if LIMIT is The Thing that make you choose a DBMS you may as well get a b-tree indexing library and play around with offset by yourself...

  12. Re:Knowing Oracle... by h4rm0ny · · Score: 5, Insightful


    That's an interesting point of view. I saw things slightly differently, so say what you think of my take on it. I agree that Oracle might not actually care so very much that they got a free MySQL when they bought SUN. But in so far as they do pay attention things, I would think they'd steer people away from PostgreSQL toward MySQL rather than the other way around. My reasoning is that there is a clear and significant gap between MySQL and Oracle DB. MySQL is never going to draw many customers away from using Oracle DB, and mostly the other way around as well. But I see the gap between PostgreSQL and Oracle as being much smaller, both in the capabilities of the two databases and the easier time you have moving from one to the other (in either direction). I think that makes PostgreSQL more of a threat to the Oracle install base and thus something they would prefer to keep people away from. Using MySQL as a stalking horse makes more sense to me. Thoughts? Matches the real world or too conspiracy?

    --

    Aide-toi, le Ciel t'aidera - Jeanne D'Arc.
  13. Re:Oracle needs to cater to business not the commu by growse · · Score: 5, Informative

    I've heard the arguments that postgres is as easy as MySQL, and they're bullshit.

    Lets see:

    Postgres has no good GUI applications that can compare with MySQL's

    Why you need more than one is beyond me. Isn't Pgadmin enough?

    their command line application is just as good in its own way

    Well, ok. Whatever 'in its own way' means.

    and the market share that ensures you need to google multiple times to find the info you're looking for.

    Postgres has some of the best documentation of any open source project I've seen. Sure, MySQL is good as well, but lets not spread bullshit here.

    Installing postgres is also a nightmare compared to MySQL.

    You mean in a download-the-msi-and-double-click-on-it way, or the apt-get-install-it way?

    To sum up: free > $millions, easy > full-featured (in many circumstances).

    Well, it's fully-featured, but not necessarily all of those features at the same time. Try doing full-text indexing on a database with foreign-keys on it in MySQL sometime.

    --
    There is nothing interesting going on at my blog
  14. Re:How healthy are forks? by Grishnakh · · Score: 5, Interesting

    The two biggest success cases are XFree86->X.org, and GCC->egcs->GCC. Both of these were resounding successes.

    XFree86 was widely criticized for moving too slow, not integrating enough new features, and having someone in charge that everyone hated. Finally, XFree86 instituted a license change that was incompatible with GPLed projects, so they forked it to X.org. All the best developers abandoned XFree86 and moved to X.org. Now, just about every Linux/BSD distro uses X.org, and no one pays attention to XFree86 any more. X.org has tons of updates, improvements, and additions which were being held back by the XFree86 leadership.

    GCC has a similar story, though it's a few years older. gcc was getting decrepit, so a new renegade team started egcs. This incorporated new features, revamped the codebase, etc., and eventually everyone was using egcs instead of gcc. Finally, the gcc team just disbanded as they were no longer relevant, and egcs was renamed to gcc.

    Of course, there's probably some cases of forks where the forked version went nowhere, and no one remembers it. But that doesn't matter, as it didn't hurt to have the fork (except the guy who started the fork, and ended up wasting his time on it, but that was the risk he took).

    Forking generally works extremely well. The ability to fork keeps projects competitive and responsive, lest some pissed-off developers decide to fork it. It keeps maintainers from becoming dictators who only hinder the project's development, instead of fostering it, because it allows the developers to take control away from the maintainer when they've had too much.

    It's too bad companies can't work more like this. There's plenty of companies where the company's owners or management are idiots and drive the company into the ground, and all that work wouldn't be lost if the employees could stage a coup, so to speak, and take over. Since software can be copied at zero cost, and OSS licenses allow forking, this can and does actually happen in the open-source software world.

  15. Re:Cue postgres fan bois by maxwell+demon · · Score: 5, Insightful

    OTOH, a dead project provides the ultimate stability

    Not when it comes to security vulnerabilities.

    OTOH, a dead project provides the ultimate stability

    Not when it comes to security vulnerabilities.

    It's stable in respect to security vulnerabilities as well. No need to create new exploits just to keep your malware compatible.

    --
    The Tao of math: The numbers you can count are not the real numbers.