MySQL 5.0 Now Available for Production Use
chicagoan writes "MySQL AB today announced the general availability of MySQL 5.0, the most significant product upgrade in the company's ten-year history. The major new version delivers advanced SQL standard-compliant features such as stored procedures, triggers, views & new pluggable storage engines. Over 30 enterprise platform and tool vendors have also expressed enthusiastic support for the new release of the world's most popular open source database."
What's the difference about this release and the "non general" release that was announced a while back?
I have always been amazed thy MySQL has been able to gain the popularity it has without features like stored procs and triggers.
advanced SQL standard-compliant features such as stored procedures, triggers, views & new pluggable storage engines.
All we need now is random crashes and the MS apologists will have nothing to complain about!
My pics.
Wow, triggers and stored procedures. MySQL really does innovation.
{{.sig}}
It's not the fanciest, or the fastest, but it's ubiquitous and free!
I for one have found it invaluable on many projects where a full-featured, high-capacity RDBMS would have been more trouble and expense than it was worth.
Props to MySQL!
I never get the .0 release of anything...once bitten, twice shy, I suppose. I'll stick with the 4.x series until the stability is proven.
And I've been wanting to try out Postgres anyway...
Constitutionally Correct
No matter if you're a MySQL supporter or someone who thinks that everyone should use a "real" RDBMS, having all these new features available to MySQL developers is a good thing. There's quite a few apps, I'm sure, that don't use these features in databases where they're available simply because they're aiming for the lowest common denominator that was MySQL's feature set.
Anyway, not trying to start an argument about the relative merits of any particular RDBMS, but this is a good thing all the way around. I look forward to taking it for a spin.
Game... blouses.
It would be cool if someone knowledgeable could check the old MySQL Gotchas list and see how many have been fixed in 5.0. My hope is, nearly all of them.
-- Ed Avis ed@membled.com
MySQL ABFAB announced "Season 5," its newest version of open source Brit-coms...
If a baby duck is a "duckling," why would anyone want to eat "dumplings?"
This is slightly off-topic, but I was wondering if anyone is aware of any generic web-frontends for MySQL? I can write something pretty easily that's not generic, but I'm particularly interested in something for a novice user who doesn't want to program anything. Something that can generate reports based on specified queries, that was customizable, etc.
This post was generated by a Cadre of Uber Monkeys for Monkey-Man2000 (603495).
For a lot of jobs (websites), they aren't needed. MySQL is very easy to implement and integrate with your site.
There are so many utilities and so much documentation around MySQL. It's also *extremely* fast and light-weight. Perhaps PostreSQL has reached parity in speed while being much more feature complete, but MySQL got in at the ground floor with a very easy to use and administer database. I do understand that it's quite simple to import MySQL databases in Postgres so perhaps some day I will get around to it.
One question, though. I have heard that MySQL is not as feature complete for things like native XML support (querying, indexing) and Java support. I know they have a Java connector, but is Postgres better in that regard? Could someone please provide a feature comparison on *just* those two features? Thanks!
The following was posted to slashdot before http://slashdot.org/comments.pl?sid=166073&cid=138 54173 .. I am copying &pasting it:
0 37
.. but if we MySQL users are sued by SCO as a _direct result_ of this deal, I'd want protection. Else I am switching to postgresql.
How do we know SCO won't turn around and claim that the code in MySQL is tainted??? This is EXACTLY what they did to IBM.
It's in the SCO press release that the money is to be used to produce a COMMERCIAL version of the database.
That's right looks like they duped the MySQL CEO who didnt read the contract before signing.
http://ir.sco.com/ReleaseDetail.cfm?ReleaseID=172
From the SCO press release:
"The SCO Group, Inc. ("SCO") (Nasdaq: SCOX), a leading provider of UNIX(R) software technology for distributed, embedded and network-based systems, today announced that it has entered into an agreement with MySQL AB to jointly deliver a certified, commercial version of the popular MySQL database"
------
I would want MySQL to state that they will protect us from any liability arising from any court awards that would arise from this deal. That is, I'd understand any other lawsuits
to deliver to SCO. I wonder how much money that cost them?
I prefer the "u" in honour as it seems to be missing these days.
I've been waiting for years for stored procedures, triggers, and... ah. Wait a minute. No, actually, I've been running multi-terabyte millions-of-transactions-per-hour database clusters with MySQL for about two years now.
Well. Anyway. Now all the little shops that have been making excuses about why not to use MySQL can now start using it.
(In fairness, actually, yes, the MySQL gotcha's page scares me, too)
fifth sigma, inc.
Stored procedures, triggers, and views are hardly considered bleeding-edge features. Calling them advanced features just because you have recently added them seems way too defensive. MySQL has no reason to act defensive. MySQL delivers great results and this just adds some baseline checklist features.
I'm not sure about reporting specifically, but phpMyAdmin is the way to go for a generic MySQL front end.
Switching to Linux can be an adventure!
It is still lacking compared to other free databases such as PostgreSQL and Firebird, but version 5 is a real improvement. (as mentioned, now you have things like triggers, stored procedures, views and sub-queries.) If you use strict mode integrity checking will work reasonably.
What I'm currently miss the most in the new version is that it can't handle domains and the ability add check constraints as you create tables is somewhat lacking. So, even if MySQL have done a tremendous job improving their product I would still go for PostgreSQL, or Firbird any day both for technical and legal reasons. Both Postgresql and Firebird also seam to be better at internationalization.
The fact that Oracle just bought the company that supplies the default MySQL storage engine doesn't spell good for the future. Even though MySQL could continue to use InnoDB in the future under the GPL licence it is in Oracles power to raise the licence fees for commercial use. That would mean less incomes to MySQL AB and that could hurt their ability to develop the product further. However, afaik Oracle have not said anything about raising the prices other than that the licence deal with MySQL is going to be renegotiated in '06. To me that sounds a bit ominous.
The theory of relativity doesn't work right in Arkansas.
I initially started using MySQL because it was faster than PostgreSQL.
But now with the involvement of SCO and Oracle in this little project I am looking to write future applications on PostgreSQL or SQLlite. I cannot see any good coming from Oracle's involvement with Innobase or SCO involvement with MySQL.
I could understand Oracle becoming more involved with PostgreSQL, because I can see PostgreSQL being more of a stepping stone to Oracle.
SCO well their just SCO, and I don't see them doing anything but creating mischief within the OS community.
Any word on when they are planning to fix this? With this careless disregard for data integrity, it's hard for me to take MySQL seriously.
___
If you think big enough, you'll never have to do it.
MySQL gives you random corruption! Even better than crashing!
If you want actual stability, PostgreSQL and Firebird are better bets.
and postgres still beats it down nicely...
"wow! now we have stored procedures and triggers!"
Wake me up when Mysql does something really inovative and when it beats at ANYTHING other than speed on simple "table-like" databases.
I for one, welcome our new hot grits... PROFIT!
Do you get these features in all table types, or do you have to use the (much slower) InnoDB tables, as with transactions?
I stopped using MySQL as my primary RDBMS in 2000 (I still use it when apps require it, but I almost never program for it.
When I started using PostgreSQL 6.5, I noticed that it was *far* harder to use than MySQL. It had a *huge* learning curve and was missing obvious functionality such as alter table drop column. But it provided better data integrity checking than MySQL. So for the next two years, I would prototype databases in MySQL before moving them over to PostgreSQL.
MySQL was good enough for simple CMS type tasks and extremely user friendly at a critical time in the market. PostgreSQL, designed for enterprise apps from the beginning, placed technological soundness ahead of ease of use. However, over the last five years, PostgreSQL has actually become the simpler RDBMS to use and program for. No questions of "I misspelled InnoDB and now it created a MyISAM table instead" or such.
Unfortunately, it seems that by the time PostgreSQL became easy to use, MySQL already had cornered the low-end market. However, I would say that aside from light-weight CMS tasks, PostgreSQL is still far and away the better application for a number of reasons:
1) ACID compliance is pervasive throughout the engine. Creating operations outside a transaction, while possible, requires an untrusted programming language (like C, PL/PerlU, PL/PythonU, etc).
2) Date's Central Rule is designed into the RDBMS and cannot be circumvented by the application (which is not the case in MySQL 5.0 as strict mode can be disabled by an application).
3) PostgreSQL, while not perfectly standards-compliant, is far more standards-compliant than MySQL. This allows for much more portable code to be written for PostgreSQL than MySQL.
4) PostgreSQL is much more extensible than MySQL. You can add language handlers to allow you to create stored procs in whatever languages you want. PostgreSQL currnetly ships with PL/PGSQL, PL/Perl, PL/Python, PL/TCL. Other languages, such as PL/PHP, PL/Java (or PL/J), PL/SH, and PL/R are available as addons. I believe there is an attempt to make Mono available for stored procedures. Also you can add new data types without too much difficulty.
5) PostgreSQL has better Business Intelligence capabilities than MySQL. Capabilities include table partitioning and more. Parallel queries (across nodes) are under development in a spinoff project called Bizgres.
LedgerSMB: Open source Accounting/ERP
Well, if nothing go forward and they want just more control over InnoDB future, cannot anyone (or MySQL itself) do something called MyInnoDB. Not much of a name change and it will keep what is right about that database. Can we even do a business with that in mind? I am not knowledgeable at all in license stuff, however a lot of you check those license thing carefully so I am sure I will have a good answer! ;-)
I've never had MS SQL Server crash. Not even once.
From http://www.onlamp.com/pub/a/onlamp/2005/02/03/trig gers.html
"REMINDER: MySQL functions have severe limitations. For example, they can't SELECT from a table. Trigger activations are like function calls and are subject to the same limitations."
Is this still true?
I know I'm following an obvious rabbit trail here, but I feel it's important. The BSD license may be arguably more vendor-friendly, but the GPL does a better job ensuring the sustained freedom of the code. Besides, there isn't anything in the GPL which makes it difficult to marry GPL'ed code with closed-source code, as long as credit is given where due and the source is available for the OSS portions.
Working in a DevOps shop is like playing in a band made up entirely of keytarists.
If it's in a stored procedure (or, better yet, stored function) when your business rules changes, instead of changing 2438 queries, you change it only in the database.
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
NASA drops the whole "shuttle" idea. Andy releases a new version of Minix. DrDOS steals from FreeDOS. And MySQL becomes a real database server.
The biggest thing here isn't the stored procs et al... its that SAP, you know the worlds biggest enterprise software vendor... will CERTIFY its application on MySQL (when using the old SAPdb stuff). This means that organisations that spend MILLIONS on SAP systems can get support if they run it on OSS.
That is the big deal, not functionality its about the support. MySQL might be the poor relation to Postgres in terms of functionality, but MySQL has a MUCH big best friend who can open doors where functionality doesn't count.
This is a real moment IMO, as a well known OSS database has a massive seal of approval from one of the most famous for reliability vendors in the market.
Next time your boss says that OSS can't do a DB, tell him that SAP disagrees.
An Eye for an Eye will make the whole world blind - Gandhi
1. I love MySQL!
2. Who cares? Postgres is and always has been better.
3. I used to use MySQL, but now I don't.
4. I used to not use MySQL, but now I do.
5. If you use MySQL you are stupid.
6. If you do not use MySQL you are stupid.
7. Only Nazis and CowboyNeal use MySQL.
8. Did anyone say goatse.cx?
I've been using MySQL for about six years now, and it's been working very well for me. I utilize it on my crazyguyonabike.com, a bicycle tour journals website. It has about 750 journals on there, with over 60,000 pictures. I use replication to back up the database remotely, and all in all it works very well. I honestly can't understand the level of hatred towards the tool that emanates from many of the posts here.
I have to say that I cringe every time I see a MySQL story on slashdot these days, because it just seems like there is a legion of PostgreSQL zealots just waiting for any chance to denigrate MySQL. It's the same littany every time - PostgreSQL is so much better, have they fixed the "Gotchas" yet, etc etc. Even when MySQL AB adds a feature or does fix some perceived failing, then the detractors simply ignore this and move on to some other apparent showstopper. For example, it's not enough that MySQL has transactional capabilities - no, now they simply moan that it's not the default (MyISAM still is).
We seem to have people who have what can only be described as a religious mindset when it comes to these issues. "Religious" in the sense that their minds are closed, and no matter what new facts come to light, they will simple twist everything around to match with their existing worldview. So, in these people's minds, MySQL AB adding features is not a positive thing, it's rather a sign of how wrong Monty was in the past to suggest that most people really don't need transactions for everything. Well, at what point exactly do we have "proof" that I don't really need transactions for my website? Is six years of 24/7 use enough? If not, then how long exactly?
Yes, I've had problems, of course I have. You will with any tool, PostgreSQL included. No matter the fact that PG has had transactions from day 1, people still got corrupted tables occasionally. But at the end of the day, the results are the same - do you still have your data? Is it intact and internally consistent? I can answer yes to that. I don't mind having some logic in my application to delete some records when some other records get deleted. It works really well, and while in theory it could cause data inconsistency, in practice this has never happened. Even if it did, a quick perl script would be sufficient to clean things up - I'm doing that kind of thing all the time anyway, as the database evolves and I need to shift stuff around or change table structures. It's no big deal, really! Some will say No, this is a Horrible Solution and you should put business logic into stored procedures... I say, get a life. That's *your* solution, it's not everybody's. You're simply moving your complexity around, you'll never really get rid of it. Some people are more comfortable with their complexity in stored procedures, I'm perfectly comfortable with it in my Perl application. So what, does it work for you? If so, then who cares.
There *are* some things in MySQL that disturb me, but I don't know if they are common to other DBMS solutions out there. One of the big ones for me currently is that the query optimizer only uses one index in queries. I know you can have multi-column indexes, but I still see this being a problem for some of my more complex queries. Does PostgreSQL do this better? Informed opinions please, rather than fanboy noise.
Also, speed. I hear lots of anecdotal tales about how much faster PostgreSQL is these days, especially under load from multiple connections. I'd like to hear from anybody who has actually made a transition from MySQL to PostgreSQL for a high-load Web application. Can PostgreSQL really replace MySQL now? Or is this another case of wishful thinking?
Thanks,
-Neil
Or were you refering to the GPL'd version of MySQL & InnoDB - in which case I'd say Well Done To The Author of the GPL for keeping Oracle from controlling MySQL
Results of tests against MySQL 5.0.16-nightly-20051017-log (I downloaded and installed this latest snapshot today)
;-) ... SELECT ... ... Doesn't really bother me.
1.1. NULL, or when NULL IS NOT NULL
The behavior was not changed, but it's of no importance anyway.
1.2. AUTO_INCREMENT
The behavior was not changed, and I must admit that all that sounds scary. On the other hand we're using a LOT of mysql where I work and never run into a single problem caused by this particular problem.
1.3. ENUM
Behavior unchanged - This isn't a real problem at all...
1.4. Case sensitivity in CHAR / VARCHAR fields
Weird behavior which might degrade performance, or help you - depends on what you are doing. But I don't agree with the author's suggested solution redefining the table string as binary since you can simply force a binary comparison on the select, so who really cares about this?
1.5. VARCHAR limited to 255 characters
This restriction was lifted. Current limit is: 2147483647
1.6. VARCHAR's trailing blank allergy <= fixed ^^
1.7. DEFAULT NOW()
This deficit only affected mysql versions below 4.1 - And I can tell you it didn't reappear in 5.0
1.8. INSERT INTO
Like 1.7 this was only true for versions prior to 4.0.13... Nothing to see here
1.9. Comments beginning with --
So ok... comments introduced with -- don't work. As a web developer I never came across having to comment sql inline XD
1.10. UNION and literal values
This bug was fixed. Although I ran into a character set problem on this one since the table and mysql defaults were set different and unions are supposed to have the same character set - or maybe I'm just too tired to understand what just happened...
1.11. Division by zero
This behaviour is still intact 1 divided by 0 results in NULL
1.12. 'concatenation' || 'or'
This "fault" results from not running mysql in ansi mode which makes it overload the || operator diminishing its usefulness.
1.13. What goes in - isn't (always) what comes out
Holy shit, a variable range overflwos! If anyone really falls for this - go take a beginner's programming lesson...
1.14. February 31st
The behaviour has changed. But since date (as is datetime) is basically a string, I don't really like the kind of checking mysql is now performing O_o I must look into that further since you still can insert some "malformed" dates, but only some of them get changed. What's wrong with that?!?
1.15. Space between function name and parenthesis
Although the behavior changed, the author won't be happy with what he sees because it still doesn't behave like his dbms of choice... But if we're honest - this is no bug!
Now, some things got fixed, some things just changed and most of these don't even matter. All in all 5.0 is a nice release and in my opinion MySQL is still very likable and for me as sys admin quite comfortable.
What bothers me most at the moment is 1.14. - because that might have some effect on real world situations. Maybe someone else wants too look into this further so I can read about it tomorrow?
InnoDB is not the default storage engine in MySQL... MyISAM is.
You sure about that? From the MySQL site: "In MySQL 5.0, the InnoDB storage engine is enabled by default. If you don't want to use InnoDB tables, you can add the skip-innodb option to your MySQL option file."
(link)
The theory of relativity doesn't work right in Arkansas.
I'm suspecting there will never be any free database that implements it. Ever.
File under 'M' for 'Manic ranting'
I have a question: if I use the older JDBC connector (from June 2002) before the connector project was absorbed by MySQL and became GPLed, is it OK to use MySQL on a leased server with a Java web application that is not GPLed?
:-)
That is, if my web application links with the old LGPLed connector which uses a socket connection to the GPLed MySQL server, then that is fine license-wise, right?
This is a question for all the 'Slashdot lawyers'
Seriously, from reading the licenses, I believe that the scenario that I mentioned using the older LGPLed JDBC connector is OK, while using the newer GPLed JVBC connector(s) is not.
Also: I believe that this is not an issue with Ruby since the client MySQL connector is not GPLed.
Nice summary. One small clarification. In production 5.0 trailing spaces are not removed from VARCHARS:
"When CHAR values are stored, they are right-padded with spaces to the specified length. When CHAR values are retrieved, trailing spaces are removed."
"VARCHAR values are not padded when they are stored. Handling of trailing spaces is version-dependent. As of MySQL 5.0.3, trailing spaces are retained when values are stored and retrieved, in conformance with standard SQL. Before MySQL 5.0.3, trailing spaces are removed from values when they are stored into a VARCHAR column; this means the spaces also are absent from retrieved values."
http://dev.mysql.com/doc/refman/5.0/en/char.html
You can use the MySQL client libraries with at least 20 non-GPL licenses, including PHP, BSD and LGPL. See MySQL FLOSS License Exception.
A good data model also allows one to dissociate the program from the database. If you rely on stored procedures in a specific database, you have to completely rewrite them if you want to run on a different database.
-mattew
"THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
I also cringe whenever a MySQL story comes out because it seems like the conversation devolves into two opposing opinions:
People in the latter group don't understand why anyone would dislike it - after all, their home-written blog software renders DB-backed pages in less than five seconds.
People in the former group can't imagine why anyone would put up with its many, many shortcomings when other faster, more capable, more Free databases are widely available. They don't understand why some people wouldn't want to use the best tool for the job when there's no legitimate reason in the world not to.
One of the big ones for me currently is that the query optimizer only uses one index in queries. I know you can have multi-column indexes, but I still see this being a problem for some of my more complex queries. Does PostgreSQL do this better?
I'm migrating my companies data from an old FoxPro setup to PostgreSQL. I don't have the option of normalizing the data (it would break too much legacy code, although I might look into making backward-compatible views sometime down the road), but selective indexing on columns (and functions on columns!) made 20-table joins work astoundingly well. Only one index per query? That would be completely and utterly unusable here. Yeah, PostgreSQL does that better.
Dewey, what part of this looks like authorities should be involved?
if you hadn't been a jerk about it, you probably wouldn't have gotten down modded.
You better watch out, there may be dogs about . .
If anyhow Oracle will harm Inno, will they have only Berkely for transactional databases ? Hmm, MySQL is not very RDBMS still :)
SQL standard says that "table1" should not be equal to Table1 (ie "select column1 from Table1"). MySQL doesn't respect this
a tures.html
MySQL is further from PostgreSQL here. The standard specifies that identifiers which are not double quoted should be folded to upper case. MySQL provides no case folding which breaks compatibility with the standard pretty clearly. PostgreSQL violates the standard by folding to lower case (as opposed to upper) which is compatibible with the standard in 99%+ of real world applications (though I am a big proponant of providing the option of folding to upper).
MySQL supports all operators in the core.
Right... Except that some (like ||) do different things than the spec says unless you change the mode to ANSI mode. This leads to *very* unportable code.
Here are some areas under active development in PostgreSQL at the moment:
SQL/PSM standards support.
SQL/MED standard support
As for SQL-2003 compliance, you can see the list of supported and unsupported features at http://www.postgresql.org/docs/8.0/interactive/fe
Unless you can point to specific SQL-2003 features that MySQL supports properly and PostgreSQL does not, I call FUD.
LedgerSMB: Open source Accounting/ERP
Can MySQL AB get InnoDB sources on non-GPL basis ?
Of course Inno can be forked in GPL-only version, but what to do with non-GPL business, when MySQL sells engine for proprietary non-GPL projects ?
This might be a hit, not free projects where GPL is ok.
Do you distribute under one of their approved FOSS licenses? If so, you're definitely fine using the GPL version under their FOSS exception.
Do you distribute at all? If no, then you are probably still fine using their GPL code. IANAL.
Do you distribute under a proprietary license? If so, you must purchase a license from MySQL AB. I think the cost is about $300. If you can't afford that, maybe you should consider giving your code away for free anyway, 'cuz no one's buying it. :)
"Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
grr i was just hoping to have a full text search built in for non MYISAM tables.......
... but the feature is neat and would be nice to be able to use it in INNODB :( I am using it on 4-8 GIG tables and it is still usable on a low-end server (1g RAM /3ghz HT proc) and with small tables (500M it is lightening fast on even slower machines) ...
Yes yes do not flame, you can write your own and stuff and cross reference I know
Just that MYISAM and table locking for everything can be such a pain in the buttock
Strict Mode attempts to solve many of them. I understand that there is a new set of gotchas, but we shall see (MySQL is not my primary RDBMS).
Strict mode is only a partial solution, however, because applications can turn it off(!) and thus circumvent the protection it affords.
LedgerSMB: Open source Accounting/ERP
The main problem comes from people writing single-application databases. If you have a single application which is tightly coupled with the database, then it makes sense that the performance overhead from doing bounds checking in the back-end might be undesirable. This is particularly the case for light-weight CMS work where MySQL really shines.
However, most larger businesses have databases with anywhere from a couple to a few dozen tools running against them. In these cases, you have a scenario where not only is your data (say, customer history or financial information) extremely valuable, but it is vulnerable to bugs in any client app. Yes, the client apps need to check sanity of inputs before sending it to the db, but the db also needs to check as well, because only the DB is in a position to authority with regard to what is really storable.
This a serious problem with MySQL in part because even with 5.0 and strict mode, it is still a single-app database and fundamentally fails to adequately handle running real multi-client databases.
LedgerSMB: Open source Accounting/ERP
can do this ok, but imagine where I work today: 15 developers, each working in different aspects of the same big system. What do we do? enter our views, functions, and procedures in a data dictionary, which will take care of versioning stuff (quasi-cvs style), and they stay there (along with their comments on correctness, performance, etc) and in the database catalog for our use: when someone needs to use a function I developed, it simply asks the data admin -- via dictionary -- for a read grant for some role on the dev database, and when stuff is ready for production, he/she asks for a transfer of the functions and grants.
It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
MySQL 5.0 can at times use multiple indexes for the same table alias for the same query. See the Index Merge Optimization.
I think I will wait for 5.1x before I switch my production PostgreSQL to MySQL 5.0... I certainly will not base a Slashdot threaded flameware to sway my decision one way or the other.
One of our major bottlenecks at work is when we need to do text searches. We partition the tables to decrease the response time, but no amount of indexing will help when you're doing a substring search. Does MySQL have anything useful with regard to improving our scenario? Or should we look at other products? I'd like to get a much faster response time than we currently have, but we need to support a fairly hefty amount of data (more than 500 million records...).
D'ooh!
Yeah, right.
ftp://mirrors.sco.com/mysql/sold/out/like/cheap/wh ore/stable
ftp://www.scox.com/we/got/another/sucker/stable
ftp://mysql.scox.com/bruce/perens/go/home/stable
Join the Slashcott! Feb 10 thru Feb 17!
In http://dev.mysql.com/downloads we see what the "makers" say about their product: "Please note that when you download the software below, it is the MySQL Community Edition. MySQL Community Edition has not been certified and is not considered ready for enterprise production use."
So what will happen when our boss discovers we have installed MySQL?
And not PostgreSQL, for example?
What kind of professional people are we? where is going to be our data?
+1 Flamebait? I love the smell of mod abuse in the morning.
Are there any reputed hosting providers offering MySQL 5.0?
asoft
Sigh.
It can only be that there's an entire army of new /.'ers that join up between releases who've not seen the last umpteen billion flame wars on the site scroll by between MySQL, Pg, Oracle, Sybase, [insert fav DB here]. Why else would a simple anouncement of a MySQL version update *still* illicit such bigoted replies. MySQL AB have had their developement path laid out for awhile, it seems, and their chugging along it fine. Same with pretty much any other DB project/group out there.
Having spent the last week poking about w/PG8.1b{2,3} because MySQL 4.1.x was choking under heavy multi-user transactional load, I personally feel that I (still) prefer PG; but damn, folks, use want you want when you want and if you don't get what you want out of it (PG, MySQL, Solid, Oracle, Sybase, MSSQL, whatever) pick something else!
O'course /. would be a far more boring place if all the bigots left. So never mind what I just said. /. is really just about the entertainment value anyway, right?
FLAME ON!
Hi!
r t.html
The claim that InnoDB does not do a 'vacuum' of the database is wrong.
InnoDB does do garbage collection when the historical data (= delete-marked records) is no longer needed to serve a consistent read snapshot. The garbage collection (which is called purge) runs automatically as soon as it can clean up some records.
There have been a few reported cases where purge was not able to keep up with the updates or deletes to a table. To alleviate that problem we introduced a new startup option:
innodb_max_purge_lag
http://dev.mysql.com/doc/refman/5.0/en/innodb-sta
Note that the purge is an integral part of the processing of the database workload. If the purge cannot keep up, then the workload is too large for the combination InnoDB + hardware.
Regards,
Heikki Tuuri
Oracle Corp./Innobase Oy
Sorry, I can't say much useful about the Sun v20z boxes. We haven't had them long enough, nor under high enough load, to have much in the way of useful comparative comments yet. Same applies to the HP DL140 boxes. Just too soon. If not otherwise specified you can assume that all the systems are built by Silicon Mechanics.
Hmmm...
LiveJournal loses power. Database gets corrupted and must be restored from backup. Days of downtime.
Wikipedia loses power. Database gets corrupted and must be restored from backup. Days of downtime.
Planning for performance can be essential.
I18N == Intergalacticization
I'm not bashing MySQL. I've been using MySQL since '99. I'm just saying that my philosophy is to be cautious in upgrades. There are tons of "early adopter" types that will be posting their drool-filled "oooo gotta download right now!" posts. There's nothing wrong with their posts, right? So what's wrong with me saying I plan to hold back a bit?
Regarding the feature list, yeah, those things are really cool. I've been looking forward to having them. But, like I said, I'm waiting until maybe 5.0.3 or so - let them work the kinks out with some real-world feedback. And in the meantime, if I want to work with those features, I can grab Postgres. I've never used Postgres before, and I've been wanting to give it a try. It would be good experience. Again, what's wrong with me saying this?
If you're looking to be offended, I suppose you can find it in anything that's not a glowing endorsement. But my intent was not offense.
Constitutionally Correct
Yes, I'm the one you're thinking of. There's an email link on my Wikipedia user page if you'd like to email me for a private discussion. How have things been going?
You're right about the disks. There was some thought that a schema optimisation with the new MediaWiki software version a few months ago and/or the switch from 8GB to 16GB might change the database servers from disk limited to CPU limited. Neither did and it appears that something like 10-12 15K SCSI drives will be about right for dual Opterons, maybe 18-22 for dual dual core Opterons. Not sure of the exact status of the order but we've at least one drive box ordered to get some data on how a greater number of drives will do.
The number six happened originally because that was the number of hot swap bays in the 2U cases offered by Silicon Mechanics. Still is.
You forgot to say why: both were affected by flaws in two caching disk controller brands. Even though they had battery backup, the controllers didn't turn off the drive caches, so they lost what was in the drive cache. Completely defeated the point of having the battery backup in the first place. Both controller vendors subsequently did some work to address this issue.
Personally, I recommend getting controllers which don't throw away the data they are supposed to be protecting with their battery.
Both LiveJournal and Wikipedia have asked MySQL to try to be more tolerant of screwed up hardware like that.