Google Releases MySQL Enhancements
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.
All Hail Google?
Steve
Did they fix that thing where it always sacrifices data integrity for speed?
(I'm not even trolling, I do want to know if they fixed that)
sic transit gloria mundi
Those Googlians are stupid, don't they read slashdot? If they did they'd know MySQL isn't fit for ANYTHING! Sheesh.
It feels all warm and fuzzy, makes me feel that way too.
Oh, no, wait I'm just growing mold.
It's nice to see this though. It's a good change from the internal politics/fighting, or the complaints of other one OSS group using anothers OSS code - it emphasizes what the while thing is supposed to be about.
Captcha: 'sneaking' - so appropriate for an AC like me.
Ah, now this is how it's supposed to work. No bull like, "We're releasing improvements as MSN-SQL," or any other nonsense. Yay Google.
Always someone has power over you. The thing to consider is this: Is the power good, or bad?
MySQL is dual licensed so if they add this code they can't sell their product under another license..
Wiki for the patch here: http://code.google.com/p/google-mysql-tools/wiki/M ysql4Patches
df -h
At least with the GPL, anyway. You have a company like MySQL which actually makes a product, rather than bundling and providing services as the majority of the business. However because they can't exclusively control the app, they can't make a large amount of money except on other services and such. Then a company like Google comes in, with tons of resources, and makes great modifications to your code. The only problem is that you can't merge them into the commercial distribution without their permission. What's ironic about this is that being dual-licensed, the code would remain free for everyone to use under the GPL.
MySQL chose this approach, but I could see how this might make others less inclined to dual-license under the GPL.
*chalks it up on the board*
"GoogleIsGood"
MABASPLOOM!
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 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.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
I'd argue speed at all. But InnoDB wins hands god-damned fucking down over the drek that is MyISAM. MyISAM is a carcass; whom can deny the Angel of Death? What Shai-hulud has decreed shall be.
InnoDB: When your clients want to run crap that doesn't support Postgres, and you don't want to run myisamchk every other day.
Apparently something has changed in Google's usage of MySQL. They have this to say for their patch:
"In a perfect world, each feature would be provided as a separate patch and all code would be as portable as MySQL. We are not there yet. These have been implemented and deployed on Linux. Also, some of these features only work with InnoDB, because we use InnoDB."
InnoDB is the slower, but safer/transaction-able way to use MySQL. In an earlier blog entry "let's get a real database", Google revealed they run AdWords/AdSense on MySQL, and they rolled up their own transactions as they went for speed with MySQL. Now we see they changed their mind.
So I suppose that goes to show, never mind how limited your application, you better stay away from MyISAM: it'll bite you sooner or later.
What good is speed without data integrity? If I can't trust my data, It doesn't matter how fast I can retrieve it.
Please help me understand this perspective. (?)
http://code.google.com/p/google-mysql-tools/
These two things look like simple add-on utilities, not something for the core DB (the "compact..." one looks especially unfriendly for live DBs):
I'd like to play with this stuff:
And why is Google releasing these for an "unsupported" version of MySQL (4.0)?
Nevermind - found the Wiki with more info...t
http://code.google.com/p/google-mysql-tools/w/lis
It'll be interesting to see if the changes they made are of interest to other places using MySQL.
Why don't you ask Jeeves then?
I am becoming gerund, destroyer of verbs.
There's also Oracle Rdb, a product for OpenVMS that, as far as I understand, is quite different from the regular Oracle database. More details at Wikipedia.
Hep me, too - what good is ANY data storage mechanism that doesn't offer data integrity as feature zero?
Can someone describe what loss of integrity we're talking about?
Was expecting a link to a google hosted webpage, in the hope of seeing a slashdoted google page in vain.
For those that couldn't get past all the doubleclink.net stuff,h tml?articleID=199201237
http://www.informationweek.com/news/showArticle.j
-- Having a Creationist Museum is like having an Atheist place of worship
I was curious what the actual changes were, so I went a looked...
Why am I not surprised?
* 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
Dumping and reloading all tables?!? That must be one of the "enterprise" features MySQL boasts about?
Because the replication support in MySQL is very basic. A single master for the whole database, isn't that a bit limited? I had to run two database processes just because I had two data sources to replicate from.
Unfortunately, the patches from Google don't really fix the basic problem. I think MySQL needs a complete redesign of the replication function. Oracle seems to handle this much better: the replication is controlled on the master, not the client, and it works in just about any combination you can imagine. That is not to say that the MySQL replication is not useful in certain situations (it fans better), but it is very much limited to one kind of application.
Way to go.
The Google add-ons are under Apache 2, while the open source version of MySQL is under GPLv2. Doesn't this present a problem?
How long until Google's contributions to the open source community become regarded as financially motivated or opressive?
Rather, the question I want to know is, when will it become cool to hate Google?
The survey ``asked developers at 517 companies in its 2006 winter survey what database they developed with'' with developers allowed to give multiple answers. It isn't clear to me why Oracle was split between two versions while none of the other databases were.
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.
Run and catch, run and catch, the lamb is caught in the blackberry patch.
They're combining different versions (10g and 9i) of the same product. I'd have more sympathy for the distinction for the split if they (a) differentiated along those lines for all vendors or (b) they were differentiating distinct products such as the flagship Oracle RDBMS vs. the products the various database vendors purchased by Oracle that they still offer for sale while the features are being folded into future versions of Oracle proper.
IMHO the dual license issue is holding back Firefox and OpenOffice.org as well. There are GPLed things that would make sense to include in each of those, but will not be included because of the dual license issue. Evince and (in the near future) gnash would make nice additions to firefox, not to mention the fact that they couldn't leverage existing SVG code going into 1.5 but had to write their own. Sure there are plugins, but for common stuff it should just be in there. OpenOffice is apparently planning to rewrite the charting portion of the spreadsheet. Wouldn't it be nice to be able to use existing GPLed code for that? Perhaps taken from gnumeric. Never mind the merits or lack of, the point is that they don't even have the option because of the dual license.
I was thinking about this and the commentator made a really big mistake unless we assume that no developers who intend to work with Oracle 10g are also working with Oracle 9i. Since the survey allowed for multiple answers, you can't just add the numbers of the two Oracle products together.
On the other hand, at least the commentator didn't add the numbers for MS SQL to the numbers for Access and conclude that MS has a combined 99% market share.
They survey is a multiple selection survey of what databases a certain number of developers intend to use for development platforms in a given span of time. You can only combine the two Oracle products together if there is no overlap between respondents who answered Oracle 9i and respondents who answered Oracle 10g. The survey had MS SQL at 61% and MS Access at 38%. If we used the same arithmetic, we'd have 99% of developers intending to use a Microsoft database platform. But, the truth of the matter is that there is a significant amount of overlap between those who use SQL Server and those who use Access as one of the more popular uses for Access is as a front end to SQL Server.
From the analysis I've seen of the Evans Data numbers, you can't pull out enough information to find out how many developers are using either Oracle 9i or Oracle 10g. Rather you can only know that of the developers polled, 20% use one and 22% use the other. How much overlap exists between those two groups is unknown. For that matter, how much overlap between MySQL developers and MS SQL developers is unknown. The actual report might break things down enough to get good information but I've only seen the treatment by various trade rags rather than actual report.
TFA says they don't use MySQL for their search engine database. Does anyone know what they DO use for search?
Not having seen the survey, if the survey was "pick one", then there's potentially no middle to be excluded.
Regardless, it's not defensible to subdivide Oracle by version and not subdivide any other RDBMS system.
But the results add up to more than 100% so if it was ``pick one'' then the results are bogus anyway. But I do agree that is highly irregular to subdivide version's of one vendor's products but not the others.
I'm so sick of hearing uninformed people complain about MySQL issues that have been non-issues for years now.
All three of the issues you mentioned are fixed. And not in MySQL 5 which came out a year ago. No, they're fixed in MySQL 4.
All these complaints about MySQL data integrity as if it's a common occurance to lose or corrupt data in MyISAM tables are just ridiculous.
Go try all three of the items you've mentioned against a MySQL 4.x table with the default ISAM storage engine. The only one that MIGHT happen is silent truncation, but that's only if you configure it to report only errors and not warnings.
Are you a consultant? ;) (I was... sounds like Deloitte...)
Kidding aside, the best use of MySQL and MyISAM is for data you modify very often compared to how often you read them; either short lived-data such as session data (cookies) or logs.
It's so much better to have your logs in MySQL than on a flat file, you can do all kind of analysis real time etc.
Perhaps Google can help bring back mysqlcc, and put those other stupid lame newer tools that mysql coughed up out of its misery.
I wonder if the cost of hiring programmers to implement these features in mysql outweighed the cost of using a more powerful DBMS like Postgresql or even a proprietary one like Oracle?
Mysql is known for a fast file system and is improving fast but many features google added already exist in current databases.
http://saveie6.com/
And its hard for mods to tell the difference between a troll and a genuinely stupid poster sometimes. Claiming that transactions are seldom needed is probably enough for people to think "nobody can really be that stupid" and thus decide you're a troll.
http://sql-info.de/mysql/gotchas.html
Most of that list is data integrity problems. Its not FUD, its fact.
Comment 1
Dude, Firefox is implementing a relational database in V3. ........So, you were saying?
Like I said, bro, move on. You're just a bystander. You have no clue what you're talking about. You're out of your depth here and it shows. I only look stupid to you because you don't understand how to use the tools of this particular trade. Assuming that atomic transactions are an essential part of a relational database is just silly. Assuming that every application that uses a relation DB needs transactions is equally as silly.
Seriously, you're clearly either a student, an IT grunt of some sort, or, MAYBE, an IT department CRUD developer whose never written an application that wasn't database centric. \\
Once again, I'm forced to bitch slap you, and I'm starting to feel bad for you. Everyone of your arguments is based on your own flawed and imcomplete knowledge. This is really getting comical but I feel like I'm shooting baskets over the guy in the wheelchair. I'm kicking your ass, but there's no pride in it.
So please, save it.