MySQL AB Calls v4.1.7 Production Ready
puppetman writes "MySQL announced a few hours ago that 4.1 has been deemed production ready with the release of 4.1.7.
The major enhancements of 4.1 include sub-selects, faster communication between client and server (thanks to parameter binding), replication over SSL, and lots more. A full list can be found here.
Time to rehash those tired arguments about why MySQL is not a real database, and (Postgres/Oracle/SQL Server/Access/SAPDB/Ingres/etc) is the only real database out there."
Does the "production readiness" include ACID?
Sincerely,
Pan Tarhei Hosé, PhD.
"Homo sum et cogito ergo odi profanum vulgus et libido."
MySQL is fine for load/store operations or other places where complex operations on set are not required. MySQL is not suitable for complex queries.
MySQL is a bit like Windows 98 vs. a multi-user OS with virtual memory. Most people just need a single user computer that holds their email and lets them play games.
However, for those who need the features a multi-user OS they cannot simply hack on those features to Windows 98.
It isn't that MySQL isn't a real database it is just that its feature set severely restricts the tasks it is able to do well.
Yes, you COULD build a bank on MySQL just like Diebold makes Windows 98 based ATM machines.
Whether it is a better idea to simply build your bank on Postgresql or Oracle and pay higher machine / licensing costs is an excersize for the reader.
There are spots where Win98 and MySQL are well suited however, there are a lot of cases where it is completely out classed by other products.
Myself, I'd much rather not use all the features of Postgresql and have them available later than build on Mysql and if I need the feature have to port the application. If I run up against performance limitations of Postgresql I simply buy better hardware.
Not everyones SQL usage is limited to "SELECT * from comments were story_id = 23456"
Hardware is almost always cheaper than a programmer's time.
1) Yes. Very bad. The developers believe the application should check all data before sending it to the database. I've posted my displeasure with this on the MySQL mailing lists, and have been told politely to "live with it".
2) Wasn't aware that it did. Most table types are now in the basic download.
3) Not sure
You could ask similar questions of Oracle (or any other DBMS), like,
Does Oracle still require a 1.2+ gigabyte footprint? Yup, getting bigger all the time.
Is Oracle still more complex to set up than any Linux distribution? Yah. And try Real Application Clusters (RAC).
Does Oracle still require you to spend $600 on books to get the important information about what's going on under the hood? Yes. I bought a 1000-page monster the other day, and the list price was $100 CDN. The DBA handbook, written by the same guy, is also 1000 pages, and will cost about the same (not out for another month).
Does Oracle still charge $40,000 per CPU for a perpetual Enterprise License?
Is Oracle still slow and bloated compared to MySQL? Yes. All those extra, needless features that 1-in-50 databases add bloat and slowness.
For Postgres,
Does Postgres still make really bad optimizer choices if the data-types being compared aren't identical? Last I checked.
Does Postgres have a decent replication engine, or standby database option? Yah, if you want to spend almost as much on support as you would on an Oracle Enterprise license for 1 CPU. There are others, but I'm not sure I would throw them into a production environment. Oracle Standby and MySQL replication have both been flawless for us.
Does Postgres have a native Windows port yet? Not yet, but I hear it's coming.
Does Postgres still have a mailing list full of the most informed, polite people you could ever hope to answer your questions? Yup.
No database is perfect. MySQL is a small, fast database and we are running our 2-million hit per day website off of it, and it's been flawless and significantly faster than Oracle was way back on 8i. We code around the strangeness.
You could ask similar questions of Oracle (or any other DBMS)
No, you can't. That's the whole point. Absolutely none of the questions you raise about other databases are problems with data integrity. These are databases for heaven's sake. Of course they take data integrity seriously. The same can't be said for MySQL, unfortunately.
Does Postgres have a native Windows port yet?
8.0 does, but that's not production-ready yet, so it doesn't count. Three betas have been released if you want to try it out though.