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.
The patch... (Score:5, Informative)
Re:Wont be included in MYSQL... (Score:5, Informative)
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)
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)
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.
Re:Wont be included in MYSQL... (Score:3, Informative)
It will be interesting to see what happens with the patches.
Re:WTF? (Score:3, Informative)
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)
=Smidge=
Nevermind - found the Wiki with more info... (Score:3, Informative)
http://code.google.com/p/google-mysql-tools/w/lis
Re:so... (Score:2, Informative)
Re:Hep Me Understand... (Score:3, Informative)
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)
Re:InnoDB...? (Score:5, Informative)
Where did I say InnoDB wasn't MySQL
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)
Re:Hep Me Understand... (Score:3, Informative)
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.
Finding what's "under the covers" (Score:2, Informative)
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.
Re:Wont be included in MYSQL... (Score:4, Informative)
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.
Re:Wont be included in MYSQL... (Score:5, Informative)
Re:license incompatibility? (Score:3, Informative)
Re:license incompatibility? (Score:3, Informative)