Has MySQL Forked Beyond Repair? 334
snydeq writes "Fatal Exception's Neil McAllister questions the effect recent developments in the MySQL community will have on MySQL's future in the wake of Oracle's acquisition of Sun. Even before Oracle announced its buyout, there were signs of strain within the MySQL community, with key MySQL employees exiting and forks of the MySQL codebase arising, including Widenius' MariaDB. Now Widenius' Oracle-less Open Database Alliance adds further doubt as to which branch of MySQL will be considered 'official' going forward. 'Forks are a fact of life in the open source community, and arguably an entirely healthy one,' McAllister writes. 'Oracle just better hope it doesn't end up on the wrong side of the fork.' To do so, he suggests Oracle will have to regain the the trust and support of the MySQL community — in other words, 'stop acting like Oracle.'"
Oracle needs to cater to business not the communit (Score:2, Insightful)
If Oracle provides what business needs/wants .. and that's what they have been doing thus far. They will be fine. Nothing to see hear move along.
Re:Cue postgres fan bois (Score:5, Insightful)
It now makes far more sense to develop using a different DBMS.
Note: I've never installed or used PostgreSQL.
Re:Cue postgres fan bois (Score:5, Insightful)
Clearly this is a troll but regardless of all other features that MSSQL may have that MySQL doesn't there is one thing that is missing: LIMIT. No, TOP is useless for a lot of stuff and the fact that LIMIT is missing results in lots of painful hacks with nested SELECTs and other crap in stored procedures.
/Mikael
Haven't we be here already? (Score:1, Insightful)
The REAL MySQL is whichever has the trademarks. MariaDB will be another RMSDB. May even be better than MySQl, but it won't be MySQL.
One thing most FOSS people have to learn. In the corporate world, developers are resources, they are not what makes the product. The product is made by the Company, using whichever resources it has (cash, materials, people, etc).
Re:Cue postgres fan bois (Score:4, Insightful)
That's entirely correct. MSSQL has several nice features, but the lack of LIMIT.. well.. really limits its usefulness. The concept of a LIMIT clause is so useful that the lack of it is essentially a dealbreaker. The hacks to implement some sort of limiting using TOP are very inefficient and don't result in any sort of performance increase comparable to the one you get with LIMIT.
Re:Not as serious... (Score:3, Insightful)
Re:PostgreSQL: Why don't people use it that much? (Score:5, Insightful)
Religious debate. Way back in the Olden Days, postgres was an unstable mess. Absolutely godawful. Corrupted databases, lost data, slow as moleasses, constant need to restore from backups. Completely worthless.
At the same time, MySQL was fast, stable, fast, worked well enough, slightly feature incomplete, and fast.
Those old stereotypes have stuck. MySQL nowadays? Actually pretty feature complete. PostgreSQL nowadays? Pretty stable and solid.
But nobody updates their perceptions, so the old ideas shine through.
Re:Cue postgres fan bois (Score:5, Insightful)
No, that's YourSQL.
No, it's Bill's SQL.
Re:Cue postgres fan bois (Score:3, Insightful)
Re:Cue postgres fan bois (Score:4, Insightful)
When you develop for something, you want to develop for a stable feature set. If there's going to be a dozen forks of a database, it becomes much more work to test all the versions and apply patches.
The very existence of these forks proves MySQL could easily be better, and/or there are major problems with the development method. Either way, it's a sinking ship. OTOH, a dead project provides the ultimate stability.
Re:PostgreSQL: Why don't people use it that much? (Score:3, Insightful)
Well, yes, PostgreSQL is good. So is Ingres, now that there's a GPL version. Even fewer people use that. (Hell, I don't even know a distro that has Ingres packages.)
And, of course, those are only a few of the database engines out there. When you consider the sheer number of different types of database there are (hierarchical, relational, OLAP, object-oriented, indexed sequential flatfile, random access sequential, and so on), it's obvious that there's a lot of room for specialist engines.
Chances are, though, that users don't have meaningful access to even a fraction of the engines out there, or any sensible way to compare what their requirements are with the types of engines they can choose between.
Open Source is all about choice, but without the information or the means to make that choice, the choice is essentially an empty one.
Re:Cue postgres fan bois (Score:5, Insightful)
Then again if LIMIT is The Thing that make you choose a DBMS you may as well get a b-tree indexing library and play around with offset by yourself...
Oracle doesn't care (Score:5, Insightful)
Oracle doesn't care about losing the trust of the MySQL community. They already have a database to sell; they're probably more interested in the vertical integration with OS, hardware, and programming language tools.
I wouldn't be surprised if they were happy to sell the MySQL business unit, or kill it completely.
Re:Cue postgres fan bois (Score:3, Insightful)
Isn't it really more Steve's SQL these days?
[Insert overdone chair-throwing joke here]
Re:PostgreSQL: Why don't people use it that much? (Score:5, Insightful)
There's no SERIAL datatype. It's simply a shortcut for creating a sequence, and is equivalent to saying "integer DEFAULT nextval('tablename_colname_seq') NOT NULL".
Also, I'm feeling really curious about this, because:
1. Why would the sequence get out of sync in the first place?
2. If it does, why doesn't using nextval and setval work for fixing it?
3. How will the app lose data? If somehow it generates the same number twice, any attempt to INSERT a row would simply fail.
So please explain how you get what you said to happen.
Re:MySql (Score:3, Insightful)
SQLite is fast all right, but it doesn't scale at all.
PostgreSQL scales well, but is fairly slow on average.
The thing with MySQL is that you were supposed to have both.
Re:Knowing Oracle... (Score:5, Insightful)
That's an interesting point of view. I saw things slightly differently, so say what you think of my take on it. I agree that Oracle might not actually care so very much that they got a free MySQL when they bought SUN. But in so far as they do pay attention things, I would think they'd steer people away from PostgreSQL toward MySQL rather than the other way around. My reasoning is that there is a clear and significant gap between MySQL and Oracle DB. MySQL is never going to draw many customers away from using Oracle DB, and mostly the other way around as well. But I see the gap between PostgreSQL and Oracle as being much smaller, both in the capabilities of the two databases and the easier time you have moving from one to the other (in either direction). I think that makes PostgreSQL more of a threat to the Oracle install base and thus something they would prefer to keep people away from. Using MySQL as a stalking horse makes more sense to me. Thoughts? Matches the real world or too conspiracy?
Re:Not as serious... (Score:3, Insightful)
Doesn't work so neatly as that. GPL is a copyright and you can infringe copyright without using literally identical material.
I'm not so sure the ethical argument works out either. Just because some GPL advocates say they want others to study and learn from it, doesn't mean that the people who actually contributed to it intended for it to be studied, learned from, and then essentially plagiarized without the license. I doubt even most advocates who speak those words are intending that you do this.
Re:Oracle needs to cater to business not the commu (Score:1, Insightful)
I've heard the arguments that postgres is as easy as MySQL, and they're bullshit. MySQL has good GUI applications, a good command line application, market share that ensures a tutorial for everything under the sun, and an easy installer for windows and linux. Postgres has no good GUI applications that can compare with MySQL's, their command line application is just as good in its own way, and the market share that ensures you need to google multiple times to find the info you're looking for. Installing postgres is also a nightmare compared to MySQL.
To sum up: free > $millions, easy > full-featured (in many circumstances).
Re:Cue postgres fan bois (Score:0, Insightful)
Assuming you have a unique key on the table called ID,
SELECT * FROM Table LIMIT 20, 10
becomes
SELECT TOP (10) * FROM Table WHERE ID > 20 ORDER BY ID
?
Re:MySql (Score:5, Insightful)
SQLite is fast all right, but it doesn't scale at all.
MySQL does?
PostgreSQL scales well, but is fairly slow on average.
Honestly, that hasn't been true in years.
The thing with MySQL is that you were supposed to have both.
And yet somehow ended up with neither.
Database abstraction layers people (Score:4, Insightful)
The LAMP stack was always fundamentally flawed because the 'M' was not really an open source public project, where everything else was. We need to replace the M with a true open source project, and I hope the best project wins.
What everyone failed to do, that they should have done years ago, as a standard was build database abstraction layers. I know people will argue about performance bla, bla, bla but I don't buy that. We should have been doing it for years, exactly for this reason. Instead everyone was lazy, picked MYSQL because it was free/cheap/easy to learn.
Now, hopefully get off our lazy collective asses and build in database abstraction layers in to our web apps the way we should have from the start, or replace the 'M' with something really open source and public that does not belong to a company.
My only hope is that Oracle might do the right thing and cut it loose as a fully open source project to develop to its fully potential.
Re:Cue postgres fan bois (Score:5, Insightful)
Not when it comes to security vulnerabilities.
Re:How healthy are forks? (Score:4, Insightful)
Sorry for replying to myself, but another fork in the making is OpenOffice.org->Go-OO. This one is interesting because it's more similar to the MySQL fork, in that the main project is controlled directly by a big corporation, rather than a nonprofit entity as GCC and XFree86 were. Apparently a lot of OO.o contributors weren't happy with the control Sun had over OO.o, and believed that Sun wasn't very accepting of patches contributed from outside Sun. So they forked it to "Go-OO", which is now included by default in several Linux distros.
Re:Oracle needs to cater to business not the commu (Score:3, Insightful)
One server? Why? Your company is big enough that it can afford to be running OC-12 links at your site and OC-3 to both the remote, and the DR sites (500MB * 3 = 1.5GB/min, with TCP/IP overhead, in the order of 300mbps) for your database alone, let alone email and other connectivity, at going market rates of over $600k/mo, and yet you can't/don't want to cluster a couple of servers?
Re:Cue postgres fan bois (Score:3, Insightful)
Have you USED SQL Server? Have you USED Enterprise Manager? Do not say "Yes" Because making the comment you did proves you have not, or that you are an imbecile. Enterprise Manager is quite possibly the single best thing Microsoft has ever turned out. Were it able to interface with other Databases with a fraction of the functionality it currently has, MS would be selling a copy to every damned database developer who values their time. SQL Server might not be ORACLE for scalability, but it comes real close, and it sure is a hell of a lot more scalable than MySQL, and yes, I am/was a MS Certified DBA who now develops apps based on MySQL. I am not fanboi, but I DO know both. SQL Server FTW without doubt
Re:Not as serious... (Score:3, Insightful)
Personally, I believe the bought Sun just to get control of MySQL so they could kill it, since it was taking sales away from them.
A cogent and insightful theory, except that it's precisely like Mack buying out Segway because it was taking truck sales away from them.* Oracle doesn't have a credible product (or even a foot in the door) in any market where MySQL is already effective.
But this won't be totally effective
For the basic reason I stated above
we need to get all the MySQL users to rally behind one of the forks not controlled by Oracle.
Fair enough; I dislike Oracle's business dealings and basic arrogance enough to get me behind a genuine grassroots fork. But don't succumb to Amiga Persecution Complex [catb.org]. If it happens, the non-Oracle fork's ultimate poor uptake and small community won't be because of some sinister Oracle Trilateral Commission keeping the little guy down; it'll be the little guy just being little.
*I'd like to point out the nifty Slashdot-compliant car analogy. OK, technically, truck analogy.
Re:Cue postgres fan bois (Score:1, Insightful)
It's Bill's SQL which is based back in the way-back on Sybase 10 and is one of the few apps Microsoft hasn't totally trashed since acquisition.
No, you can read up the whole development story in "Inside SQL Server book" if you want. Sybase code base was used up to version 6.5 of SQL Server. Starting from version 7.0 the product was completely re-engineered to the point that, AFAIK, there's nothing left from the original code base in today's versions. But maybe you can surprise me with some references...
The management tools are painful, but no moreso than say Oracle. (Oracle does a lot more, but the pain, oh the pain.)
Come on, this is simply wild trolling. So you got an "Insightful" for false statements and trolling, I guess this is how it works with some guys around here...
Re:Cue postgres fan bois (Score:1, Insightful)
Can I see MySQL implementation of recursive/hierarchical queries and windowing functions?
I'll trade analytical functions over syntactic sugar to page record sets anytime.
Re:Oracle needs to cater to business not the commu (Score:3, Insightful)
Re:PostgreSQL: Why don't people use it that much? (Score:3, Insightful)
Because web hosting companies don't install it. They install MySQL, or MS SQL (if they're .net hosts.) That's it.
Re:Fork it (Score:2, Insightful)
So, I guess you were joking right now, eh?
Re:Oracle needs to cater to business not the commu (Score:1, Insightful)
Comment removed (Score:3, Insightful)
Irrelevant (Score:3, Insightful)
It's irrelevant. We moved everything to PostgreSQL and life is as uncomplicated and standards-compliant as life can get.
Re:Cue postgres fan bois (Score:5, Insightful)
Not when it comes to security vulnerabilities.
Not when it comes to security vulnerabilities.
It's stable in respect to security vulnerabilities as well. No need to create new exploits just to keep your malware compatible.
Re:Cue postgres fan bois (Score:3, Insightful)
It's not so much fanboys. When you develop for something, you want to develop for a stable feature set. If there's going to be a dozen forks of a database, it becomes much more work to test all the versions and apply patches. It now makes far more sense to develop using a different DBMS.
Microsoft has said exactly the same thing about Linux ..
What will happen is that developers will support one "brand" of MySQL. Just like things are today with Linux distributions.
Most corporate offerings support Only Redhat Enterprise Linux,or SuSE, although their products work (and are run on) different distributions.
That will also probably be the case with MySQL.
Re:MySql (Score:2, Insightful)
The result is that PG is almost always faster than MySQL in the general case.
Amen. And that is exactly why DBMSs where built in the first place: to handle efficiently, and independently from physical implementations, the the general case. A lot of solutions that implements very specific, hard-coded, physical access paths are faster than any DBMS.
MySQL is also loaded with gotcha's and odd behavior based on the "back end" or what settings you use.
And this is exactly what a DBMS should prevent: dependencies on physical implementations.
If someone think this is only theory, then he should do a reality check and see what good optimizers in the Oracle, DB2, MSSQL (and I guess PostgreSQL but I have not experience there) space can do with extremely complex queries
If I need to be extremely fast just a bunch classes of queries for a web back-end, then I may as well replicate data and just use an indexing engine.
Re:Cue postgres fan bois (Score:2, Insightful)
No it doesn't. It's going to show records 6 - 15.
Flame all you want, but at least do it properly.
Re:PostgreSQL: Why don't people use it that much? (Score:3, Insightful)
Are you trolling ? You don't have to quote your identifiers if they don't contain spaces in postgres. And if you don't know what sequences do or why they're useful, then you probably don't use any normalization anyway and you're better off using BerkeleyDB. I suppose your sequence gets 'out of sync' after an import (which doesn't include setting the sequence), and that by 'losing data' you mean that your inserts start failing on your unique constraints. This is why you reset your sequence after an import. If it's the 'holes' in your numbering that you're concerned about, then you haven't understood what primary keys are for. You don't count() with them, for example.
Re:Cue postgres fan bois (Score:2, Insightful)
You're supposed to be using SQL Server Management Studio. (I don't know if you'd consider that better or worse, but... at least it's "remarkably changed" from Enterprise Manager.)
I wouldn't agree there. From what I see SSMS is basically the old Enterprise Manager and Query Analyzer programs integrated, with some useful but minor UI improvements along the way. Oh, and a simple "project" abstraction for grouping script files and connection settings, and hooks to make other tools look more integrated.
Not what I would call remarkably changed. Certainly better, but an evolution rather than a revolution.
Caveat: I'm using SSMS as provided with SQL2005, we have yet to move towards SQL2008 so for all I know there could be more siginicant changes in the latest revision of the tool.
Re:Cue postgres fan bois (Score:3, Insightful)
My fundamental issue with MS and databases is that it's just too expensive in terms of money and hardware.