Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

MySQL Readies Release Candidate For 5.1

Posted by samzenpus on Wed Jul 16, 2008 07:21 PM
from the check-it-out dept.
Anonymous Dolphin writes "MySQL has released plans for a final RC for the MySQL 5.1 server. Monty Widenius, the CTO and founder of MySQL, has put up a request for more feedback from the community. You can get the latest RC here. Please help with the testing of 5.1 and report your bugs here."
+ -
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.
  • Hosting providers (Score:3, Interesting)

    by Aminion (896851) on Wednesday July 16 2008, @07:38PM (#24222031)
    Whenever I read about a new MySQL version, I think about all of the hosting out there that are still running 4.x. I understand that you can't simply upgrade to the latest version as it would mess up customers' applications, but how about offering customers different versions of MySQL? Is it really that hard to do? A growing collection of well designed web applications require MySQL 5.x and it sucks to miss out om them simply because your hosting provider isn't database flexible enough.
    • Yeah... I dunno... I mean, same server, different port? It's nice to use the default port for your applications. Or different servers?

      Remember back when we had to do http://www.someplace.com:8080 [someplace.com]?

      Pretty annoying. Of course, it's just one variable or setting in a decent app.

      My first concern, when I read this, was about the license. Wasn't there some kerfuffle about Sun buying them?

    • Re:Hosting providers (Score:4, Interesting)

      by Bill, Shooter of Bul (629286) on Wednesday July 16 2008, @08:24PM (#24222453) Journal
      Some do. Bluehost asked me when I signed up what versions of popular web tools I wanted MySql 4 vs 5 was one of the options.
    • Re: (Score:2, Informative)

      1and1 allow you to choose both 4 and 5. You choose the version when creating a database on their management page. I don't know about other webhosts, though.

    • Re:Hosting providers (Score:4, Interesting)

      by tinkertim (918832) on Wednesday July 16 2008, @10:00PM (#24223235) Homepage

      Hosting providers that are worth their weight will typically use external MySQL (clusters) and offer various versions. They've learned the painful lesson that running a bunch of over-allocating services that are open to the world on one box only leads to customers canceling due to down time.

      For instance, the $20 I pay a month gets me access to 4.x and 5.x, each version being its own shared cluster.

    • I think about all of the hosting out there that are still running 4.x.

      Hah. I recently discovered that my workplace was actually running MySQL 3.x, which is such an old release that it doesn't even support structured queries. "MyQL", I call it.

    • ...The only thing that really "breaks" from 4 > 5 is database permissions.

      And most (all?) shared hosting are handling permissions at their admin level by necessity.

      The first time I did this upgrade, probably 2005 or so, I was genuinely surprised at how painless it is.

      And the pain-points that are left are SO worth it. MySQL 4 is a toy. It's worse than Access.

      And we're not just talking about the lack of "advanced" features like triggers, sprocs, udf's. We're talking about no support for things like nested

      • Re:Hosting providers (Score:5, Informative)

        by xiaomai (904921) on Wednesday July 16 2008, @08:44PM (#24222657)

        This isn't really true of an upgrade from Mysql 4.x -> 5.x. MySQL changed some things (notably their JOIN syntax) to make them more compliant with the ANSI standards. So assuming you're dealing w/ PHP/MySQL programmers that only knew the MySQL way to do joins, their applications may break on upgrade.

        For more information, see the section entitled "Join Processing Changes" here:

        http://dev.mysql.com/doc/refman/5.0/en/join.html [mysql.com]

        • assuming you're dealing w/ PHP/MySQL programmers that only knew the MySQL way to do joins, their applications may break on upgrade.

          That's great!

  • XML Functions (Score:4, Interesting)

    by weston (16146) * <westonsd@canncentral. o r g> on Wednesday July 16 2008, @07:41PM (#24222061) Homepage

    First release with native XML functions. If there's indexing behind some of the XPath, this could be a very interesting release indeed.

    I'd definitely be interested to hear what it's also missing that more XML aware databases include, though.

  • nice feature set (Score:5, Insightful)

    by RelliK (4466) on Wednesday July 16 2008, @08:04PM (#24222255)

    Traditionally, that is to say, up until MySQL 5.1.22, InnoDB handled newly inserted records into an InnoDB table with an AUTO_INCREMENT column by using a global counter which held the last value for the auto-incrementing column. A lock would be placed on this counter for the duration of the SQL statement which did the inserting...
    The new server variable, innodb_autoinc_lock_mode controls how InnoDB treats statements which insert rows into an InnoDB table with an AUTO_INCREMENT column. Depending on your environment â" specifically, whether you are using the binlog for replication or recovery purposes and whether you are executing "batched insert" statementsâ" you can set this variable to 0, 1, or 2. 0 corresponds to the traditional mode, and is not recommended except for very specific scenarios (see the doc link above). 1 represents "consecutive mode" and is the default. In this mode, only statements where InnoDB cannot determine the number of rows to be inserted will use the global auto-increment lock. All other "simple insert" statements (even those inserting multiple records in batch mode) will use a faster, lighter locking mechanism, which results in significant scalability increases. The final setting, 2, represents an "interleaved" mode and has even greater scalability improvements, but cannot be used in scenarios where the binary log is being used for recovery or statement-based replication.

    So now mysql can handle two concurrent inserts? Nice! Except for the fact that this new amazing option is incompatible with replication. MySQL is going to become a real database. Any time now...

    • Re:nice feature set (Score:5, Informative)

      by Bill, Shooter of Bul (629286) on Wednesday July 16 2008, @08:29PM (#24222503) Journal
      Not exactly. 5.1 introduces row based replication as opposed to the statement based replication that is incompatible with the new behavior. Statement based replication has the slaves execute the exact same statement on the slave. Row based just passes the new values of the modification to the slave.
    • Re: (Score:2, Interesting)

      by Anonymous Coward

      How about we fix the obvious too? This bug [mysql.com] makes it impossible to have an Insert trigger and an update trigger both updating a table. Trying to do so triggers database duplicate keys because there isn't a good lock on the auto-inc value.

      A bug, marked as serious and yet left pending since Feb'07 !

  • by Anonymous Coward

    Does anyone know of anyone whom MySQL has forced to pay them for their database?

    • How would that work, seeing as it is explicitly allowed to use the free version for any purpose?

    • No one who's been forced to, but we have a support contract for our primary DB server.

      That gets us binaries compiled with Intel's compiler (about a 20% performance boost I think), and a shoulder to cry on should anything go wrong.

  • by level4 (1002199) on Wednesday July 16 2008, @11:26PM (#24223905)

    I would like to use MySQL instead of Postgres - it's easier for me to install, maintain, and just plain understand. I don't like how PG does things a lot of the time and find it needlessly complex. But because MySQL lacks the seemingly basic ability to store a timestamp with better than second accuracy, I can't, because I have to store log events which are often more than one a second - much more - and I need to know exactly when. Milliseconds would be fine, microseconds would be great.

    MySQL currently recommends some ridiculous hack where you strip the sub-second information from the time you send it and store it in another column, then write some kind of view which combines them back. What? I am not doing that to implement what I consider to be basic functionality! Do you remember how my motivation for switching is because I want things to be simple? Writing weird multi-column time recombination hacks is not my idea of simple.

    Replication improvements, XML parsing, great features all - but please just give us timestamps with accuracy better than a second? A lot can and does happen in less than a second and I need to be able to log it with accuracy!

    • If you're going to switch databases over the issue, you might as well consider other options, like Firebird: it's also free, I do believe the timestamps have better-than-second precision (at the very least it insists on showing me 4 extra digits I never use for anything), and it's certainly easier to install, setup, and admin than PostgreSQL (IMO). It has limitations, of course, and you should be careful to read the fine print, as you would with any product selection. I would worry that you're using some particularly esoteric features of PostgreSQL that won't translate well to Firebird, but if MySQL is even an option for you, that's highly unlikely.

      Slashdot declined to carry the story I posted on it (yeah, yeah, grousing...), but Firebird 2.1 (release) came out three months ago, with some really nifty features like on-commit triggers that let you enforce constraints no other database will help you enforce (that I've seen -- Oracle certainly won't.) It rocks.

      Your mileage WILL vary, but I'd recommend at least checking it out. Either http://www.ibphoenix.com/ [ibphoenix.com] or http://www.firebirdsql.org/ [firebirdsql.org].

      • Re: (Score:2, Informative)

        I have checked out Firebird in the past and it looks great - but there's a huge chicken and egg problem. Basically, to adopt a DB requires that it be supported in the languages I use - and for scripting this kind of thing I use Ruby. I can't find any firebird support, native or otherwise, for Ruby, let alone support in the more high-level libraries like ActiveRecord or DataMapper.

        I'm not trying to put down the project - it looks great. But I can't possibly afford the time or resources to develop all my own

      • features like on-commit triggers that let you enforce constraints no other database will help you enforce (that I've seen -- Oracle certainly won't.)

        Oracle has deferrable constraints, that are checked on commit, and you can do almost everything you would do with an on commit trigger with deferrable constraints.
        Postgresql has deferrable triggers, that trigger on commit, and that's probably the same feature you call "on commit trigger" in firebird.

    • "Official" one from Feb 2005:

      http://bugs.mysql.com/bug.php?id=8523 [mysql.com]

      And here's another one going back to Nov 2003, which was strangely marked as a dupe of the above:

      http://bugs.mysql.com/bug.php?id=1764 [mysql.com]

      Should have put those in the original comment; apologies for my laziness.

  • Triggers (Score:5, Interesting)

    by iron-kurton (891451) on Thursday July 17 2008, @12:52AM (#24224385)

    The only thing that I look forward to in 5.1 is the addition of triggers for non-root users. I've fought many a battles with hosting providers wanting to charge me upwards of $120/hr to put my triggers in place as root because MySQL didn't allow regular users to run it.

    Now, finding a hosting service willing to upgrade to 5.1 within a year after it's released is going to be a new bat

    • If you're that much of a "power user", you might just get yourself a virtual or dedicated server and do whatever you want without the hassle.

      • He could, but then he's also got to manage that server, instead of doing his real job.

        A managed server is probably the best bet, but they cost big money for anything useful, and you'll probably get some salesman trying to sell you an entire "solution", instead of just what you wanted.

  • by Aggrav8d (683620) on Thursday July 17 2008, @01:11AM (#24224481) Homepage
    Bah! I misread as "for a final RC for the MySQL 5.1 server, Monty Widenius" and thought it was the latest version name, like Hardy Heron or Fallacious Ferret or Mr. Ed or something.
    • Guess speaking ill of Postgres is not welcome here.
    • Re: (Score:3, Informative)

      I'm unfamiliar with MySQL's partitioning -- is it radically different from postgresql's partitioning [postgresql.org]?

      I'm using inheritance to implement table partitioning with a rather large (50+ gig) PostgreSQL/PostGIS database. Constraint exclusion [postgresql.org] allows the query planner to use CHECK constraints to avoid even looking at tables where conditions contradict the constraints.

      • Read grandparent post again, then decide whether or not your reply makes any sense at all.

        Methinks you are too used to seeing Postgres trolls in the MySQL posts to catch the joke. Apparently the mods are, too.

    • by Bill, Shooter of Bul (629286) on Wednesday July 16 2008, @08:35PM (#24222553) Journal
      You haven't kept up. Sun stated that nothing was going to change with the license. The "closed source" portion had already been released under the gpl and Sun said it would stay that way. In Fact they just moved from the closed source bitkeeper to bazaar for source code control, allowing anyone to track their progress.

      PostgreSQL is a fine Database as well. MySql just seems to be used more in web environments.
      • by tinkertim (918832) on Wednesday July 16 2008, @10:13PM (#24223327) Homepage

        It was interesting to see Sun's reaction.

        Apparently, MySQL AB (prior to purchase) were the ones contemplating making the move to more proprietary tools. It was set in motion and left on the table, then Sun purchased them.

        Sun basically said "We have no need to put this in play, we don't make our money from a single product like MySQL AB did .."

        A lot of people Criticized Sun for the idea, however the idea was the brainstorm of MySQL AB, not Sun.

      • I think the only reason people post is because of how big of a deal people make MySQL... even though it's slow, unreliable, difficult to scale, and yet, people flock to it.

        Yay, community, I guess.

          • Re: (Score:3, Insightful)

            Your response was condescending and presumptive. I never said I favored MySQL or any other DBMS for that matter. Your snotty little comment about playing in the street only reinforces my already negative view of Postgres zealots.

            It doesn't matter how right you are about whatever it is. Like it or not, how you deliver your message is as important or more important than the message itself. This applies to just about anything: databases, operating systems, which end of a softboiled egg you eat first, and o

            • by GooberToo (74388) on Thursday July 17 2008, @07:36AM (#24226529)

              Your response was condescending and presumptive.

              Your response is paranoid and childish. Sometimes you have to hear things you don't want to hear. The AC's response is actually funny and accurate. By in large, most MySQL users are children when it comes to relational databases. You don't have to be a PostgreSQL zealot to recognize that fact. Simple fact is, MySQL is the low rung on the SQL ladder. All DBAs worth respecting understand this simple fact. In other words, what you assume to be zealotry can just as likely be a factual statement by a knowledgeable person.

              Just because you heard something you didn't want to hear doesn't mean it was delivered by a zealot. The fact that you're so easily confused by such a fact is a significant indicator the AC's comment was correctly targeted (you're too close) at you. Your response also implies you are in fact a MySQL zealot. Otherwise, why so easily offended by a comment which was obviously presented with levity, by an AC, in a trollish manner. Getting upset about that is just plain silly.

              At the end of the day, with so many excellent relational databases available at zero or little cost, choosing MySQL as your database speaks poorly of you. Just about any database is better than MySQL. Imagine a friend bringing home a cheap Chinese made, Yamaha reproduction and declaring they are tired of "zealots" pointing out that better bikes exist. Well, your friend might be tired of hearing it, but it doesn't change the facts. It doesn't take a zealot to point out that bike is a complete PoS; and without regard to zealotry, better options exist. At least with a bike, you can defend such a purchase from a cost perspective. No such hand hold exists when it comes to the field of freely available databases; almost all of which are better than MySQL.

              Lastly, please don't forget that one need only be knowledgeable about relational databases to dislike MySQL. Zealotry need not be a factor.

              • by gravyface (592485) on Thursday July 17 2008, @08:45AM (#24227235)

                At the end of the day, with so many excellent relational databases available at zero or little cost, choosing MySQL as your database speaks poorly of you. Just about any database is better than MySQL.

                That's a bit harsh and unrealistic.

                In Real Life (tm), you don't always have that choice: sometimes you take what's given to you and roll with it, sometimes you have to use what you know best to get the job done.

                I use both nowadays: I do feel more comfortable with MySQL (mainly the tools, auth. mechanisms) because for many years, it was the only option available: host didn't provide Postgres support, xyz application didn't support it, or I personally couldn't justify the risk/learning curve for a tight project.

                Postgres may be "superior" to MySQL, but that doesn't mean it's the right choice all the time.

              • Re: (Score:3, Interesting)

                Also your view of MySQL is a couple years old. MySQL has made leaps and bounds on Postgres. Now that mysql has things like PL/SQL and Foreign Keys the differences between it and postgres have dwindled.

                Disclaimer: I have a strong Oracle, Postgres, and MySQL background. I find them all to be excellent tools.

              • I'd love some proof on that 'children' comment. MySQL is a low rung in price, but there are much lower rungs to be had -- SQLite comes to mind even.

                The fact that MySQL is easy to configure and easy to use should not be used against it -- and it is for those reasons that so many people with very little SQL skill have been introduced to a SQL server. Had Postgres' developers made it half as easy to install and manage on my machines 10 years ago, many people would now be using it instead.

                As it stands today, MySQL is an excellent platform for relational database development. It has limitations, and there are better products, but not everyone is writing (for a random example) VISA's payment processing system.

                Your bigotry is apparent, and its just bigotry.

              • All DBAs worth respecting understand this simple fact.

                Damn those Google idiots and their inability to hire competent employees. It's a good thing they only use it for Adwords [blogspot.com] and not something important to their business.

                Meh, doesn't matter, I just won't respect them. They're clearly just a bunch of paranoid children over there anyway. I'll take my cues from randoms on Slashdot, thank-you-very-much.

    • hmm.. Yeah, After looking at the MERGE INTO issue I understand what you are talking about. There really isn't anything equivalent in MySql, despite the wikipedia article's claim to the contrary. The MySql alternative listed there INSERT .. ON DUPLICATE KEY UPDATE only works if a duplicate key would be created. There are situations I am dealing with right now that show the limitations of that approach. I'll talk with my people and see if I can't come up with an equivalent solution.

      On the other hand, the M
    • No, that's not true. Sun provides binaries of MySQL *5.0* every half year. 5.0.51a/b was in January so I'd expect the next set pretty soon now.

      Sun has also been providing binaries of 5.1 for quite some time now.