A source-code analysis of the MySQL database revealed few bugs compared with the number found in commercial code, testing company Coverity said Friday.
A source-code analysis of the MySQL database revealed few bugs compared with the number found in commercial code, testing company Coverity said Friday.
I don’t get the point of posting this story. Maybe its just me.
It is just you. The point is that mysql is more stable than commercial DB software which can cost millions.
Actually I think the point is more of a free plug for coverity for a product, which by their own admission has a 20% false positive rate …
…and doesn’t have the quarter of their features. That kind of result was expected, don’t you think?
Anyway, read the article. They did not compared MySQL to any other RDBMS. An automated tool analysed the MySQL code and compared the results with an average number of bugs per line for commercial software.
I have nothing against MySQL. It has served me well in the past and might serve me again in the future (looking for 5.0) but this study is rather meaningless to me. It’s just advertising for their analysing software.
I’m not sure if it has 20% false positives but that doesn’t really mean much in the first place because they rank the probability of detected errors being real and their system gives a pretty good indication of what are clear errors and what might not necessarily be incorrect, but could be. 20% false positives are a small price to pay for some of the bugs they find, most of the bugs found by the model checker are pretty much impossible to find with any other method.
The point is that mysql is more stable than commercial DB software which can cost millions.
No, the point is that MySQL has less of the type of bugs that can be discovered with this tool than the average number of bugs in commercial products. Doesn’t say anything about its relative stability to other products.
I could write an app with a million “bugs” that would still never crash or corrupt data.
“However, that number is small compared with most commercial software code, said Seth Hallem, Coverity’s CEO”
What a load of crap! Let’s compare apples to apples here. The results for the commercial code are from some other group/company and most likely some other tool. Since they can’t run their tool on commercial software they come up with some BS numbers.
Actually, they do run their stuff on commercial software all the time, so they do have measurments on them.
their tool is run on commercial software, but do you realy think that, lets say oracle, shows them the result?
We pushed MySQL pretty hard in our enterprise application… 100s of millions of rows inserted/deleted/updated over a few weeks on a regular basis at multiple customers.
we had performance problems and data corruptions on a consistent basis (using versions 3 and 4). Indexes would get corrupted and take hours and hours to re-build. Data would get corrputed and lost. Table repairs sometimes took days (which meant downtime).
We switched to supporting oracle and SQL Server and have found both better performance and *MUCH* better reliability.
I can’t speak to version 5, but our conclusion is that MySQL 3/4 isn’t enterprise ready.
As far as I remember they usually go in and help all the companies set things up. So I’m not sure if they get the exact results, but I think they have at least a sense of it for some companies.
I am now kind of curious to find out if they do now the numbers, so I’ll ask on Monday (I do research with some people involved with coverity). I’m sure they couldn’t tell me the numbers but they can tell me if they know or not.
The whole point of this article is to show off their analysis software to prospective buyers – aka geeks. Lately, according to the media at least, all geeks are into open source. So the PR people came up with a great idea: if use their analysis tool to produce a comparison with supposedly less errors in OSS code and then tangentially make some random conclusive statement that the OSS program is much more stable compared to closed source programs they’ll sell more licenses. Its pure geninous.
Remember, if you are part of the movement obviously microsoft must be paying you.
peer review. The scientific community also benefits from it.
Just try Berkeley DB XML 2 from Sleepycat and you will never use another db engine again.
Dude. That’s terrible. You obviously did no research whatsoever. If you wanted an enterprise ready SQL database, PostgreSQL is the closest you’ll get. Much better than MySQL.
I don’t believe so many people are using MySQL. People say “oh if you don’t need the data integrity and stability and all those fancy features, then its fine”. Incredible. I guess people are still using Windows though.
to see you guys don’t actually read the article and post flaming comments already.
“MySQL, the Swedish company that develops and maintains the MySQL database, contacted Coverity and asked for the audit, said Zack Urlocker, vice president of marketing for MySQL.”
..so although it’s good publicity for Coverity’s tool, the whole thing was done at the MySQL’s management request.
My PHP websites used MySQL as server. Never had problems.
Thats my point of view. A point from a user which needs small/medium amount of data and medium speed of processing.
“we had performance problems and data corruptions on a consistent basis (using versions 3 and 4). Indexes would get corrupted and take hours and hours to re-build. Data would get corrputed and lost. Table repairs sometimes took days (which meant downtime).”
We had the same problems… Tables that we just selected from (preloaded, no inserts or updates) would become corrupt. It was a real pain in the ass. We switched to MS SQL Server and have had no corruption since.
I think a lot of people misunderstand what that kind of software can do. You won’t find bugs in the semantics of an application; it’s more about checking return values (e. g. a functions long return value interpreted as an integer), no range checks on values given from external function calls, probing given invariants at a certain point in order to construct requirements at a point before etc.
There are some classes of bugs which will never be found using code analysis tools.
Berkley Db’s are not RDBMS
I can’t help but wonder if the failure of MySQL in some cases has more to do with the people using it. I mean, on one hand, I have someone who says “I used MySQL with 100’s of millions of records and it crashed…”. Then when it doesn’t work for them, they switch quickly to Oracle or MSSQL. Now, you can’t be stupid to work with Oracle, you have to know what you are doing. So it makes me think maybe these people just didn’t know how to use MySQL. They are sitting their using MySQL just like they would use Oracle, which won’t work, because MySQL isnt’ Oracle. The same thing if you tried to use Oracle like MySQL. MySQL has features oracle doesn’t have.
This is all especially true when you consider some really large customers use MySQL successfull on a day to day basis. Take LiveJournal for example. Say what you want, but that’s a constant attack on a database.
I can’t help but wonder if the failure of MySQL in some cases has more to do with the people using it.
I’m willing to be that the highest majority of mySQL administrators are clueless compared to other database admins, that I would never try to argue. But for various projects, I have used sqlite, mysql, postgres, firebird, oracle, msql and probably some others in rare instances that don’t immediately come to mind. The ONLY database I have EVER had corruption problems with was mySQL and it did so consistently! Unexpectedly the damn tables / indexes / databases / whatver would corrupt over and over, that got old quick. Having said that however, I never lost data, just precious time and some of the faith of my coworkers.
Additionally, I’m running a few php apps on my webserver (shared hosting) with php (phpbb and a bug tracking app) and in the past 3 months each stopped working on one occasion because the mysql tables becoming unusable. That really pissed me off, corrupt tables 3 years ago, corrupt tables today…
After using mySQL I switched to Firebird for quite a while, I enjoyed using it and never had any problems at all. I decided to try Postgres one day and have since stuck with it for no particular reason, I like them both.
Today I use sqlite on pocketpc, firebird embedded on pc when appropriate and postgres for multi user databases. I do not ever use mysql for my own solutions. I’m not at all saying that nobody should use mysql, I’m just saying I choose not to for the aforementioned reasons.
Mysql has become too commercial. They don’t even have a download link on the main navigation bar on their website.
Just a small, kind of hidden link, mixed in the content of the main page.
I don’t like that kind of practice with supposedly OSS project.
They discontinued the MysqlCC which was starting to be a good app and replaced it with query-browser which is impossible to use for non-experts.
After all these years they haven’t produced a single app that would have form and report features.
I know there are apps for that from other places but none that would do similar things like MS Access does and would be cross platform, run on both Linux, Windows, and Mac.
Sort of like Open Office.org or Mozilla.
These kinds of apps would be great for small offices where they need a database but need something easy to use.
Those small offices are using MS Access right now.
I get asked to set up MS Access all the time for them, and as much as I’d like to offer an OSS solution, I can’t because there is no equivalent to MS Access, at least as far as I know.
PostGres wasn’t an option. No decent windows support… almost all of our customers use windows – at least for proof of concepts. When they buy the software sometimes they go Solaris/Linux/AIX, usually stick with Windows though (easier to get going).
And 90% of our devs use Windows to develop on.
LAMP is the word for mysql.
The popularity is what keeps things going.
MySQL is like MS.VB -> popular.
(i dont say anything wrong about its speed but neither do i saw anything wrong about vb components plea)
Until 5 and even more there would be no decent modern RDBMS support for mysql.
try here
http://www.microsoft.com/sql
here it is:
http://tpc.org/tpcc/results/tpcc_perf_results.asp
there are only 3 databases for enterprise work
DB2, SQL2000, Oracle
and interbase, cache, my_toy_sql, teradata, are just toys
where is MyCluster? or MyDTS? or MyPerformance?
kisses myweenies………
Just great, another load-of-cr—I mean ‘study’ by Coverity, justn like the one on the linux kernel.
The TPC benchmark is actually more a markiting tool than a real benchmark.
For the interested MySQL just won the SPEC Jappsserver benchmark.
Cheers
Gunnar