Locating the Real MySQL
An anonymous reader writes "In a blog post, Patrick Galbraith, an ex-core engineer on the MySQL Server team, raises the question: "What is the official branch of MySQL?" With Monty Widenius having left Sun and forked off MySQL for MariaDB, and Brian Aker running the Drizzle fork inside of Sun, where is the official MySQL tree? Sun may own the trademark, but it looks like there is doubt as to whether they are still the maintainers of the actual codebase after their $1B acquisition of the code a year ago. Smugmug's Don MacAskhill, who is the keynote at the upcoming MySQL Conference, has commented that he is now using the Percona version of MySQL, and is no longer relying on Sun's."
http://www.postgresql.org/
Just saying.
I don't have any idea what the politics behind all this is, nor do I have enough interest to look it up, but it seems to me that if a company pays $1B for code, then it forks left and right and they're left with nothing but yet another version, that's not going to exactly be a good advertisement for investing in open source. While this outcome is much better than a closed source application being killed off, it still would have been much better if differences could have been worked out and Sun had something for their money.
These posts express my own personal views, not those of my employer
What did Sun buy exactly? Sales and support?
A bridge!
Hello Mr Sun CEO, I have a bridge here to sell you! Best deal you'll ever make. Pinky swear.
These posts express my own personal views, not those of my employer
please stand up?
THE MAGIC WORDS ARE SQUEAMISH OSSIFRAGE
...whatever is at www.mysql.com. Look, I'm not trying to be flippant, but when I'm trying to sell the boss on FOSS solutions, I need to send him a link to a site that will give him the warm-fuzzies that demonstrates that a. the tech is solid (typically mention Wikipedia for that one) and b. it's not some fly-by-night operation that will suddenly up and disappear.
I'm not trying to put the other projects down, and I can appreciate why they exist, but this is the exact reason I'm always being laughed out of meetings where they decide to buy an Oracle license, or a Microsoft OS, those guys have the message down (i.e. marketing).
I'm trying to be the in-house cheerleader for what can be done in the free/open-source communities and mixed messages just don't fly to a boss who barely skims the executive summary of whatever glossy lands on his desk any given day.
For $1B I'd say it's plenty viable to sell an open source business. Buying one on the other hand may be open to debate.
Actually the subject is how your data is supposed to be used.
MySQL users see the database as a program persistance layer. I am not sure WHY they are using something that pretends to be a relational database, but they are. It is the single-app approach (one app, one database).
The PostgreSQL crowd sees data and application as being separate issues. The data in theory should be able to be managed in any of a hundred different applications, all hitting the same database, without causing the nightmares in QA that this sort of thing creates in MySQL.
So is the program what is important? Or is the data there to be used by many programs?
MySQL works OK for one-app databases and many people think that is all that is needed. It breaks down outside that area, however.
LedgerSMB: Open source Accounting/ERP
What, haven't you people heard of Access??
You forgot to broaden your scope. Otherwise, you are correct.
Your database is almost literally your company. It should reflect your way of doing business--any moderately skilled developer should be able to walk into an orginization they know nothing about and using only the database schema, infer pretty much what the company does, and how it does it.
You can always fix flawed software design, but it is almost impossible to fix a flawed database design. Do your database wrong, the growth of your company will be hindered. Do it right, and your company will flourish. No joke.
i asked you a valid question, how does innodb not maintain referential integrity? you bring up myisam. i didn't mention myisam. i know myisam isn't ACID. i asked you how innodb isn't. and as for error reporting, http://dev.mysql.com/doc/refman/5.1/en/error-handling.html. so again, how does innodb not take referential integrity and error reporting seriously?
Well, how about completely ignoring the "REFERENCES othertable(othercolumn)" syntax for foreign key constraints without as much as a warning in even the strictest mode, leaving you without referential integrity without any way of knowing?
Or from the manual: "By default, the binary log is not synchronized to disk at each write. So if the operating system or machine (not only the MySQL server) crashes there is a chance that the last statements of the binary log are lost. To prevent this, you can make the binary log be synchronized to disk after every Nth binary log write, with the sync_binlog global variable (1 being the safest value, but also the slowest)."
So InnoDB still defaults to non-ACID behaviour, but it doesn't stop there yet:
More from the manual: Even with [sync_binlog] set to 1, there is still the chance of an inconsistency between the tables content and the binary log content in case of crash. [...] This problem can be solved with the --innodb-safe-binlog option (available starting from MySQL 4.1.3), which adds consistency between the content of InnoDB tables and the binary log. For this option to really bring safety to you, the MySQL server should also be configured to synchronize to disk, at every transaction, the binary log (sync_binlog=1) and (which is true by default) the InnoDB logs.
Another option if you want ACID. Oh wait, there's a 3rd, since binlog defaults to off so you need to enable that too. Three options have to be changed from their defaults to get durability after each and every single commit (when we're talking databases, that's kind of what I expect. If you don't, that's fine, but we're not talking about the same thing then)
, are you referring to companies like google, yahoo, or alcatel-lucent? need i really go on?
Stick to apples-apples comparisons. None of those companies are using MySQL as a relational database (say, doing their accounting in it or trusting their business on it), sure Google uses it as a memory-only non-transactional clustered datastore with an SQL query interface, after having put in a lot of patches to make that work, but so what? Yes, use it for that, sure use MyISAM for your blog, but when we're talking about a proper relational database where "commit" means the data is stored, where a foreign key means a foreign key and where you would run your core business on it then stick to those cases where it's actually used as such. A better example for that is Skype, which runs its entire operations from buddylists to billing on Postgresql.