MySQL A Threat to Bigwigs?
Disoculated writes "Is MySQL a threat to bigwigs? is the question asked in CNN's technology section. The article notes that MySQL is running perhaps 20% of the web databases but its revenue is merely 0.02%... yet the company is still making money and putting out an excellent product. Is this a sign that the database market is in for a drastic change? Of course, there's no mention of PostgreSQL or mSQL, but I guess that's typical."
It all boils down to how MySQL 4 is looked upon. Big sites already use MySQL, as seen here, but will version 4 have enough features, be robust enough, and provide the support to convince those running things such as Oracle to switch.
We used to use mySQL, but moved to postgreSQL for performance reasons, and we're glad we have.
On the postgreSQL general mailing list, people rarely talk about mySQL anymore (let along mSQL). It's (mySQL) is generally regarded as a good alternative to the Berkeley DB stuff (i.e. non-relational), whereas postgreSQL these days gets lots of traffic from Oracle people wanting to go somewhere cheaper.
Oracle mustn't be happy, I'd think.
Have you ever looked at MySQL's online documentation? It's wonderful...
Fully indexed, with user comments... I often find new techniques while searching for something completely unrelated. I think the great documentation is one of the reasons why MySQL has taken off, it's just so easy to learn.
Doug
Venn ist das nurnstuck git und Slotermeyer? Ya! Beigerhund das oder die Flipperwaldt gersput!
It seems oracle is going nowhere in terms of its core market. I am hoping its eating middle end and low end databases like ms-sql server. Access in the low end isn't going anywhere because of its gui and development tools.
I wonder about Sybase and Paradox which seem to be mid to high end of the market which Microsoft really hurt and now so its mysql.
I tried out mysql and its ok but postgreSQL is alot better for a RDBM. Its no wonder that RedHat picked postgreSQL for its database product. In Asia the situation is opposite of the west and all the technical books are for postgreSQL.
I just find it hard to believe its eating Oracle's or IBM's core markets. Mysql is a simple bicycle vs a high end car in comparison.
http://saveie6.com/
A lot of the viability of any product is based on who is selling it as part of an end to end solution. More and more developers are doing this with MySQL, but most of these developers are doing it for relatively low end applications. The "high class" consutlants and developers will be using DB2 and MS SQL forever, because a) they're told to do so by the people who can fire them b) they're used to it, and used to touting its glory c) they have a ton of tools for it.
Furthermore, there are some applications that just don't make any sense to switch. An example is government databases. I'm working right now with a state government database written on top of Sybase, and i don't think it's ever going to move off of Sybase unless the company tanks. There's actually three pages of (somewhat unfounded) explanations as to why it can't be ported to MS SQL. Mostly bullshit about WACOM SQL being incompatible with Transact (which begs the question, why not just use Transact in the first place when MS' and Sybase' version are about 80% similar). Can you imagine the developers, who have big enough egos to include three pages of MS SQL Server bashing in their docs, redoing their whole bloated app just so it can run on a free environment? Lord no! Not to mention the cost to taxpayers, who have already footed massive bonds to pay the usually high up front costs for software. Think they're going to pay a hundred k for some developers to rewrite everything in a free environment when they could just pay a few thousand for a Sybase license?
Do I think that truly open minded (some would say wise) development houses looking to cut costs on new systems are going to go MySQL? Absolutely. But there'll always be a place for the behemoth server app, not because it's better, but because it's PERCEIVED as better.
Hey freaks: now you're ju
Sorry.
The GPL, one of the licenses under which MySQL is distributed, states that if you re-distribute it, you are also required to share the changed source code.
My complaint was that the article was imprecise. If a company changes, but does not re-distribute MySQL, they are under no obligation at all, ethical or legal. If they re-distribute it then they are under a legal obligation to share their changes to anyone who uses it (not just MySQL AB).
J'aime mieux les méchants que les imbéciles, parce qu'ils se reposent. -- Alexandre Dumas
The GPL does not merely give you an ethical obligation to share your modifications with anyone you distribute them to. It gives you a legal obligation. Until shown otherwise by a court, the GPL is legally binding. As such, stating that the (presumably only) obligation that someone modifying the code has in an ethical one furthers the outdated notion that all pieces of Open Source Software are amateur projects that are only held together by people who choose to donate their time for whatever higher reason. Not that there is anything wrong with volunteering your skills, but there are major businesses investing time and money in OSS.
From a business standpoint, OSS is legitimate. It would be nice if CNN reported it that way.
Note: I contacted CNN.com regarding this when they first posted the article. Predictably, I have not yet received a response.
My legal education, in nifty podcast format
From the posting:
Of course, there's no mention of PostgreSQL or mSQL, but I guess that's typical.
This article has all the signs of being the effort of MySQL's PR firm. Nothing wrong with that; they didn't mention PostgreSQL or other OSS databases because their desired outcome is to increase awareness of MySQL, not the others.
Cheers!
Ehttp://eugeneciurana.com | http://ciurana.eu
MySQL is a phenomenal product, in terms of just how much a small to medium size business can accomplish with it, for so little cost.
;)
Having to use a data-storage solution like Oracle is simply unfeasible for anyone but large companies. I've been using MySQL for 3 years to build web applications, and I've never had a crash or corrupted data. The only problems I ever ran into was when one of my systems had a table get to 2GB on the 2.2 kernel, but that wasn't MySQL's fault
With the inclusion of InnoDB, MySQL definitely becomes a threat. The main problems I've run into with MySQL is backing up/restoring without locking up the whole system (table-level locking). InnoDB of course removes this!
I see no reason to use Oracle over MySQL for anything but the largest system. Then again, why even that? Doesn't Slashdot run on InnoDB...?
I moderate "-1, Fool"
you probably won't find too many databases on the 'net that need the kind of performance some commercial brands give. so i wouldn't say the drastic change is coming, unless companies start putting their payroll records for the web to see.
our company actually puts mysql onto websites, but no client comes (at least for us) and says 'can you replace my blah-blah db version blah point blah with mysql'. we usually put mysql as a replacement for product databases, forums, etc. which previously were stored in text files or worse. and we usually do this for clients who simply can't afford anything and haven't invested into updating their site in 1-2 years. if they can afford it, they usually already know what they want, and it usually doesn't come free in a cvs snapshot.
I was thinking of how to intentionally fail my drug test... It would make a good memoir story someday.
That's hard? Give me a break. MySQL is so internally inconsistent that auto_increment is practically the only atom in the entire data definition syntax that uses the underscore! How about this bit of MySQL genius:
Which is the default: 42, or max(foo) + 1? The statement is internally inconsistent but MySQL allows it anyway. Nevermind the stupidity of requiring a unique index on the auto_increment column.
PostgreSQL has a number of operational problems -- vacuum, toast table indexes, and so forth -- but the SQL syntax is not one of those.
Put a wrapper/installer around MySQL or PostgreSQL that lets you import a SQL Server database dump -- including stored procedures.
Furthermore, look at the dead-tree documentation available for each. Not only are there more MySQL books available than PostgreSQL ones, but the MySQL ones tend to be larger. For example, the New Riders MySQL book is over 400 pages longer than the PostgreSQL one - and their MySQL title isn't exactly brimming with filler. I'm convincesd PostgreSQL adoption will lag behind MySQL until more/better docs show up so people can learn it and its capabilities better.
Ita erat quando hic adveni.
Uhuh.......... CREATE TABLE foo (bar SERIAL PRIMARY KEY); (PostgreSQL)
CREATE TABLE foo (bar INT AUTO_INCREMENT PRIMARY KEY); (MySQL)
In both of the above tables, the bar column will behave pretty much the same way in each database. Yes, annoyingly difficult compared to MySQL because....... the syntax is different? Maybe if the first db you used was MySQL things seem "harder" because Postgres is a little different, but you'll see differences like that moving between any database.
In any case, even though I use Postgres, and prefer it over MySQL (which I have used extensively before), I am happy that opensource dbs are getting recognition out there.
Even auto incrementing IDs in Postgres are annoyingly difficult compared to MySQL...
Nah, they actually make much more sense in Postgres than they do in MySQL because you can access them using a standard query rather than some bozo non-standard driver extension as in MySQL.
The problem with MySQL is that the lack of basic functionality like triggers, subselects, foreign keys makes it a total PITA except for the simplest applications. Sure you can write code that works around the implementation limitations, but WHY should I have to reinvent something over and over that should BE PART OF THE DATABASE?
You may think this stuff is esoteric, and not needed for the average blog or even e-commerce site, but that's baloney. FKEYS *ARE* needed for just about *ANY* database application except the most trivial - ie. an address book.
MySQL - forget it - it just isn't competitive with other free databases out there.
MySQl being more popular than Postgres has a lot to do with mindshare than product quality. Take me, for instance. I set up apache for the first time a month ago, and I wanted a db server for some things. I had heard of both MySQL and Postgres, but I had been bombarded with the words "LAMP" and MySQL guide/tutorial/howto so many times in the past that my first thought was to give MySQL a try. I found it was already installed on my machine, had lots of documentation, and had no learning curve - no complaints at all. So, Postgres didn't even get a fair consideration from me. Of course, you might say that newbies and students like me don't count, but keep in mind that I might become a database admin some day, at t which point I would have a lot more experience with MySQL than Postgres...
MySQL has the power (pretty much) to replace MS-SQL Server.
OMG, you didn't really mean that, did you? Oh, that's so cute...
MySQL is barely ACID compliant, doesn't support triggers or stored procs or views (just for starters), and you say it has the power to replace MSSQL Server?!?!? For goodness sakes, MySQL just NOW has a shared SQL area (query cache). You gotta crawl before you walk, and you gotta walk before you can run with the big boys. MySQL is a very capable database in its own right, but it's still in it's infantcy.
With some of the best replication and datawarehousing functionality on the market and consistently a price/performance leader, I don't think MSSQL Server is going anywhere anytime soon.
MySQL is good for certain applications, where you only read data, and don't write too much data. This works out especially well for most web sites, since they serve information, but doesn't necessarily allow too much information to be posted by the user.
Lots of message boards on the web use MySQL as their database, because even though people are uploading comments, the amount of data that they upload isn't all that much. Slashdot for example, a popular discussion could prompt 500 messages to be posted in 15 minutes, but still, that's not that much information.
The key word here is transactions, the constant reading/writing, downloading/uploading of information on a massive scale, where each occurence is audited. And I think that's where MySQL has its weakness. PostgreSQL is supposed to be a bit slower, but it takes transactions into account. Red Hat's database software runs on the PostgreSQL engine specifically because of this.
Banking and finance applications require this accountability, because it's just that important. Websites don't need that accountability and overhead, which is why MySQL shines for web servers.
Commit/rollback is an essential component to any decent data management system. Until you are absolutely sure that your data is correct -- that is to say, until you have done all of your transactions on the page successfully -- you should never actually write data to your database. Without using commit/rollback, you are stuck with the haphazard method of trying to manage potentially disastrous records of data showing up in your db.
Your other quote: "And MySQL will blow the doors off of Oracle and other databases in terms of raw speed" is similarly incorrect: MySQL may be faster when you are dealing with a small amount of connections, but as soon as your application starts getting any amount of concurrent users, MySQL is famous for falling down rather rapidly as it strains to write its data to disk.
MySQL cannot scale reliably, period. Having two database systems act as a pool, under MySQL, is a crapshoot at best. Unless you like designing single points of failure into your web applications, stay away from MySQL.
Simply put, if you expect your web application to get any amount of decent traffic (say 100,000 pageviews+ per day), then MySQL is simply not an option. Oracle is simply the standard upon which others can only attempt to compare themselves to. MySQL may be fine for the low-end "check out my k00l dynamic site!!11!!" crowd, but for professional web applications, MySQL has a long, long ways to go.
As long as MySQL doesn't conform to all of ACID, it won't be used by serious players. So all those who use Oracle etc. and need a real RDBMs won't even try to switch. There was a lengthy discussion (or should I say ranting) over this in user comments in the online MySQL manual, but it looks like they removed that. Here's the best link I could find: Manual/ACID.
All those who can live with less, well, IMHO having these features still makes development of sound applications so much easier it pays off having it. PostgreSQL has most of Oracles features, conforms fully to ACID, costs the same or less as MySQL (nothing, compared to MySQL which is virtually useless free without the commercial table handlers), and there are some companies supporting it too.
In my experience an application which does correct error checking and handles faults etc. is not faster in MySQL than in most other DBs, just harder to write. And there are alternatives to PostgreSQL, if you don't like it.
Jürgen Strobel
I work at a heavy-duty Oracle shop. I would say that Oracle has gone way beyond being just a database vendor, in that they provide a complete--but proprietary--environment. Since I haven't needed to use many of their features in the past, I had never realized how complex their software is.
I can't believe MySQL doesn't even have subselects yet. I've been living on subselects and 'connect by' for years. I never did like PL/SQL all that much, but it does allow you to run complex programs over the network without creating high traffic. And SQLNet does make things a lot easier. The whole thing is kind of like a database flavor of Unix, with its own world of commands, scripting tools and permissions.
As for Oracle's 'fancy' products, like Express, Forms, the OID, Portal, and Workflow, they are serious attempts to extend the database principles into a generalized suite of enterprise-level business tools. They are a little too cutting-edge for my taste, but you won't find anything like this in a non-proprietary product.
mySQL is, unfortunately, a SQL interface to a bunch of files based on various index sequential access methods. It gets its speed by ignoring transactions, triggers, stored procedures and other things that, when your company is successful, will need in its database. mySQL's replication is also not guaranteed and when its spotty, it doesn't tell you.
The open source DB community is a powerful force with a lot of potential and a lot of success. That success is in markets where transactions are low and/or not critical to the customer.
mySQL and others need to ensure that they have these features:
- stored procedures (implementation outside of the A in ACID aren't complete - perl, java, python, etc)
- Referential integrity, foreign keys, transactions
- hot backups where you don't have to take the database down to get a backup with guaranteed integrity.
- reliable replication (argue away, only shareplex, NT SQL server & Sybase have it today)
- sub selects
- temp tables
- function based indicies
- automatic partitioning
- rollback (true rollback w/transactions)
- triggers
- block and row level locking. A select on
a 50 million row table shouldn't lock
the table.
- joins that do not lock tables due to full table scans
There are a lot of good reasons for using mySQL as a platform to begin the development of a project. For personal use, it's hard to beat! If you are a professional in a company that needs to support real clients with real data with real guarantees, spend your money on a real database.Where do you want to spend your R&D money? On your product or on the database that does most of the things you need, but not all of the things you need. Don't you want to spend your time building the product that pays your salary and makes your customers happy? Why spend time on the database, just buy something that works.
One more thing, a not unreasonable architecture for a database driven application is:
- UI layer
- Business rule/application layer
- Application Programming Interface
- Stored procedures (potentially hundreds)
- Database
Good luck.MySQL is not a threat to the bigwigs, because they compete in different realms. MySQL is a threat to filesystem-storage and BerkeleyDB.
PostgreSQL is a threat to the bigwigs, however.
This is not to say it won't change. MySQL apparently is trying to implement features that would make it compete with real relational databases, but last I heard, views weren't on the list, so I'm not holding my breath.
Other OSS projects that may be a big threat include SAP DB (used to be Adabas D) and... uh... right. There you go. Reply if you're a real DBA and think there's another competitor in the space of true relational RDBMSs. Hint: If you think MySQL could be on the list, you're not thinking of industrial strength databases.
fifth sigma, inc.
I am frankly surprised that MS SQL Server was ranked along oracle and DB2 as a 'high end' DB. Anyone who has had to work with it usually disagrees!
Personally I have seen SQL server most on small/medium size business environments. Any large 'enterprise' sized business deserves what they get if they are dumb enough to rely MS SQL server. Look what happened to Bank Of Americas ATMS when the last MS virus du jour made its rounds.
I think MySQL is the best bet to reduce Microsofts share of the DB market. Oracle is better, but small business isn't willing to fork out that kind of cash, especially in this economy. MySQL is especially perfect for the small business web site, and with Microsoft irrationally increasing subscribtion fees and forcing upgrades, a good percentage of their customers will be running into the open arms of MySQL/Postgres.
- You can find lots of documents online at oracle, but I guess you didnt care
- Speed, MySQL is speedy, because it doesn't have to do anything
- Again, no refirental integry (OOps, I didn't mean to change that foreign key, now I don't know what it pointed too, my database is corrupt! AAARG!)
- Rollbacks are not fancy stuff, they are essential to a real database
- Hardware levels? Ok, go back to your parents basement
With Oracle you can choose: speed, security.Mysql: Speed. Only.
Mysql is like a dragster, fast but no control.
Next time you want to start karmawhoring, at least pretend that you know what you are talking about.
This discussion seems to be omitting an entire market segment of database engines. For instance, Advantage is a powerful database server that's priced at less than half the cost of M$ SQL Server, and Oracle. It's not a "free" product, like MySQL. In addition, Advantage isn't limited to SQL, which is nothing more than a limited reporting language, meaning, it's much more flexible to utilize Advantage than either of the products you seem to be comparing. And, No, I don't see MySQL as a threat at all to products such as Advantage.
In addition, MySQL isn't really all it's cracked up to be. Features such as page-level locking, (used by MySQL) and locking escalation (used by M$ SQL) will degrade performance in a multi-user application. So, while MySQL is great for a web-server, developing/deploying an application that uses MySQL can cause undesired performance degradation when multiple users are simultaneously accessing the data.
SQLite claims to be twice as fast as both MySQL and PostgreSQL, and is more SQL92-compliant and ACID-compliant than MySQL.
Does that mean everyone should drop MySQL and PostgreSQL for SQLite? No. It means you have to evaluate your situation and choose the best tool for the job.
Personally, I've have very good luck using PostgreSQL, and probably won't ever consider using MySQL until it is truly ACID-compliant.
A couple years ago I started a large hardware conversion project for a major telco. One of the requirements was a fairly large database to support real time call processing. I had already told the customer that I would only do the job if it was on a non-Microsft platform so I didn't need to worry about them wanting SQL Server. However, since they were a large telco I assumed that they wanted a well know commercial product so I proposed either Oracle or Informix - their preference. Their director of DP said something like "it's too bad we can't use MySQL" since they were using it for some smaller applications, unknown to me. My next comment was "do you want to use MySQL?". The answer was "yes, provided it could do the job". I said "I will make it do the job". Now it's been about two years and MySQL has almost faded into the background. It just runs, unlike my experiences with Oracle and Informix where you have to constantly administer them. That's my personal experience, your mileage may vary depending on your skill and attitude.
Firebird (was Borland Interbase)
http://firebirdsql.org
it's had all these abilities for years.
I've had 76GB single-file databases on my FreeBSD machine since last year.
Faster than Postgres on everything but deletes, but it cleans up after itself when postgres just marks pages for deletion during the next sweep.
Same speed as MySQL on insert/update/delete.
Slightly slower on selects, but that's understandable.
After all, it does have:
Stored Procedures and Triggers using the same PL.
Views, cursors, custom datatypes.
Multi-terabyte file handling capacity
Transactional Engine, with full Commit/Rollback.
Full referential integrity
I've had it doing ~300 transactions/sec on my Celery450, so it rocks along nicely.
I've used Mysql, PostgreSQL, SQL Server.
So far, Firebird outstrips them when you weigh all the features and performance.
Sure, you can power huge sites with MySQL, in the same way you can pull a 6-berth caravan with a Daewoo.
Firebird is a 4MB install. Why choose anything else?
BTW. It works a dream with PHP, Perl(DBI), C.
Probably more, but they're the ones I've used personally.
- Microsoft Access
- Flat files
- XML files
- Static content
- Client-side scripting
- A large-scale database being drastically underutilized
to perform their various functions. In most cases, those functions would be faster, easier to implement, and simpler to manage using mySQL.For applications with these types of functions, which do not include complex queries, large transaction volumes, rigorous reliability including transaction log backups, recovery, replay, and replication, mySQL represents a major force. Unfortunately for mySQL and those who would have it take over the world, there's not much money available for those applications. Therefore, expect to see mySQL's installed base continue to increase while its revenue-based market share remains small.
For applications which do require features and levels of reliability and capability not offered by mySQL, postgres is the only serious freely-available contender. Even so, postgres is also somewhat less capable than Oracle or DB/2 and will be confined to the middle tier of applications - those which require better reliability and scalability than mySQL can provide but for which funding is scarce. Postgres probably does represent a serious threat to Microsoft's SQL Server, if only because Postgres is platform-independent and supports platforms which can scale beyond anything Windows can run on. Both are otherwise middle-tier products which are not and will never be taken seriously by the largest and most demanding database users.
Who are those users? Banks, government agencies, stock exchanges, payroll and records processing firms, insurance companies, large multi-site call centers, and other huge-scale enterprises. The top proprietary databases offer capabilities that do not yet exist in the Free Software world. For these users, who are less than 1% of all customers but which represent maybe 80% the revenue in the market, there is no substitute. These customers will stay with their existing solutions - Oracle, IBM, Sybase - until the systems running them give out. Then they'll call that company's professional services department and offer them a few million more to upgrade the system. That's the way it works. The system has to be attacked one customer at a time, an expensive and time-consuming process consisting of many lunches, legal bribes, and unrealistic promises.
I think the answer to whether mySQL is a significant threat to dominate the market economically is pretty obvious. Even if mySQL moves up to the middle tier to compete with Postgres and MSSQL and is installed in every application for which it is suitable, the product would still command less than 10% of the revenue in the market.
What a silly question.
I don't know why people insist on comparing MySQL and Oracle. Oracle is huge and bloated, but it runs pretty quick, and is chock full of the sort of features you need if quadruple redundancy and data integrity are a must. If I'm working for a company that can afford the licensing, I'm Oracle all the way...There is no commercial product that really compares.
.0363160 Bulgarian Leva worth
On the other hand, if I'm dealing with a company that can't toss around the kind of money that you have to have for an Oracle DB, MySQL is my number one choice. I can slap the GUI of my choice on it, take care of data security with a hard backup and pocket a few grand of pure profit that I didn't have to spend on liscensing. You can argue Postgres, but I've never run into a case where I couldn't work around those features that haven't been implemented in MySQL yet.
The one thing I can't stand is when someone suggests: "I can't afford Oracle, so lets' go with a MSSQL database." That's like, I can't afford a space shuttle, and a ferarri isn't good enough for me, so I'm going to buy this million dollar llama instead because 1000 marketing agents can't be wrong, right?"
It has all the same feautres as Oracle, it's just that the features in Oracle WORK.
Just my
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
MySQL does have transaction support and is fully ACID-compliant--iff you use the InnoDB table type. This also allows you to use foreign key constraints. However, it's not as fast as MyISAM and doesn't support certain features (e.g. fulltext indexing).
In my (informal) tests MySQL/InnoDB is less than half the speed of MySQL/MyISAM but still about 50% faster than PostgreSQL for simple and small tasks. That said, PostgreSQL has more features than MySQL and I still prefer it for most tasks.
Gates' Law: Every 18 months, the speed of software halves.
that have received little comment so far:
* Firebird (ne: Borland Interbase)
* SAP-DB (ne: Adabas-D)
Both are good, high quality, commercial or formally commercial products released under an open source license. (interbase public license and GPL respectively)
Further, SAP-DB has excellent commerical support available from SAP, the company, at or better than the same level of responsiveness as, say, Oracle support.
Both are fantastic, enterprise level full ACID RDBMS's with all the great management features a heavy duty shop could want:
* online backups,
* transaction logs,
* restore to point in time
* subselects, views, rules/triggers, procedures, etc.
* great storage management
Check 'em out.
-- Pat
The biggest problem with communication is the illusion that it has occurred
I am a web developer and in the last few years I have written products that use SQL Server 6.5, 7, 2000 and Oracle 7.x and 8.x. MySQL has always been present whenever we discussed data back ends and was always dismissed as "not good enough." Usually because it did not cost a gazillion.
During the last 18 months or so I have run my personal sites with a MySQL back end. I have never had an outage or loss of data that can be traced back to the MySQL servers. I ran it first on Windows 2000, later on freeBSD4.5 and now on a freeBSD4.6 jail. It still works perfectly.
Back when we were still arguing (two jobs ago) about using MySQL, the DBAs usually claimed that you could not trust MySQL because of the lack of stored procedures and the fact that it could not pass an ACID test. Since then I never bothered learning the DB system itself beyond the minimum needed for SELECT/INSERT/UPDATE/DELETE operations, I did not try to verify this on my own. Years later and I am convinced that these DBAs probably read that in a magazine, and that none of them had even seen MySQL running.
After the dot-bomb nightmare nobody in his right mind should be proposing to their managers to spend obscene amounts of money in SQL Server and Oracle licenses just to do simple SELECT/INSERT/UPDATE/DELETE operations. Sure, stored procedures rock but it does not make any sense to spend that much money just for the 1% of your functionality that will be run by stored procedures!
Most of the people I know that use SQL Server don't even know how to write one, and in the last 5 years I have only written two web applications that have more than 1% of their sql operations as stored procedures. And for Oracle it is even worse!
Pedro
----
The Insomniac Coder
But for some reason people ignore it. Is it because it is created by a company and not a group ? Or is it that everybody has already chosen their favorite free DB and won't look at others ?
Sure beats me.
I disagree with the idea that small projects should use flat files or XML in place of MySQL. First of all, the flat file only looks good while there seems to be a single entity in the system - let's say person. It rapidly turns into a convoluted mess when a second entity rears it's head - let's say a person can have multiple cars. Second, many applications end up developing reporting requirements that were not envisioned in the original design. That's what makes relational databses great - ad hoc reporting.
Another way to put it - as the application grows in complexity, more functionality will be added to the data store as the programmers painfully rediscover all the challenges which real databases have already conquered. Of course MySQL doesn't cover all of those, like ACID, but it covers most. Look at the amount of effort that went into MySQL, Postgres and Oracle - it's huge.
Of course, you may be thinking of simpler applications than I am. If the data can legitimately be represented by one table, with no denormalization, then I agree a database may be overkill.
Great discussions on this thread! We are reading them carefully to learn what we can do better.
Let me just comment on the overall impact of having such articles appear on Fortune.com and CNN.com:
The article is indeed the result of PR work done by MySQL AB, but the value of it will benefit the entire free software / open source community. We need to get many more business articles out there, so let's be happy about this one, and let's produce more of them!
Although this very article mentions MySQL only, please have a look at other articles where we at MySQL AB consistently mention the other open source databases. Here are two such articles on prominent business-focused sites (one of which, incidentally, is powered by MySQL):
= A2 44_0_1_0_C
http://www.open-mag.com/01943583279.htm
http://www.alwayson-network.com/comments.php?id
Our ambition is not to be a threat to bigwigs per se, but to make superior database software available AND affordable to all. With your help we can do it.
Marten Mickos
CEO, MySQL AB
None of the above is new information. Just my personal summary. In short, (ie. in troll) the argument seems to be simply: "Yes, mysql is pathetic, but so are most of us." Great.