Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Google Businesses The Internet Databases Programming Software IT

Google Releases MySQL Enhancements 208

An anonymous reader noted that "Google has released its internally developed enhancements to MySQL to the open source community this week. Changes include improvements in replication, high availability configuration, and performance." It'll be interesting to see if the changes they made are of interest to other places using MySQL.
This discussion has been archived. No new comments can be posted.

Google Releases MySQL Enhancements

Comments Filter:
  • The patch... (Score:5, Informative)

    by dfdashh ( 1060546 ) on Wednesday April 25, 2007 @11:31AM (#18871135)
  • by Albanach ( 527650 ) on Wednesday April 25, 2007 @11:35AM (#18871209) Homepage
    MySQL could license the code for distribution. Equally Google could submit the code to MySQL using their existing mecanism for code contributions and transfer copyright to MySQL.

    To suggest that the code can't be included because someone else owns copyright is just wrong - MySQL didn't develop the Innodb stuff, they license it. They could do the same here.
  • Silly Question (Score:3, Informative)

    by bill_mcgonigle ( 4333 ) * on Wednesday April 25, 2007 @11:36AM (#18871225) Homepage Journal
    Did they fix that thing where it always sacrifices data integrity for speed?

    It's a silly question, really. MySQL is about performance. If you can trade off integrity for speed, and you need speed, use MySQL with myASM tables. If you need that integrity and would benefit from MVCC [wikipedia.org] use PostgreSQL. If you need MySQL for some reason (web hoster, etc) and want the integrity, use InnoDB tables (for version 5 - something else for version 6), though there's a performance hit and you still don't get MVCC.
  • Re:so... (Score:5, Informative)

    by Matje ( 183300 ) on Wednesday April 25, 2007 @11:39AM (#18871259)
    I wouldn't be so sure: the mysql administrator is not always able to restore a backup correctly. you are well advised to restore backups through the command line. it is also impossible (at least last time I checked) to automatically include all databases in a scheduled backup. You can only select the databases that are present at the time you schedule the backup.

    furthermore, the mysql query browser screws up when you paste a query containing tabs. this particular bug was reported to mysql over a year ago. it was somewhat fixed, but not really.

    I really like mysql but claiming that the admin is better than sql server is well, pushing it.
  • by MightyYar ( 622222 ) on Wednesday April 25, 2007 @11:41AM (#18871287)
    That's true, but only part of this release is a patch - the other two items are tools:

    • mypgrep.py - a tool, similar to pgrep, for managing mysql connections
    • compact_innodb.py - compacts innodb datafiles by dumping and reloading all tables
    • patches - patches to add features to MySQL 4.0.26

    It will be interesting to see what happens with the patches.
  • Re:WTF? (Score:3, Informative)

    by 0racle ( 667029 ) on Wednesday April 25, 2007 @11:45AM (#18871347)

    What exactly does Oracle offer besides database offerings?
    Application Server, ERP, some other stuff.

    What they are talking about is counting Oracle Standard, Oracle Enterprise and other Oracle database editions as separate offerings to make MySQL look more important.
  • Re:WTF? (Score:4, Informative)

    by Smidge204 ( 605297 ) on Wednesday April 25, 2007 @11:46AM (#18871357) Journal
    The word is "combine" not "include" - Oracle offers a variety of Database "flavors" (editions) as well as services and utility suites. If you "combine" these offerings, Oracle comes in second.

    =Smidge=
  • by xxxJonBoyxxx ( 565205 ) on Wednesday April 25, 2007 @11:53AM (#18871443)
    Nevermind - found the Wiki with more info...
    http://code.google.com/p/google-mysql-tools/w/list [google.com]
  • Re:so... (Score:2, Informative)

    by cdwiegand ( 2267 ) <chris@wiegandfamily.com> on Wednesday April 25, 2007 @12:15PM (#18871705) Homepage
    I call shill. I used Sql Server 2K and 2K5 at my last job, and I would LOVE to have SQL Server Studio for MySql - the admin tools SUCK. The ones that use the native dll crash, and the ones that use .Net bindinds (i.e. Toad from Quest) have bugs of their own, and crash every once in awhile too. Also, none of them hold a candle to the usability of SQL Server Studio - executing part of a script, and wanting to cut and paste the result to show what I got (standard practice here) is difficult in MySql's tools (even third party ones), but SQL Server makes it easy.
  • by _|()|\| ( 159991 ) on Wednesday April 25, 2007 @12:38PM (#18872011)

    What good is speed without data integrity?

    In this context, data integrity refers to mechanisms that prevent you from doing something bad. If you never do anything bad, these mechanisms aren't strictly necessary. It's analogous to the difference between dynamically and statically typed program languages.

    What do I mean by "something bad"? Without referential integrity, you could have the database equivalent of dangling pointers. Without concurrency controls (either through locking or the previously mentioned MVCC), one user could accidentally blow away another's changes. (Look up isolation levels for some specific examples.) Without transactions, a failed update could leave the database in an inconsistent state (e.g., the money left your savings account, but never made it to your checking account).

  • Re:Mod parent up! (Score:1, Informative)

    by Anonymous Coward on Wednesday April 25, 2007 @12:40PM (#18872037)
    Slashdot is a perfect example of a loosey-goosey "good enough" MySQL application, where speed is important. The data accuracy isn't that important. All that matters is that it works most of the time - a comment lost here or there, or slightly overlapping multiple pages in a story, hardly matters in the big picture. If your comment doesn't "take", just try again, no big deal. OTOH you wouldn't want this behavior for your corporate accounting ledgers, so there you'd be safer using a "real" database designed from the ground up based on the correct principles of database theory, such as PostgreSQL.
  • Re:InnoDB...? (Score:5, Informative)

    by suv4x4 ( 956391 ) on Wednesday April 25, 2007 @12:54PM (#18872221)
    Umm, InnoDB is an engine for MySQL, they are still using MySQL. They just said they use the InnoDB engine exclusively rather than the other engines such as MyISAM. They probably never used MyISAM since it doesn't have foreign keys or transactions. No respected DBA would ever use MyISAM.

    Where did I say InnoDB wasn't MySQL ..? And no, they used MyISAM initially, you can check the comments after their original post.

    In fact the irony in your post is big, as the original post addresses just people like you who are very quick to decide what a "respected DBA" would do, or not (versus reality).

    I'll quote one of the Google devs answering questions about it:

    Q: holy crap, you ran adwords on a transactionless database?

    A: Yep.

    Q: you have balls. and you're lucky as hell nothing (else) went wrong.

    A: Nope. Luck had nothing to do with it. If you don't have transactions you just roll your own. It's actually not hard at all.


    Bottom line is, you use transactions as it easier to retain data integrity and makes for simpler code. You don't use transactions to be "respected DBA". Whatever reasons they had to use MyISAM was probably sound, but after certain level of sophistication, they switched to InnoDB to make things easier to manage.
  • Re:so... (Score:2, Informative)

    by Matje ( 183300 ) on Wednesday April 25, 2007 @01:15PM (#18872513)
    [blatant selfpromotion] if you're looking for something similar (but with much less functionality) written as a dos batch script, try this http://www.jijenik.com/projects/mysqlbackup/ [jijenik.com]. It will even email you an compressed and encrypted copy of the backup file. [/blatant selfpromotion]
  • by Safety Cap ( 253500 ) on Wednesday April 25, 2007 @01:17PM (#18872551) Homepage Journal

    If you never do anything bad, these mechanisms aren't strictly necessary.

    Show me one programmer who hasn't done something 'bad' (i.e., made a mistake) and I'll say, "Just let him write his second line of code," just after I pry the delete, backspace and ctrl keys off his keyboard.

  • by VampireByte ( 447578 ) on Wednesday April 25, 2007 @01:22PM (#18872607) Homepage
    Also, way too much of what go's on in Enterprise Manager is undocumented. Oh, the way to do it in the GUI is documented, but under the covers it is impledmented with undocumented Transact SQL.


    You can use the SQL Server Profiler tool to capture the SQL that's run when you do something in Enterprise Manager. I've done this when I wanted to do something in my own admin tools that I know can be done in EM.

  • by Bacon Bits ( 926911 ) on Wednesday April 25, 2007 @01:38PM (#18872811)
    No, these won't be included because the patches are for MySQL 4.0. To give you an idea, MySQL 4.0 is what shipped with Debian 3.1 (Sarge). It's that old. Mysql.com doesn't even host binaries for MySQL 4.0 anymore!

    4.0 is not actively developed at all, and lacks basic requirements such as subqueries, accurate math for DECIMAL or NUMERIC types (they're identical to FLOAT in 4.x so decimal errors for aggregate functions are common), and VIEWs. That's in addition to the normal flaws for data integrity in MySQL (MyISAM database engine, fsync disabled by default) that make it one of the least ACID compliant databases around that can still understand SQL.

    This is like Google releasing patches for Apache 1.2.
  • by MightyYar ( 622222 ) on Wednesday April 25, 2007 @02:27PM (#18873485)
    If you look at the subversion repository, they also have patches for MySQL 5 [googlecode.com]. It seems as though they are not going to "release" those patches until they are feature-equivalent to the MySQL 4 patches:

    These will have the same functionality as the MySQL 4 patches. Unfortunately, only some of the features have been ported. This will be updated when the patches have equivalent functionality.
  • by linhux ( 104645 ) on Wednesday April 25, 2007 @02:35PM (#18873629) Homepage
    Actually, the announcement blog post [blogspot.com] says:

    [...] thus we have released the changes with a GPL license for the MySQL community to use and review.
    It seems to me that while their Python tools [google.com] are Apache-licensed, the actual MySQL patches are GPL.
  • by Pollardito ( 781263 ) on Wednesday April 25, 2007 @02:51PM (#18873871)
    that's really odd, i had remembered the article mentioning that they were released under the GPL and sure enough the first paragraph is:

    Google on Tuesday released new programming code under the GPL license to enhance MySQL databases.
    but then the actual tools code page [google.com] lists :

    License: Apache License 2.0
    as for the original question, the Apache FAQ [apache.org] for their license says they think that they're compatible but FSF does not:

    Is the Apache license compatible with the GPL (GNU Public License)?

    It is the unofficial position of The Apache Software Foundation that the Apache license is compatible with the GPL. However, the Free Software Foundation holds a different position, although we have not been able to get them to give us categorical answers to our queries asking for details on just what aspects they consider incompatible.

    Whether to mix software covered under these two different licenses must be a determination made by those attempting such a synthesis.

E = MC ** 2 +- 3db

Working...