Slashdot Mirror


Locating the Real MySQL

An anonymous reader writes "In a blog post, Patrick Galbraith, an ex-core engineer on the MySQL Server team, raises the question: "What is the official branch of MySQL?" With Monty Widenius having left Sun and forked off MySQL for MariaDB, and Brian Aker running the Drizzle fork inside of Sun, where is the official MySQL tree? Sun may own the trademark, but it looks like there is doubt as to whether they are still the maintainers of the actual codebase after their $1B acquisition of the code a year ago. Smugmug's Don MacAskhill, who is the keynote at the upcoming MySQL Conference, has commented that he is now using the Percona version of MySQL, and is no longer relying on Sun's."

36 of 335 comments (clear)

  1. PostgreSQL by mlwmohawk · · Score: 5, Informative
    1. Re:PostgreSQL by Reality+Master+201 · · Score: 5, Insightful

      Hey, maybe people have a reason to use MySQL - a product that only supports that db, or developers who aren't particularly familiar with what relational databases are supposed to be like.

    2. Re:PostgreSQL by __aasqbs9791 · · Score: 4, Interesting

      Why do you like it so much? Is it faster with large datasets? Does it support backups/replication/some other great to have feature?

      I'm pretty familiar with MySQL, but I've been thinking about branching out to PostgreSQL lately as I've seen a few jobs that prefer it. I'd just like some real reasons why I should prefer it, as well as any "gotchas" that might be important for a MySQL user to know. I've never had a problem with MySQL, but most of the projects I've used it on have been fairly small.

    3. Re:PostgreSQL by larry+bagina · · Score: 4, Insightful

      ACID :).

      I prefer postgresql because of the stored procedures, triggers, rules, plpgsql, etc.

      MySQL 5 sort of has some of that now, but when I las t used it (MySQL 4), I ended up trying to half-ass implement that stuff client side. Postgresql makes it easier to do it right.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    4. Re:PostgreSQL by rackserverdeals · · Score: 5, Interesting

      One of the reasons I like PostgreSQL is it is more like Oracle.

      If you're doing a migration from Oracle, especially one that has a lot of pl/sql functions. Here's some good advice for converting pl/sql to pl/pgsql.

      Also, going from PostgreSQL to Oracle seems easier as well. With PostgreSQL you can use more Oracle like features so if you need to move to Oracle, you can take advantage of some of it's advanced features instead of migrating simple tables and sql statements.

      Sun was actively involved with PostgreSQL before they bought MySQL. I was really dissapointed with their decision, especially at the price.

      My guess is they weren't really buying MySQL for the technology, they were buying it for the community. Overnight, a ton of MySQL users and developers were part of Sun's open source community. Building communities takes time and Sun was having a hard time doing it with some of their projects.

      All it seems they did though is fund MySQL forks. Kinda messed up for the MySQL developers to do that but we don't know all the details.

      $1 billion dollars could have funded a lot of improvements to PostgreSQL better clustering, replication, visual tools, and more. A better PostgreSQL could hurt Oracle more than buying MySQL. After Ellison announced he'd be moving his developers from Solaris workstations to Linux workstations, it could have been a nice comeback.

      It also seems that the switch form solaris to linux might not have been developer driven. Even MS knows you have to keep your developers, developers, developers happy.

      --
      Dual Opteron < $600
    5. Re:PostgreSQL by carlzum · · Score: 4, Informative

      The latest version of each have brought the two much closer in terms of performance and features. Historically, MySQL has been regarded as faster for simple querying and DML statements, but lacked full ACID compliance. PostgreSQL supported more advanced features like a PL/SQL style procedure language, transaction support, and data compression.

      Today, the big difference is PostgreSQL is considered better on higher-end hardware with concurrent I/O support and better multi-core support. MySQL is considered better on clusters of lower-end hardware. There is a Wiki comparing the two in much better detail.

      Personally, I work with both in large production systems and can fill a few pages on likes and gripes. I'm on MySQL 4.1, so concurrency is a concern, and PostgreSQL's replication is a pain. Unless you're trying to solve a problem MySQL can't satisfy, I wouldn't switch for the sake of change. Your time is probably better spent upgrading to MySQL 5.1.

    6. Re:PostgreSQL by greg1104 · · Score: 5, Informative

      The Oracle pl/SQL -> PostgreSQL pl/pgSQL link you suggested was from PostgreSQL 7.1, pretty ancient at this point. PostgreSQL 8.3 Porting from Oracle is a current resource.

    7. Re:PostgreSQL by coryking · · Score: 4, Insightful

      And if there is a problem, it's well-documented.

      Good luck finding it. MySQL has horrible documentation. The whole structure of it is a mess.

      Plus, when you say "and if there is a problem, it is documented". Yeah, that is great, but most of the "well-documented" problems are long-standing bugs for insanely stupid shit.

      It does make me laugh though, because honestly, I agree that mysql is well documented. Every random question I google for usually has a hit. And funny enough, the top listing is usually a page here--failing that, at least on the first page of results.

      Why would I choose use anything else?

      Because you know better.

    8. Re:PostgreSQL by rackserverdeals · · Score: 4, Informative

      Early on, PostgreSQL focused on complete implementation and correct behavior over speed, then worried about adding speed later. MySQL focused on speed, and worried over correctness and completeness later. Since then, PostgreSQL has sped up a lot, and MySQL has shaped up in implementation completeness. But it won't surprise me if PostgreSQL still has a few extra features.

      This comparison of PostgreSQL vs MySQL is on PostgreSQL's wiki but it seems very fair.

      The most interesting bit is this:

      It is worth observing that the database engine is part of the core of PostgreSQL, whereas InnoDB is a dual-licensed product presently licensed from Oracle Corporation. It is uncertain how Oracle may alter InnoDB in the future as they act in competition with MySQL AB, whereas PostgreSQL has no such conflict of interests. MySQL AB has been working on a new database engine core called Falcon in order to free themselves from this situation, but historically developing a database core engine that is both fast and reliable has required many years of work and testing before a mature product suitable for production use is available. Initial benchmarks suggest Falcon has plenty of rough edges that need to be addressed.

      The forking of MySQL is going to split resources and creating that replacement for InnoDB may take longer.

      --
      Dual Opteron < $600
    9. Re:PostgreSQL by rackserverdeals · · Score: 4, Funny

      I don't know why this is marked as Funny... there are far too many programs or even webapps (PHP ones in particular) that only work with MySQL.

      The problem is that the Funny mod can't differentiate between when someone is laughing with you or at you.

      --
      Dual Opteron < $600
    10. Re:PostgreSQL by wolfie123 · · Score: 4, Informative

      Why do you like [PostgreSQL] so much?

      The reason we use PostgreSQL instead of MySQL at work is mainly because the JDBC drivers for MySQL are GPL licensed, while Postgres' isn't.

      --
      I am convinced that I can always be convinced otherwise.
  2. MariaDB link is incorrect by Matchstick · · Score: 4, Informative
    1. Re:MariaDB link is incorrect by grantek · · Score: 4, Funny

      If they can't find the real MySQL, sounds like they need a unique identifier with an index...

  3. Selling an open-source software business? by MrEricSir · · Score: 4, Interesting

    This calls into question whether it's viable to sell a business based on open-source software.

    What did Sun buy exactly? Sales and support?

    --
    There's no -1 for "I don't get it."
    1. Re:Selling an open-source software business? by syousef · · Score: 5, Funny

      What did Sun buy exactly? Sales and support?

      A bridge!

      Hello Mr Sun CEO, I have a bridge here to sell you! Best deal you'll ever make. Pinky swear.

      --
      These posts express my own personal views, not those of my employer
    2. Re:Selling an open-source software business? by tsalmark · · Score: 5, Funny

      For $1B I'd say it's plenty viable to sell an open source business. Buying one on the other hand may be open to debate.

    3. Re:Selling an open-source software business? by ximenes · · Score: 4, Informative

      For the database server itself, there is no difference between MySQL Community Edition and MySQL Enterprise Edition besides the release schedule. The community edition (aka the regular one everyone uses) has been pared down to 4 releases a year, which are cherry picked from the enterprise releases.

      However, the source is completely available for the enterprise releases, and you are able to compile and install them yourself. This is what Percona is doing, for instance (plus some other patches).

      With that said, MySQL has other software that comes along with the enterprise edition that is not open sourced to my knowledge. A query analyzer, monitoring, and other goodies. Personally I prefer to find their equivalents in the open source world, but I'm sure some people buy and use these packages.

  4. Not a good precedent by syousef · · Score: 5, Insightful

    I don't have any idea what the politics behind all this is, nor do I have enough interest to look it up, but it seems to me that if a company pays $1B for code, then it forks left and right and they're left with nothing but yet another version, that's not going to exactly be a good advertisement for investing in open source. While this outcome is much better than a closed source application being killed off, it still would have been much better if differences could have been worked out and Sun had something for their money.

    --
    These posts express my own personal views, not those of my employer
  5. Allow to say: by drolli · · Score: 4, Informative

    While i am *not sure* of the details, i am pretty sure that SUNs lawyers did not forget to make very definite regulations for maintainers leaving, forking of etc. As far as i undrstood, sun bought the code *and* the rights. As many people dont understand GPLed code still has an owner. Independent of that mysql may still be a trademark.

    So the standard (GPL) way is to rename the project and add the staement that you modified it which *somehow* makes it different from the "official" branch (to define that, that is the branch which does not carry the notice that it was modified and which is published under the prior, maybe (tm)ed, name).

  6. Enough already! by Wee · · Score: 4, Informative

    And now pretend that you are, like many thousands of other people, hosted in a place that doesn't offer it. Or run software which can't talk to it. Or have staff who aren't trained in its use or upkeep. Or... a hundred other things.

    Enough with the knee-jerk elitism. MySQL is just fine for quite a lot of tasks, and the article isn't about the religious battle between DB packages.

    -B

    --

    Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.

    1. Re:Enough already! by digitalunity · · Score: 4, Informative

      It's not a religious battle, it's about using the best tool for the job. MySQL may be very easy to setup, but just fyi, PostgreSQL is a snap to set up now on Windows or Linux.

      Looking for reasons to use PostgreSQL?
      Much better index support.
      Kerberos or LDAP access controls.
      Better native Unicode support.

      If you're hog-tied to MySQL because of your software, well so be it. But if you have a choice, the winner should be fairly obvious.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    2. Re:Enough already! by einhverfr · · Score: 5, Interesting

      Actually the subject is how your data is supposed to be used.

      MySQL users see the database as a program persistance layer. I am not sure WHY they are using something that pretends to be a relational database, but they are. It is the single-app approach (one app, one database).

      The PostgreSQL crowd sees data and application as being separate issues. The data in theory should be able to be managed in any of a hundred different applications, all hitting the same database, without causing the nightmares in QA that this sort of thing creates in MySQL.

      So is the program what is important? Or is the data there to be used by many programs?

      MySQL works OK for one-app databases and many people think that is all that is needed. It breaks down outside that area, however.

      --

      LedgerSMB: Open source Accounting/ERP
    3. Re:Enough already! by iluvcapra · · Score: 4, Insightful

      An "Elite" is a person or group that have superlative skills an ability, and are granted enhanced social status on account of this, to wit "I'm good at what I do therefore I should lead/be popular/be recognized." This is probably tolerable.

      "Elitism" is a dysfunction where a person or group uses enhanced social status to asserts superlative skill and ability in order to justify their social status and to exclude others. "I'm popular/leading/recognized therefore I am good at what I do therefore I should lead/be popular/be recognized and there ain't no way those dirty punks over there are as good as us, after all they aren't as popular."

      --
      Don't blame me, I voted for Baltar.
    4. Re:Enough already! by coryking · · Score: 5, Interesting

      The RMDBS crowd sees data and application as being separate issues.

      You forgot to broaden your scope. Otherwise, you are correct.

      Your database is almost literally your company. It should reflect your way of doing business--any moderately skilled developer should be able to walk into an orginization they know nothing about and using only the database schema, infer pretty much what the company does, and how it does it.

      You can always fix flawed software design, but it is almost impossible to fix a flawed database design. Do your database wrong, the growth of your company will be hindered. Do it right, and your company will flourish. No joke.

    5. Re:Enough already! by |DeN|niS · · Score: 5, Informative

      i asked you a valid question, how does innodb not maintain referential integrity? you bring up myisam. i didn't mention myisam. i know myisam isn't ACID. i asked you how innodb isn't. and as for error reporting, http://dev.mysql.com/doc/refman/5.1/en/error-handling.html. so again, how does innodb not take referential integrity and error reporting seriously?

      Well, how about completely ignoring the "REFERENCES othertable(othercolumn)" syntax for foreign key constraints without as much as a warning in even the strictest mode, leaving you without referential integrity without any way of knowing?

      Or from the manual: "By default, the binary log is not synchronized to disk at each write. So if the operating system or machine (not only the MySQL server) crashes there is a chance that the last statements of the binary log are lost. To prevent this, you can make the binary log be synchronized to disk after every Nth binary log write, with the sync_binlog global variable (1 being the safest value, but also the slowest)."

      So InnoDB still defaults to non-ACID behaviour, but it doesn't stop there yet:

      More from the manual: Even with [sync_binlog] set to 1, there is still the chance of an inconsistency between the tables content and the binary log content in case of crash. [...] This problem can be solved with the --innodb-safe-binlog option (available starting from MySQL 4.1.3), which adds consistency between the content of InnoDB tables and the binary log. For this option to really bring safety to you, the MySQL server should also be configured to synchronize to disk, at every transaction, the binary log (sync_binlog=1) and (which is true by default) the InnoDB logs.

      Another option if you want ACID. Oh wait, there's a 3rd, since binlog defaults to off so you need to enable that too. Three options have to be changed from their defaults to get durability after each and every single commit (when we're talking databases, that's kind of what I expect. If you don't, that's fine, but we're not talking about the same thing then)

      , are you referring to companies like google, yahoo, or alcatel-lucent? need i really go on?

      Stick to apples-apples comparisons. None of those companies are using MySQL as a relational database (say, doing their accounting in it or trusting their business on it), sure Google uses it as a memory-only non-transactional clustered datastore with an SQL query interface, after having put in a lot of patches to make that work, but so what? Yes, use it for that, sure use MyISAM for your blog, but when we're talking about a proper relational database where "commit" means the data is stored, where a foreign key means a foreign key and where you would run your core business on it then stick to those cases where it's actually used as such. A better example for that is Skype, which runs its entire operations from buddylists to billing on Postgresql.

    6. Re:Enough already! by |DeN|niS · · Score: 4, Insightful

      So you want the column to be NOT NULL, and yet you can't be bothered to tell the db your desired default value for that column. What EXACTLY do you expect the database to do ?

      What kind of weird argument is that? Yes I want the column to be not NULL, but why on earth would you just assume that therefore there must be some default value that's acceptable? What if it's also a unique column?

      when you say "NOT NULL" as such, PostgreSQL makes it "NOT NULL DEFAULT NULL" which means that yes, it's going to not allow you to INSERT anything that is NULL and you MUST specify some valid value. That certainly does not imply that a sane default exists, and IF it did, I would have just specified it myself in the first place.

      Now a "proper" db might just moan at table creation time that you're trying to do something silly, whereas MySQL assumes you are silly and inserts it's own suggested default.

      There is nothing silly about having a NOT NULL column with no default (i.e. default is NULL so not allowed). It is a FEATURE of the database to stop me when I have some bug in my code trying to insert a NULL there, just like it is to stop me from inserting a duplicate value, or violate any other constraint I have set.

      Inserting its own suggested default is completely braindead, when I say NOT NULL DEFAULT NULL I want the database to enforce that, and to force me to provide proper data. Period. Putting 0 or '' or 0000-00-00 there is retarded, and it's a complete MySQL-ism.

  7. Will the real MySQL by altek · · Score: 5, Funny

    please stand up?

    --
    THE MAGIC WORDS ARE SQUEAMISH OSSIFRAGE
    1. Re:Will the real MySQL by Arslan+ibn+Da'ud · · Score: 4, Funny

      The real MySQL has learned the first lesson of not being seen: not to stand up.

      --

      Practice Kind Randomness and Beautiful Acts of Nonsense.

    2. Re:Will the real MySQL by VGPowerlord · · Score: 4, Funny

      Hi, my name is
      What, my name is
      Who, my name is
      My Sequel.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  8. The real MySQL is... by wandazulu · · Score: 5, Insightful

    ...whatever is at www.mysql.com. Look, I'm not trying to be flippant, but when I'm trying to sell the boss on FOSS solutions, I need to send him a link to a site that will give him the warm-fuzzies that demonstrates that a. the tech is solid (typically mention Wikipedia for that one) and b. it's not some fly-by-night operation that will suddenly up and disappear.

    I'm not trying to put the other projects down, and I can appreciate why they exist, but this is the exact reason I'm always being laughed out of meetings where they decide to buy an Oracle license, or a Microsoft OS, those guys have the message down (i.e. marketing).

    I'm trying to be the in-house cheerleader for what can be done in the free/open-source communities and mixed messages just don't fly to a boss who barely skims the executive summary of whatever glossy lands on his desk any given day.

    1. Re:The real MySQL is... by digitalunity · · Score: 4, Insightful

      As someone who has extensive hands-on use of Oracle eBusiness, I can say it's a steaming turd with some authority. Having a vertical CRM/order management/invoicing/everything stack is an easy sell to managers, but what they don't realize is it requires significant effort to align it with your business model.

      In short, Oracle is designed to sell and it does work, but only well if you're prepared to spend a fortune implementing it.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    2. Re:The real MySQL is... by digitalunity · · Score: 4, Informative

      For starters, the database schema is extremely complicated, much more so than is necessary for most companies. The web interface to eBusiness isn't too bad, although even on big iron it is still pretty slow for a lot of filter and search operations.

      The web-launched Java interface takes a LOT of resources per instance; it's very slow on a typical desktop computer. The java interface is MDI, whereas separate windows would be quite a lot easier for users to use. It's also single threaded, meaning one blocking MDI child window blocks the entire eBusiness instance. Clicking the List of Values[...] object is scriptable and in some situations isn't very intuitive. In some cases it will not check the associated field or entered text first, meaning it performs a wildcard search. If done in a field that is populated with hundreds of thousands of records, this can block your eBusiness for 10 or 20 minutes. There is no "break" either, you let it run or you kill it and lose whatever didn't have saved in other MDI children windows.

      This is just a short list. There are a lot of reasons Oracle eBusiness is a huge frustration for users and developers.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    3. Re:The real MySQL is... by the_womble · · Score: 4, Funny

      a. the tech is solid (typically mention Wikipedia for that one)

      So do you edit the Wikipedia page just before you tell your boss look at it?

  9. Database software? by Anonymous Coward · · Score: 5, Funny

    What, haven't you people heard of Access??

  10. What Sun bought -- by reiisi · · Score: 4, Insightful

    I think what Sun was trying to buy was a little more respect from the open source community.

    (At least, that's what I would prefer to think. There is a distinct possibility that that purchase price was heavily subsidized by a certain large company who is quite aware that the best way to kill a technical project is to feed it huge amounts of money.)

    Yeah, they went way too far overboard, of course, to actually get that respect.

    But, "'e's not dead yet."

    Setting aside the brainless rumors of Sun being bought, if I found myself in charge of making the purchase meaningful, I'd be looking at spinning MySQL back out into an independent company and bringing back as many of the guys who built it as they can. Add a couple of developers with other, non-MySQL, database experience to the team, of course, but give control back to the original developers.

    Also, don't ask the original developers to give up their independent products.

    The MySQL project needed fresh ideas, and this could be one way to bring fresh ideas in. It'd take a long time to get real return on what they invested, but it would be better than blowing away the whole investment.

    Anyway, even if the main branch dies, there will likely be some useful development from the forks.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  11. Where is the confusion? by QuietLagoon · · Score: 4, Funny

    MySQL resides with Sun. Period. End of discussion.