Has MySQL Forked Beyond Repair?
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.'"
In 3, 2, 1
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.
Point taken... The do not need to provide the wining fork, just support it. They actually have a cost advantage if the winning fork is developed by someone else. The downside is that they can't just merge the open code back into the commercial database, and that is a significant downside.
I've already started planning my open source project to support Maria. I'll probably still support MySQL but I expect the community version will have fewer options and functionality over time and will fall out of use so it's probably just easiest to start making the switch to MariaDB right now.
From my understanding, it already supports PHP and is far faster than 5.1.
This is my sig. There are many like it but this one is mine.
If I could only think up a cliched pun using the term forked, I would be sure to get the converted +5 funny mod.
If only.
Funny you should say that. We're working on dumping Oracle licenses where they're not needed in favor of MySQL. That was going to be expanding our Sun support contract. Oddly enough - it might end up expanding our Oracle contract. That is, unless Oracle gives us reason to look elsewhere for MySQL support.
I really don't think they care, nor do I think that they bought Sun for MySQL. I wouldn't be surprised in the least if they kick it to the curb here and either create a lighter low end Oracle DB for MySQL's users or if they revamp Sun's support for PostgreSQL by making it the preferred entry-level compliment to Oracle DB. Oracle already has a huge service wing, and using PostgreSQL wouldn't hurt them in that capacity as a vehicle for selling Oracle DB where it makes sense to those customers.
Just tell me which one to use for the salad, so my ignorance doesn't trip me up like it did with that bidet that one time.
This really isn't as serious as is implied. MySQL is GPL. The forks are GPL. Therefore, if Oracle wishes, they can just cherrypick the best patches from all forks and integrate them back into their codebase, community involvement or not. I expect MySQL to remain the official MySQL, unless it completely stagnates, simply due to name recognition if nothing else.
Really this need not bad news.
This is all part of an opensource product life cycle.
It had its peak time, still being used in some great projects.
In good hands would still have a great future.
-- It is the mark of an educated mind to be able to entertain a thought without accepting it. -- Aristotle
Too many forks? Just create another fork.
What usually happens is a fork progresses to the point where all the developers want to re-write all the code from scratch anyway. Just skip to that.
How much of MySQL can be split off entirely and developed as a "common" frontend or a "common" backend? If there's a specific module or layer that everyone can more-or-less agree on in terms of code and API, then make that your "MySQL" and make the rest a dependency where the variations are interchangeable.
The benefit of this kind of approach is that you can have something that can be highly tuned and yet benefit from the large existing programmer base. But it only works if you can split the code meaningfully and keep the interface across the split stable.
(GCC is close-ish to this sort of idea - anyone can fork a frontend or develop a whole new one without colliding with the backend developers, but the interface is far more fluid. Which is fair enough for a compiler, but won't work if you're talking databases. glibc/newlib/ulibc could also be considered similar in that they're fairly interchangeable but that's a special case.)
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
I have always wondered why people do not use PostgreSQL that much. It is better than MySQL in terms of stability and scalability.
You might wonder how I came to this conclusion. Well, I have used MySQL with MythTV and I have gotten sick and tired of corrupted databases/tables.
I have a read a reviews of PostgreSQL's stability and scalability beyond two cores and have no doubts it is better than MySQL on this front, though there have also been crowds here at Slashdot who think MySQL is better. My experience suggests otherwise.
Just move to PostgreSQL. Jeez!
A forked turd still smells.
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).
If the unofficial one gets broader support, it will probably get a new name and MySQL will become irrelevant.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
Personally it's just more of the same from MySql in general. MySql AB didn't do much of anything with it since 5.0 came out. They wasted a lot of time on a complete rebuild, on adding more features no one cared about. The thing about MyQql 5.0 is that it's really not a very good database. MyISAM sucks (but it is small and fast..) and InnoDB is bloaty. So I think that really MariaDB is going to be the future. Of the codebase. That is the nice thing about MySql is that really it's a wrapper around the Storage Engines. But the problem is the wrapper sucks. No kerberos/LDAP authenication?! What?
I could see Oracle taking one of their open databases and adding a Mysql compatibility layer so basically you can run stuff designed for Mysql on Oracle. This is really their bread and butter already, they move legacy stuff off old UNIX and IBM databases into their DB. Look at all the gateways 9i had. MySql only implements a subset of what Oracle can do. And with no support for the more modern, more object orientated practices, along with trees, etc, I don't see MySql making it out of it's current place as a cheap small database for non-critical applications.
That's not to say you can't make it quite stable and fast but it's not that out of the box. And the fact that 5.1 shipped with a crashing bug really makes me doubt Sun's desire to continue the brand. Which brings me to the forks, which are really the only thing keeping a stable 5.1 version alive out there.
Postgres is really not a viable replacement because it's a database nerd's database. I like it, but the data analysts at work won't be able to deal with its quirks. It does do a lot, but not small and fast like MySql. It comes from a long line of great database researchers, all of whom are well known around the Valley. A lot of all the major players' databases in the valley are based on ideas from Ingres including Oracle.
Personally, I think SQLite3 (4) is going to be the database of choice for small web hosts very soon. Small, portable, fast enough. At that point MySql will no longer have a purpose unless they can move into the middle tier dominated by MS-SQL.
Cool! Amazing Toys.
Your company must be run by morons.
Obviously. In fact, the people who run Wikipedia, craigslist, youtube, Slashdot, Apple, Cisco, Cray, Dell, Intel, HP, Motorola, NEC, TI, Xerox, Adobe, Symantec, Novell, McAfee, Citrix, Continental, Orbitz, Priceline, Amazon, ebay, Google, iStockphoto, Pricegrabber, Yahoo, ZipRealty, Linden, Audiogalaxy, Digg, del.icio.us, Facebook, Flickr, Freshmeat, LinkedIn, Photobucket, Stumbleupon, Twitter, and WordPress are clearly morons for using MySQL. These people don't know anything about databases.
In fact, I'm pretty sure you're the only person who's not a moron.
"Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
Are forks really a fact of life for healthy open source projects?
Most open source tools I use on a regular basis have never been (successfully) forked. More importantly, none of the other members in the LAMP stack have undergone a forking of the scale that MySQL is about go through. Sure, there are multiple 'L' distributions, but there isn't a healthy eco-system of production forks at the kernel level.
-Chris
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.
The question is not "Has MySQL Forked Beyond Repair?", but rather "Has MySQL been Forked Up Beyond All Repair?"
I've abandoned my search for truth; now I'm just looking for some useful delusions.
Really? I'm more tempted to think that whichever fork becomes the version in Debian (by being cooperative with the community, having the best features, whilst not going against free software policies) will be the one that gains momentum. It's hard to beat being available at the touch of a button in both a popular server-grade OS, and it's popular desktop-grade offshoot.
I don't know this for sure, but I can't imagine that Oracle bought Sun for the sake of acquiring MySQL. In fact, the only thing they really might be interested in it for is to destroy it.
Sure, they could nurture it along, make it the entry-level to REAL (i.e. Oracle) databases, but that's expensive, uncertain, and seldom profitable in the long run. Crushing it in-house, encouraging division and fractionation in the community, and letting it become another piece of roadkill is easier and more effective.
HOWEVER, I doubt they'll bother. MySQL doesn't compete with Oracle, and it's not good enough (no, really--it's not) to foster from their commercial point of view. Realistically, they'll let it sit there, doing its thing, while they concentrate on what they bought Sun for: Vertical integration, bundled solutions, and a complementary server line and OS for their software.
Thinking that Oracle CARES much about MySQL is almost certainly a conceit.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
Because Oracle licenses can cost millions in an economy where every dollar counts whereas MySQL is free and fairly reliable. When he says "unneeded", he's probably referring not only to features but to stability and all those things that make people consider MySQL a toy database. If you need multiple 9s reliability, use something else. If you just need things to be up 90%+ of the time without any of the fancy features that Oracle gives you, then MySQL is an easy choice. At that point it comes down to whether you want to use MySQL or a more robust free database, and when it hits that point MySQL has a strong advantage in ease of use.
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).
Amazon uses Oracle on Linux:
http://www.dba-oracle.com/oracle_news/2004_2_17_conway.htm
They do have some MySQL installations, but the big DBs are Oracle+Linux.
MySQL has features, and it is free, but it can't compare performance wise to a properly tuned Oracle installation.
haha that sounded like the 'things I care more about than you' rant by Dr Cox in Scrubs! ... oh wait, I'm the only one that watches that show
"Yeah Tommy, before Zee Germans get here
I'm pretty confident that most of those companies are running MS SQL, Oracle, and MySQL... among other things.
MySQL has it's place. It's place is most certainly not in mission critical, highly available, highly scalable solutions.
How many Enterprise Data Warehouses out there run on MySQL?
Also realize that many of the web-centric companies you listed there probably started out using MySQL because they couldn't afford anything else. Their architectures often have a high degree of redundancy and load distribution among commodotized hardware. This is certainly a niche where MySQL reins supreme.
Unfortunately, no matter how hard you wish upon a star (schema - DBA humor ha-ha!) MySQL is just not on the same level as MSSQL, Oracle, or even DB2. Sorry.
Don't believe me? /min.
Go ahead and create a multi-TB database (on one server) with a few tables that are >100GB each. Do some performance benchmarking after scaling as best you can with each DB System and let me know how that works out for you.
Oh, did I mention that this has to be on one server that you replicate to the other side of the world with less than 30s of change difference between the two and that you also need local HA and global DR OUTSIDE of the replication you just setup?
Oh yeah; your data change rate is ~500MB
Good luck!
Maybe copy & pasting things you read on the internet and calling other people names wasn't the best idea, huh?
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.
Living in Chile
In the SMB space yet but dont forget Red Hat/CentOS still dominates the enterprise in the Linux space.
Who they go/stick with will be important too.
Make SELinux enforcing again!
I've heard the arguments that postgres is as easy as MySQL, and they're bullshit.
Lets see:
Postgres has no good GUI applications that can compare with MySQL's
Why you need more than one is beyond me. Isn't Pgadmin enough?
their command line application is just as good in its own way
Well, ok. Whatever 'in its own way' means.
and the market share that ensures you need to google multiple times to find the info you're looking for.
Postgres has some of the best documentation of any open source project I've seen. Sure, MySQL is good as well, but lets not spread bullshit here.
Installing postgres is also a nightmare compared to MySQL.
You mean in a download-the-msi-and-double-click-on-it way, or the apt-get-install-it way?
To sum up: free > $millions, easy > full-featured (in many circumstances).
Well, it's fully-featured, but not necessarily all of those features at the same time. Try doing full-text indexing on a database with foreign-keys on it in MySQL sometime.
There is nothing interesting going on at my blog
> MySQL is free and fairly reliable
Actually it's not free, it's "Free". That might seem a small distinction, but the minute you want to license your own code that talks to MySQL commerically it will bite you in the ass in a rather unpleasant way (as in, call your Oracle sales-rep).
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?
Wikipedia
Is 99% cached content, served as effectively static files
Google
Has some developers who have it installed; none of their major services are based on it
Facebook
According to the video of how it works, is basically a graph database, on top of a giant key:value table, on top of memcache, on top of mysql -- ie, they do their best to avoid actually hitting the database, and when they do, they only make use of the most basic functions (and it isn't even good enough for that, so they're working on a replacement)
Twitter
While large, it's hardly complicated in terms of database schema, and it /still/ falls over all the time :P
The other sites, I've never seen any behind the scenes reports on.
While "we have at least one copy of mysql installed somewhere in our organisation" is common, "we are using mysql as the central database for our heavily stressed mission critical systems, and it works great" is much rarer :-P
I mod down anyone who says "I will be modded down for this", regardless of the rest of their comment
MySQL's documentation is nowhere near as good as Postgres and when I found out this little tidbit about Postgres, I was sold:
http://www.postgresql.org/docs/8.3/static/datatype-character.html
In particular:
"Tip: There are no performance differences between these three types, apart from increased storage size when using the blank-padded type, and a few extra cycles to check the length when storing into a length-constrained column. While character(n) has performance advantages in some other database systems, it has no such advantages in PostgreSQL. In most situations text or character varying should be used instead."
There is more to learn when using Postgres, but not too much just to get up and running. I managed to get it running with an ORM that had been using MySQL in a few hours. The docs are really good too. Oh yeah, and my favorite animal is an elephant.
My impression is that mysql is in very widespread use. If beeing concerned about developer drain to forks, i am sure oracle will hire new developers. They may be not working as long on the project as the old ones, but i am sure oracle is not going to let mysql down. Oracle has a *big* advertisement over main entrance of the biggest public transport station in Tokyo, moreover they plaster nearly every airport i know with advertisements. My estimation is that all these advertisements today cost *much* more per effect they have today than the comparatively cheap development of mysql for influencing tomorrows decision makers. Moreover, selling support for mysql also gives them direct access to customers they otherwise would never get.
I had bought it for other reasons (see the site). But now it serves a new purpose.
Looks like the forks already have names though, I guess.
With most of the exanmples mentioned, a small number of DB errors (lost records, index errors, sychronzation errors) are accepttable. For applications like youtube, slashdot, etc. it really doesn't matter if records are lost. I'd be more interested in hearing about major financial or business systems that run on MySql. MySQL is a nice database--good for hobby projects--even big ones--but nor really the choice for heavy lifting DBs. Most of those examples started with MySQL because they needed free more than reliable.
Not sure here you're right; if you assume the list to be accurate and true, there are a significant number of IT big boys in there...
Of course if you are right, then the list is most likely wrong.
Semi-automatic amateur armchair Australian philosopher; conjecture ready at any moment...
Facebook issues reports everynow and then, but its a moving target as most of the sites are. Somethings only scale so far. Facebook & Google seem to be on the Map Reduce train for the majority of their services. Yet, Google is one of the major third party contributers to Mysql, although its not clear exactly where they use it ( I've heard rumors of adwords being done via mysql). They've reported uptimes of 2-6 years ( for the whole stack Hardware, OS & Mysql under load) here
Well.. maybe. Or Maybe not. But Definitely not sort of.
MySQL has it's place. It's place is most certainly not in mission critical, highly available, highly scalable solutions. How many Enterprise Data Warehouses out there run on MySQL?
and respond, but then I decided to read the rest of your post first.
That said, this reply is thus a response to your post as a whole.
Are you seriously that stupid? If all those companies use it, it's for good reason. You're an idiot, Coward. I would mod you down if I could.
how is babby formed?
Because, to achieve superiority, one must alter context before presenting a challenge to ensure that, under these erroneous circumstances, the challenger can never win. Fair circumstances may have more accurate results, but they don't always please the uberleet.
Comment removed based on user account deletion
It's irrelevant. We moved everything to PostgreSQL and life is as uncomplicated and standards-compliant as life can get.
Kriston
I keep reading arguments about DBs that eventually end up claiming that - "well it's all well and good that youtube, facebook etc use MySQL but it's not really for the enterprise/heavy lifting/financial part so really, MySQL is no good."
Well then stop thinking of MySQL as an RDBMS if that pleases you. At least admit that it is good at something that other DBMSs aren't quite as good at - clearly there is a need for a 'less than ACID compliant DBMS' and MySQL fills that role quite well, thank you very much.
Oracle and Ingres were serious competitors about 25 years ago. However, Oracle quickly adopted a significantly better design that put Ingres-like databases (Ingres, Informix, Illustra, the original Postgres, etc.) virtually out of business.
Not only that, the internal MVCC architecture of PostgreSQL is *much* closer to Oracle than any of the other Ingres derivatives - including Postgres itself. The original Ingres hit the wall in large part due to the lack of multiversion concurrency control and row level locking (among many other things). In other words, it was practically useless for running large transactions concurrent with other activity, an area where Oracle shines.
Page level locking and no MVCC means that writers block readers (and other writers) until the first transaction to lock the page commits. Page level locking means that which rows will be incidentally locked up by a transaction is essentially random.
Such databases worked well if you were read mostly, and ran small quick transactions during the day, and large long running transactions in appropriately scheduled batch jobs at night. Unfortunately, technologically speaking, MySQL is about to catch up to where Ingres was just prior to entering its terminal decline twenty years ago. The InnoDB engine is the only major exception. Of course people typically use MySQL for rather different applications than they use Oracle for, and MySQL is radically less expensive.
Comment removed based on user account deletion
... Oracle will have to regain the the trust and support of the MySQL community -- in other words, 'stop acting like Oracle.
If you go to http://www.oracle.com/technology/index.html you may notice that they give away their base products (ie RDBMS and JDeveloper among others) to developers for free, and if you go to their forum: http://forums.oracle.com/forums/main.jspa?categoryID=84 you should find that they have a large and thriving community for that very reason.
I like MySQL - but Oracle is my favourite database by a mile. I do system work daily with all of the major ones: Oracle, DB2, Informix, Adabas, Sybase, Teradata. I'm no longer an expert in any of them (used to do a lot of Oracle), but I do know that Oracle is still the standard the others are trying to reach up to, SQL-wise and with respect to scripting.
MySQL is not even in that game IMO, but it has a very simple API, so it is hugely useful for smaller applications.
We had awful performance nightmares when using Mysql5.0.x when ordering records on tables that had indexes. That created an enormous bottleneck as it was a table that was written to and read from often. We used InnoDB (garbage). Yes Mysql is faster, but only when using MyIsam (which is useless for me). After the pain of dealing with this, we migrated to Oracle10g. Yes we had teething issues (specially with storing 0-length strings!),but the app does fly now. Kudos to hibernate for making the application side fairly seamless. We had to change code where developers did not use binds, and hardcoded the values (e,g, boolean in mysql, and number in oracle). Very silly for us. Migration is a BIG pain, so you'll want to decide up front (from the business) how much REAL usage they expect so you can recommend the best DB for the job. Turns out business grossly underestimated the traffic and concurrent users.
Anyhow, I'm using Postgres 8.3 now and it seems rock solid, and no fudging around with IP permissions. Who in their right mind would run a database on a world accessible machine? Nuts! Oh and postgres doesn't appear to bottlneck on a sort.
Back to the original topic, stop making Mysql so hard to keep a track of. We started using Mysql 5.0.16 and ended up migrating all the way until 5.0.44 and it still was buggy until we gave up for the oracle solution.
It's not clear yet what Oracle plans for MySQL, whether they plan to use it to gain market share with companies where an Oracle solution is overkill, whether they're going to use it to create a cheap database appliance, or whether they plan to just scrap it.
Whatever their plans, having every loony in the bin fork the product and basically shatter the brand into a million pieces is probably the best thing they could hope for. Excessive forking, feature divergence and general uncertainty will kill MySQL for professional purposes which is all Oracle really cares about. If they want it dead it'll already be dead and if they want to use it, the "right" fork will be Oracle's.
Sucks for me if I do NOT want to use Winblows platforms any more.
Is your Internet Throttled? Install DD-Wrt, OpenWRT or Tomato to learn the truth! Google: 1Gbps/1Gbps: 5 Communities
but the big DBs are Oracle+Linux
Generally the Big DB's are Oracle/Solaris/SPARC...
"The downside is that they can't just merge the open code back into the commercial database, and that is a significant downside."
Says who? As far as I know Oracle has no plans to change MySQL's license.
Since both MySQL and its forks are open source there's nothing stopping them from merging the two. In fact that is what Maria DB is doing, merging changes to MySQL into it.
That's weird,
Here http://www.postgresql.org/about/users Postgres claims Apple as a featured user.
I see calling names but no arguments from your part. "If they use it, there a reason" is hardly an argument anywhere except among clueless people.
Taking for granted that the list is accurate, I'm pretty sure none of them even remotely thinks about using MySQL for data warehousing. The ad-hoc nature of requests from a lot of business intelligence solutions, and the lack of optimizationn techniques in this scenarios, will simply bring it on it knees immediately. Let alone the fact that other products include specific storage engines for multi-dimensional models.
The other guy, OTOH, brought some arguments and gave due credit also to MySQL. So, sorry dude, but if I had one point left, instead of modding him up, I'd just mod you down into oblivion.
I have heard MySQL is better now. But when we moved a ansi sql thing to MySQL we where pretty surprised by what was missing. Back then the free version only had table locking, which made mostly read type database fast. But read/write/update heavy performance was quite poor. Also I hope transaction support and foreign keys are there now.
Postgres had all these features and basically a just worked with everything, including the store procedures.
But as i said that was a while ago now. Anyway we are currently all Oracle atm. But we have both mysql and postgres (and HSQLDB). A good database is one you can replace easily with another good database.
The Grey Goo disaster happened 3 billion years ago. This rock is covered in self replicating machines!
Oracle as a big issue here. The open-source share of the market is there an isn't going anywhere. Hopefully they realize that and fully support mysql, or they can sabotage the progect. Big companies start to realize that it's very difficult to gain open source market with proprietary products.
I believe for some applications there are room for both commercial(proprietary) and non commercial(free) software. I don't know if Databases are one of this applications, but Oracle seems to be doing pretty well.
On the other hand if they don't fully(and I mean fully) support mysql, mysql users will soon been migrating to other open source alternatives(and not oracle for sure).
With most of the exanmples mentioned, a small number of DB errors (lost records, index errors, sychronzation errors) are accepttable. For applications like youtube, slashdot, etc. it really doesn't matter if records are lost. I'd be more interested in hearing about major financial or business systems that run on MySql. MySQL is a nice database--good for hobby projects--even big ones--but nor really the choice for heavy lifting DBs. Most of those examples started with MySQL because they needed free more than reliable.
Actually I know several systems in the telecom, traffic and accounting industry where MySQL is used heavily and successfully. All these require outside oversight and reproductability of data (accounting, test result archiving, billing data). This is just a bullshit claim that MySQL is somehow "a hobby project database". I've seen a multi-hundred thousand dollar Oracle and MSSQL based systems have database errors, I have seen completely hosed PostgreSQL databases, I have repaired countless crashed MySQL indexes. There are means to counter these and if you just believe that your database magically works without logging, without redundancy and other things these "financial systems" need you are just waiting a disaster.
Right tool for the job and right precautions for disasters is invaluable skill to have, and no computer system I have worked with so far hasn't been failsafe without redundance and alternative ways of detecting what happened (outside the DB).
MySQL is actually exremely easy to repair with basic skills (MyISAM) and quite transaction-reliable (InnoDB), from these you have to choose which one to use. I'm sure PostgreSQL is also very good, but my personal experience has proven that it is not immortal either. And I don't expect my database ever to be, there must be a recovery plan for situtations like database corruption, error in program logic etc. when the integrity of data really matters. It's not just "but MySQL allows me to enter 2009-02-31 as a date" - in the real world this is not really very big concern (and for the record, you can now disable that behaviour).
Like Oracle gives a feces about community! They care about keeping the existing corporate supporting paying customers and then attracting more corporate support paying customers.
Parent was unfortunately moderated as "insightful" despite unsourced misinformation. Here's a sourced correction for you. Note that Google makes extensive use of MySQL in production:
Sometimes, if you are too slow, you can't keep pace with the peloton and keep touch with them. You never have a chance to catch them alone and abandon the race.
Go ahead and create a multi-TB database (on one server) with a few tables that are >100GB each. Do some performance benchmarking after scaling as best you can with each DB System and let me know how that works out for you.
Thanks for the great example!!! Now I know how 99.999% of DBs out there are!!!!!!
All hope abandon ye who enter here.
Yes, MySQL is well and truly forked...
Installing postgres is also a nightmare compared to MySQL.
I think he means the "OMG It doesn't create a default superuser on install! Panic Panic!!!" sort of way...
The do not need to provide the wining fork, just support it.
Wining, Diming, Forking... sounds like a good date(1).
We need to replace the M[ySQL] with a true open source project [...]
As far as I know,
replace the 'M' with something really open source and public that does not belong to a company.
The FSF holds the copyright of many important pieces of open source software (though they prefer to emphasize that it's Free Software). They're not commercial in nature.
They're a non-commercial organization. Companies are commercial organization. The only difference I can see is the commercial aspect, yet commercial use and copying of both Open Source software and Free Software is allowed in the definition.
I think you wanted to address something other than the licensing. Maybe the development model? Copyright transfer? Governance and leadership?
They do tend to go hand-in-hand. But it's useful do distinguish different-yet-correlated concepts, such that we can discuss them more clearly and intelligently.
[That's also why RMS is against using the term "intellectual property".]
I'm not sure if you were responding to my post or the one yours is attached to (it doesn't list companies), but I just got those names off the MySQL site under "Customers". I was surprised to see some of those big names there (Cisco, Cray, Motorola, etc), and I definitely acknowledge that many of them can use MySQL for some purposes but not mission-critical stuff. It just irks me to see people trolling about MySQL being useless, it's obviously a useful piece of software that has a place in many applications.
"Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
Do you even know what a cluster is? Did you read the clip your quoted that says you "need local HA"?
Having a cluster != having the load spread out between multiple servers.
that Oracle (Larry Ellison, really) WANTS to be the "right" side of the MySQL fork wars? It's fully possible that Oracle bought Sun to eliminate the current largest source of MySQL contract support, isn't it? I mean, let's face it...that's exactly the sort of think Ellison is known for (see PeopleSoft).
I completely agree--MySQL is a great database for a lot of projects. If you have a relatively small (the definition of which can easily include > 10 million records) database, transaction logging is not a requirement, absolute concurrance is not needed, an occasionaly lost update or record is ok and off-site redundancy and failover are not needed it's a great database. For 90% of the databases, I'd heartily recommend MySQL (especially if developing in PHP). However for 90% of the database records, I'd recommend against MySQL and go with something that can meet the above requirements.
Truth be told, most of the databases don't need the heavy-weight overhead (CUP and money) of the commercial offerings, but no one should claim that there isn't any difference in quality, features and support between DB2, Oracle, MS SQL and MySQL.
Comment removed based on user account deletion
The other sites, I've never seen any behind the scenes reports on.
You obviously don't follow much about craigslist or yahoo finance, or Jeremy Zawodny's blog. Both use MySQL extremely heavily (albeit with various backend engines, not necessarily MyISAM).