Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Locating the Real MySQL

Posted by kdawson on Mon Mar 30, 2009 06:58 PM
from the place-your-bets dept.
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."
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • PostgreSQL (Score:5, Informative)

    by mlwmohawk (801821) on Monday March 30 2009, @07:00PM (#27395883)

    http://www.postgresql.org/ [postgresql.org]

    Just saying.

    • Re:PostgreSQL (Score:5, Insightful)

      by Reality Master 201 (578873) on Monday March 30 2009, @07:08PM (#27395977) Journal

      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.

      • Re: (Score:3, Informative)

        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.

        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.

        • by rackserverdeals (1503561) on Monday March 30 2009, @10:27PM (#27397511) Homepage Journal

          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.

        • Re:PostgreSQL (Score:5, Insightful)

          by coryking (104614) * on Monday March 30 2009, @10:07PM (#27397375) Homepage Journal

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

          Good luck finding it. MySQL has horrible documentation [mysql.com]. 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 [google.com] I google for usually has a hit. And funny enough, the top listing is usually a page here [mysql.com]--failing that, at least on the first page of results [google.com].

          Why would I choose use anything else?

          Because you know better.

    • Re:PostgreSQL (Score:4, Interesting)

      by LWATCDR (28044) on Monday March 30 2009, @07:10PM (#27395999) Homepage Journal

      It really is a very good database. I just hope more projects start using it. And that more hosting companies will as well.
      I am pretty sure that that MySQL still has better client slave replication "Like Slashdot uses" than Postgres. But I could be wrong.

    • Enough already! (Score:5, Informative)

      by Wee (17189) on Monday March 30 2009, @07:11PM (#27396019)
      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
      • 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.

        • Re:Enough already! (Score:5, Interesting)

          by einhverfr (238914) <chris.travers@gmail.com> on Monday March 30 2009, @07:38PM (#27396279) Homepage Journal

          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.

          • Re:Enough already! (Score:5, Interesting)

            by coryking (104614) * on Monday March 30 2009, @10:12PM (#27397409) Homepage Journal

            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.

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

            You know something is wrong when a discussion of MySQL is dominated by comments about PostgreSQL.
        • Re:Enough already! (Score:5, Insightful)

          by iluvcapra (782887) on Monday March 30 2009, @08:36PM (#27396755) Homepage

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

          • Re:Enough already! (Score:4, Insightful)

            by coryking (104614) * on Tuesday March 31 2009, @01:16AM (#27398543) Homepage Journal

            but degrading everyone else that has no interest in using it is.

            It isn't degrading. When you clean up enough messes left by people who have no business touching a database, it gets fustrating. Especially when things like this are said:

            how exactly does innodb not take things like referential integrity and error reporting seriously?

            Because InnoDB is only half of MySQL. InnoDB doesn't do fulltext search. If you want fulltext, you gotta go MyISAM. Guess what happens to your cute, cozy referential integrity when half your tables are InnoDB and half are MyISAM? Bye bye! And error reporting? What error reporting? The part where it doesn't tell you "bye bye referential integrity!" and rolls back half your transaction and commits the other half? Or did you mean the part where it automatically adds default values to fields you set not null*? Or were you talking about the part where it thinks invalid dates are valid and doesn't throw an error? Or are those examples only good for Fortune 10(tm) enterprises and not some piddly organization like yours.

            No sir, nobody who is a developer that takes their profession seriously would make a claim that MySQL takes anything seriously. They've cleaned up enough MySQL messes, thank you.

            [rant]*one of my biggest pet peeves of MySQL... when I say CREATE TABLE(varchar(255) blah NOT NULL) please do not add your own 'DEFAULT ""' to the end--it is considered by some to be rather rude! I can spot MySQL schema's a mile away by this single trait. Anything NOT NULL almost always has a bullshit default value. Got a NOT NULL int--it will have a DEFAULT 0! Got a NOT NULL date, "DEFAULT 0000-00-00", which isn't even a valid date! How is that for taking your data seriously?[/rant]

              • Re:Enough already! (Score:5, Informative)

                by |DeN|niS (58325) on Tuesday March 31 2009, @04:30AM (#27399531)

                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 [mysql.com]. 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.

              • Re:Enough already! (Score:5, Insightful)

                by |DeN|niS (58325) on Tuesday March 31 2009, @06:07AM (#27399963)

                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.

      • Re:PostgreSQL (Score:5, Interesting)

        by nextekcarl (1402899) on Monday March 30 2009, @08:03PM (#27396505)

        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.

        • Re:PostgreSQL (Score:4, Insightful)

          by larry bagina (561269) on Monday March 30 2009, @08:15PM (#27396627) Journal

          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.

        • Re: (Score:3, Funny)

          by Anonymous Coward

          Here [lmgtfy.com] are some sites that might help.

        • Re:PostgreSQL (Score:5, Interesting)

          by rackserverdeals (1503561) on Monday March 30 2009, @08:54PM (#27396913) Homepage Journal

          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 [redhat.com].

          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 [intel.com]. Even MS knows you have to keep your developers, developers, developers happy.

        • Re:PostgreSQL (Score:5, Informative)

          by carlzum (832868) on Monday March 30 2009, @09:03PM (#27396973)
          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 [wikivs.com] 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.
        • Re:PostgreSQL (Score:4, Informative)

          by wolfie123 (1331071) on Tuesday March 31 2009, @12:22AM (#27398235)

          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.

          • Re:PostgreSQL (Score:5, Informative)

            by rackserverdeals (1503561) on Monday March 30 2009, @10:24PM (#27397493) Homepage Journal

            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 [postgresql.org] 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.

  • by Matchstick (94940) on Monday March 30 2009, @07:00PM (#27395885)

    The MariaDB link should be http://askmonty.org/wiki/index.php/Main_Page [askmonty.org]

  • by MrEricSir (398214) on Monday March 30 2009, @07:03PM (#27395929) Homepage

    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?

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

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

      I was under the impression that MySQL operated with a full-featured, proprietary, licensed, commercial version getting immediate upgrades and support, plus a less-featured open source version with releases of code (ported?) from the full-featured branch that ran some months behind the for-pay version.

      If that's right, I'd say Sun bought the whole shebang, including the code and customer bases for the licensed deluxe

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

    • by tsalmark (1265778) on Monday March 30 2009, @07:19PM (#27396099)
      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.
    • What Sun bought -- (Score:5, Insightful)

      by reiisi (1211052) on Monday March 30 2009, @08:12PM (#27396595) Homepage

      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.

  • by syousef (465911) on Monday March 30 2009, @07:09PM (#27395981) Journal

    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.

    • Re: (Score:3, Interesting)

      Actually the message it sends is you can not take control just by buying out one piece of the open source world. For the record Sun is going through the same thing with Open Office. Sun really doesn't understand open source.

      The official branch is where ever the big distros decide to pull from.

      • Re: (Score:3, Insightful)

        "The official branch is where ever the big distros decide to pull from."

        May I offer a rewrite?
        The official branch is where ever the knowledgeable gurus decide to push into.

  • Allow to say: (Score:5, Informative)

    by drolli (522659) on Monday March 30 2009, @07:10PM (#27396003) Journal

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

  • by altek (119814) on Monday March 30 2009, @07:11PM (#27396031) Homepage

    please stand up?

  • by wandazulu (265281) on Monday March 30 2009, @07:15PM (#27396061)

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

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

      • Re: (Score:3, Funny)

        by Anonymous Coward

        Ah, but those steaming turds are just the ticket for a consultant looking to warm his hands.

        I'm a consultant, and I love steaming turds!

        • Re: (Score:3, Insightful)

          turds work for the big iron companies too. Like IBM's enterprise solution for anything: sell the client a bunch of overcomplicated rube goldberg contraptions that require a ton of customization and services, big turds for the money sewer.

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

    • by the_womble (580291) on Tuesday March 31 2009, @05:08AM (#27399657) Homepage Journal

      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?

  • by gothamboy (699451) on Monday March 30 2009, @07:56PM (#27396413)
    So, then it looks like Sun acquired nothing. The real IP has walked out the door.
  • by Anonymous Coward on Monday March 30 2009, @08:00PM (#27396457)

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

  • by QuietLagoon (813062) on Monday March 30 2009, @09:32PM (#27397199)
    MySQL resides with Sun. Period. End of discussion.
    • Re:Ironic (Score:4, Insightful)

      by einhverfr (238914) <chris.travers@gmail.com> on Monday March 30 2009, @07:41PM (#27396311) Homepage Journal

      Here we have the one shinning open source alternative to commercial databases and it is now faced with an identity crisis because they sold their name to a company about to be bought by IBM and outsourced to China and India.

      Huh?

      I think the two main open source alternatives to commercial databases are Firebird and PostgreSQL.