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.'"

37 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:Oracle needs to cater to business not the commu by houstonbofh · · Score: 4, Interesting

    Point taken... The do not need to provide the wining fork, just support it. They actually have a cost advantage if the winning fork is developed by someone else. The downside is that they can't just merge the open code back into the commercial database, and that is a significant downside.

  3. 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.

  4. 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.

    1. Re:Fork it by h4rm0ny · · Score: 4, Interesting


      I got a +5 funny post once.

      When I was being serious. :(

      --

      Aide-toi, le Ciel t'aidera - Jeanne D'Arc.
    2. Re:Fork it by derGoldstein · · Score: 4, Informative

      Just once? I usually get modded "funny" when I'm serious, and "informative" when I'm joking.

      Most /. mods are very bored individuals. It gives them something to do. They're not like us, the /. posters, who are intelligent, thoughtful, handsome, and socially adept.

      --
      Entomologically speaking, the spider is not a bug, it's a feature.
  5. Re:Oracle needs to cater to business not the commu by Anonymous Coward · · Score: 4, Interesting

    Funny you should say that. We're working on dumping Oracle licenses where they're not needed in favor of MySQL. That was going to be expanding our Sun support contract. Oddly enough - it might end up expanding our Oracle contract. That is, unless Oracle gives us reason to look elsewhere for MySQL support.

  6. 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
  7. 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.

  8. 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.

    1. Re:Not as serious... by dvice_null · · Score: 4, Interesting

      > The forks are GPL. Therefore, if Oracle wishes, they can just cherrypick the best patches from all forks

      They can. But then they can't dual license it anymore as they don't own copyright for the whole source.

  9. 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 diegocgteleline.es · · Score: 4, Informative

      Postgresql has a terrible marketing and image, mysql doesn't.

    2. 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.

    3. 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.

    4. 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.

  10. 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.
  11. 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 Carnildo · · Score: 4, Informative

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

      MySQL does?

      In comparison? Yes. When you're doing simultaneous writes from multiple threads, SQLite's lack of fine-grained locking kills performance.

      A couple of months back I did some benchmarking of MySQL and SQLite3 as possible storage backends for a website. The test load was a task consisting of two SELECTs, an UPDATE, and an INSERT. With only one or two simultaneous clients, SQLite3 was faster. With three clients, they were tied. At 50 clients, SQLite3 was taking over 100 times longer than MySQL.

      --
      "They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
    3. 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.
  12. 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
  13. Re:Cue postgres fan bois by houstonbofh · · Score: 4, Insightful

    Both MySQL and PostgreSQL are junk compared to Microsoft SQL Server.

    No, that's YourSQL.

    No, it's Bill's SQL.

  14. Re:Already Planning my project for MariaDB by tnk1 · · Score: 4, Interesting

    I'd hope that in the short to mid term, neither side of the fork introduces something that would make either one become incompatible. That may happen eventually, but I think if one side does that too soon, it will be the end of their fork.

    I think a fork here is certainly an appropriate action, but I hope that the ODA people don't go so far down the "we're not Oracle path," that they end up on the wrong side of existing users.

    I personally support well over a hundred major MySQL installations right now which serve content, and my company operates hundreds more. So, obviously, any talk of divided support makes me uneasy.

    In the short term, we're likely to stay with the official MySQL, but we are very interested in not getting stuck in vendor lock-in or abandonment. We definitely are trying to get away from Sybase and Oracle DBs as much as possible, so the Oracle purchase concerns me. As long as we don't have to re-code to move to Maria, it will always remain an option.

    And who knows, if its faster and better, it may be a no-brainer to switch to it even if MySQL does not get marginalized or subverted. Still, that is only something that is going to happen after a full evaluation period with both sides of the fork. In the meantime, they need to be interchangeable enough so all my code on one works on the other. I cannot stress that enough.

  15. 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...

  16. Oracle doesn't care by Reality+Master+201 · · Score: 4, Insightful

    Oracle doesn't care about losing the trust of the MySQL community. They already have a database to sell; they're probably more interested in the vertical integration with OS, hardware, and programming language tools.

    I wouldn't be surprised if they were happy to sell the MySQL business unit, or kill it completely.

  17. Re:Cue postgres fan bois by Locke2005 · · Score: 4, Funny

    One thing I can say for SQL Server: it sure beats the hell out of Access!

    --
    I've abandoned my search for truth; now I'm just looking for some useful delusions.
  18. Re:Cue postgres fan bois by shutdown+-p+now · · Score: 4, Informative

    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.

    Perhaps it's because LIMIT isn't ANSI SQL? Before SQL-2008, you were supposed to use ROW_NUMBER() for that, which MSSQL does support. And no-one supports SQL-2008 yet.

  19. 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.
  20. 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
  21. Re:Cue postgres fan bois by ppanon · · Score: 4, Insightful

    OTOH, a dead project provides the ultimate stability

    Not when it comes to security vulnerabilities.

    --
    Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde. - Voltaire
  22. 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.

  23. Re:Oracle needs to cater to business not the commu by shish · · Score: 4, Informative

    Wikipedia

    Is 99% cached content, served as effectively static files

    Google

    Has some developers who have it installed; none of their major services are based on it

    Facebook

    According to the video of how it works, is basically a graph database, on top of a giant key:value table, on top of memcache, on top of mysql -- ie, they do their best to avoid actually hitting the database, and when they do, they only make use of the most basic functions (and it isn't even good enough for that, so they're working on a replacement)

    Twitter

    While large, it's hardly complicated in terms of database schema, and it /still/ falls over all the time :P

    The other sites, I've never seen any behind the scenes reports on.

    While "we have at least one copy of mysql installed somewhere in our organisation" is common, "we are using mysql as the central database for our heavily stressed mission critical systems, and it works great" is much rarer :-P

    --
    I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
  24. Re:Oracle needs to cater to business not the commu by Bill,+Shooter+of+Bul · · Score: 4, Interesting

    Facebook issues reports everynow and then, but its a moving target as most of the sites are. Somethings only scale so far. Facebook & Google seem to be on the Map Reduce train for the majority of their services. Yet, Google is one of the major third party contributers to Mysql, although its not clear exactly where they use it ( I've heard rumors of adwords being done via mysql). They've reported uptimes of 2-6 years ( for the whole stack Hardware, OS & Mysql under load) here

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
  25. Re:How healthy are forks? by shutdown+-p+now · · Score: 4, Informative

    And one more fork in the making that looks like it is going to have the same impact as XFree/X.org eventually, if not bigger: EGLIBC

  26. 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.
  27. Re:Cue postgres fan bois by Anne+Thwacks · · Score: 4, Interesting
    Both MySQL and PostgreSQL are junk compared to Microsoft SQL Server.

    Have they finally fixed date handling in MSSql server? Personally, I'd say MySQL and MSSql are junk compared to PostgreSQL, but that is just because I have used all three. (I have also used DB2 which beats all three, and Oracle, which is just annoying).

    --
    Sent from my ASR33 using ASCII