29 Comments
- timdorr, on 10/12/2007, -0/+38Since the article doesn't link to it, here you go:
http://code.google.com/p/google-mysql-tools/
Feature list:
The patches include a few big features and many enhancements. The big features are:
* SemiSyncReplication - block commit on a master until at least one slave acknowledges receipt of all replication events.
* MirroredBinlogs - maintain a copy of the master's binlog on a slave
* TransactionalReplication - make InnoDB and slave replication state consistent during crash recovery
* UserTableMonitoring - monitor and report database activity per account and table
* InnodbAsyncIo - support multiple background IO threads for InnoDB
* FastMasterPromotion - promote a slave to a master without restart
Other enhancements include:
* LosslessFloatDump - support dump and restore of float/double without loss of precision
* Use 8X less memory for account and table privileges
* Use fastest compression rather than the default level for client/mysqld networking
* InnodbSampling - control the number of leaf blocks sampled for optimizer statistics
* InnodbStatus - display more statistics in show innodb status
* Reduced number of calls to fsync when the InnoDB background IO thread is active
* Changed InnoDB to recover when InnoDB and MySQL data dictionaries are inconsistent
* NewSqlFunctions - functions for checksums and floating point to string conversion
* Backported START SLAVE UNTIL
* Sort float columns with the order: -INF < negative < 0 < positive < +INF < NaN
* Change long_query_time to be dynamic and log all queries that run for greater than or equal this number of seconds rather than greater than.
* Count connection attempts tha are denied because of max_connections and display the count as denied_connections
* MoreLogging - log actions done on specified tables and SUPER users
* rpl_always_enter_innodb boosts the priority of the slave SQL thread (for replication) in InnoDB by making it ignore the InnoDB concurrency limits
* rpl_event_buffer_size sets the fixed size buffer that is allocated in the master for each connected slave. The buffer is used for replication events smaller than the buffer. This reduces memory allocation done to copy replication events from the master.
* Backported sync-binlog
* Added reserved_super_connections to reserve the final N connections for users with the SUPER privilege
* NewShowStatus - many new variables in SHOW STATUS - gregm, on 10/12/2007, -3/+361. Am I the only one expecting a donation of some sort to the community?
2. I was not aware that Google used MySQL! Must be more powerful than I realized to keep Googles data organized
3. Why does the article suck so much? There should be a list of major changes they made! - lowellheddings, on 10/12/2007, -0/+30Here's one change that they made:
"Added reserved_super_connections to reserve the final N connections for users with the SUPER privilege"
This is a great change.. there's nothing worse than having your database get an error for too many connections, and not being able to login as su and fix anything. - TunaFishGangsta, on 10/12/2007, -0/+19http://code.google.com/p/google-mysql-tools/
- Razster, on 10/12/2007, -1/+19If you haven't downloaded this source, do because it is wonderful what they have done with it. I long to work for Google...
- kushed, on 10/12/2007, -0/+14This methodology is the driving force behind OSS. Contribute code that will help your business, if its good enough and possibly usefull to others it will be implemented in the actual project, if rejected, nothing was lost, google can still use the code them selfs and add it to their code DB for everyone else to use and add to if needed.
- M4v3R, on 10/12/2007, -0/+12I thought that Google uses some custom database engine designed by them. Some time ago I've read about BigTable - Database type that they use to store search index, gmail and other data.
Edit: http://labs.google.com/papers/bigtable.html , http://en.wikipedia.org/wiki/BigTable - kday, on 10/12/2007, -1/+11I think MySQL kicks Oracle's ass. Oracle is just a pain in the ass. Oracle is popular among corporations. Lots of corporations don't trust free, open source software. They think expensive software backed by corporations is better than free software (i.e. Microsoft).
Anyway, I don't have too much experience with Oracle, but from what I know, it's a pain in the ass. MySQL is much easier to use. I know Oracle is supposed to have its advantages, but it seems to me that MySQL will do anything you throw at it.
If someone disagrees with me and thinks Oracle, MSSQL, etc is better, feel free to enlighten me. - lnxaddct, on 10/12/2007, -0/+8M4v3R,
Google doesn't use MySql for its search index, but it is used for parts of AdSense/AdWords. - stable, on 10/12/2007, -1/+8I believe that MySQL AB won't be accepting the code anytime soon unless Google donates the Copyright itself because, remember, GPL code can only be redistributed with a GPL license, and that's incompatible with MySQL AB's business model which relies on a dual license and first party code.
- insovietrussia, on 10/12/2007, -1/+5Note to self: Buy some Google 2 years ago.
- kday, on 10/12/2007, -0/+4wtf am I talking about... that would be characters per minute. Ignore me ;(
- cramd, on 10/12/2007, -0/+4MySQL is under the GPL license. The dual licensing is only a factor when someone is looking to bundle MySQL with their application and they are not going to release it under the GPL, in which case a commercial license is required.
- goffy59, on 10/12/2007, -0/+3Here comes "the google is evil" comments. I'm happy google actually contributes to projects like this unlike other greedy companies.
- stable, on 10/12/2007, -0/+3@ cramd
If Google owns part of MySQL's code, MySQL AB will not be able to distribute that code or any work based on it with the commercial license due to the fact that they aren't the Copyright holders of Google's modifications. Merging Google's code would kill MySQL AB's business model, which relies on their ability to change their product's license for customers who don't want to be bound to the GPL's terms. - Jugalator, on 10/12/2007, -0/+3Yes, that part was weird... I can understand separating mobile device databases because they need to run with tighter restraints, such as SQLite. But wireless? :-/ Do a database really care if the underlying network connection is wireless or wired?
- addicted68098, on 10/12/2007, -0/+2I do like using postgresql better, it seems to run a lot more efficiently. But there are some features of Mysql I really miss.
- ocgstyles, on 10/12/2007, -0/+2@kday
I agree, MySQL kicks Oracle's ass! But I do believe the different database products around each have a target audience. I've had experience with 3 of the larger databases out there, SQL Server 2000, IBM DB2, and Oracle. My personal rating would look like:
SQL Server - A toy. Good for your run of the mill in-house applications (if you are a MS shop), like time reporting, etc. I don't like how this product seems to cover so much of the insides of the database. Any books I've read don't seem to quick to go over at least a little performance tuning. And I hate relying on GUI so much. You can use Query Analyzer for a lot, I know, but no books seems to stress that. Its just click... click... click... I also hate T-SQL... its ugly. They have a free version too... although never tried it. Only runs on Windows (good - don't mess with my linux).
DB2 - My personal fav and what I work with on a day-to-day basis. Its quick, very scalable, has great command line tools. Its easy to monitor and find out what your system is doing. You can run it on multiple platforms (Linux, Windows, iSeries, z/OS, OS/390, etc.). You can write stored procedures and user defined functions in a number of different host languages (C, Java, etc) as well as native SQL-PL. I don't care much for their GUI tools however; they are very limiting. DB2 can deal with XML data natively (not as LOB data). They also have a free version too, which I highly recommend: http://www-306.ibm.com/software/data/db2/express/
Oracle - A bloated dog filled with lots of fluff. RAC and Grid seem like cool features though. SQL*Plus doesn't integrate well with the command line. Their web GUI interface, although feature rich, is v e r y v e r y s l o w. They seem to be straying away from the command line interface and focus on GUIs now... so that's annoying. But agreed, its a pain in the ass, and unfortunatly, I will be working with that RDBMS very soon. They are very limiting too, as far as platforms. Oracle XE (free version) is also slow and uses a lot of resources, way more than DB2's free version.
MySQL - fun, quick, open source, different platform choices, sets up easily. Although a separate entity, phpMyAdmin functions soooo much better than Oracle's GUI tools.
Yea, my opinions are quite few for MySQL, but that doesn't mean I don't think its cool, I just don't get enough time to really tinker with it. I would like to know more about monitoring and tuning with it though.
I must get back to work now... - nubtard, on 10/12/2007, -0/+2http://en.wikipedia.org/wiki/MySQL
- mjrpes, on 10/12/2007, -0/+1Did you browse through the source code? A lot of it is some sort of symbol map... I pray to God someone didn't have to type that in by hand lol!
- kday, on 10/12/2007, -1/+2Holy schmoly, that's one big patch. Google wrote more than 5,000,000 characters of source code (nearly 5 MB of plain text). If I did my math right, if you typed 60 words/min nonstop, it would take you nearly 60 days to write that code. Nice going Google.
http://google-mysql-tools.googlecode.com/svn/trunk/mysql-patches/mysql-5.0.37-patches - drag, on 10/12/2007, -1/+2I am sure that Google is well aware of the copyright transfer issues involved with contributing to MySQL. It is not unusual at all for software projects to do that, many many many other projects besides MySQL has similar requirements.
Were did you get the idea that this would be a issue for Google? Did you see anywhere were Google stated that they didn't want to transfer copyrights? Or you just assumed that Google would baulk at contributing their copyrights to MySQL? - stable, on 10/12/2007, -1/+1> I am sure that Google is well aware of the copyright transfer issues involved with contributing to MySQL.
Citation needed.
> It is not unusual at all for software projects to do that, many many many other projects besides MySQL has similar requirements.
Examples of a GPL projects that mandate Copyright transfers needed.
> Were did you get the idea that this would be a issue for Google? Did you see anywhere were Google stated that they didn't want to transfer copyrights?
My assumption is based in 3 facts:
1 - Copyright isn't transfered by default;
2 - The code hasn't been accepted by MySQL AB;
3 - TFA doesn't explicitly mention anything about a Copyright transfer (refer to fact #1 as for why it must be mentioned). - UtterNoncesense, on 10/12/2007, -5/+5MySQL is the second most popular database behind Microsoft SQL Server, according to a winter 2006 report from Evans Data. Oracle comes in second if you combine its database offerings. The situation is similar among wireless developers, almost 30% of who use Microsoft SQL Server compared to the 20% who use MySQL.
- http://www.informationweek.com/news/showArticle.jhtml?articleID=199201237
What the hell do "wireless developers" have to do with databases? - stable, on 10/12/2007, -2/+1Why? Because it doesn't have a BSD license? Do I smell a fanboy? ;)
Because it's not like PG is any better or faster than MySQL these days. MySQL implements every useful feature that PG has in a better and faster way.
Here kid, I challenge you to name ONE PostgreSQL feature that MySQL doesn't support right now and I'll try to reply with one single MySQL query for each example you provide:
In the end, if I win this argument, I want to see you apologize the MySQL community for your unfunded insult. - fkr3, on 10/12/2007, -5/+4Nothing lost .... except easy forward compatibility which only bites you on the ass every time a patch or upgrade is released.
- crash128, on 10/12/2007, -3/+1I didn't know Google had any links to MySQL Damn. Just damn. Note to self: buy some Google tomorrow.
- jues, on 10/12/2007, -4/+2Where can I find out more about MySQL? ;)
- jollyroger814, on 10/12/2007, -11/+2http://www.postgresql.org
***** mysql


What is Digg?
Check out the new & improved