Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Databases Programming Software GNU is Not Unix IT

MySQL Beats Commercial Databases in Labs Test 419

An anonymous reader writes "Many of the big players now offer free or 'light' versions of their databases, some would call them crippleware. Builder AU compared databases from Oracle, IBM, Microsoft and MySQL, and the open source offering came out on top."
This discussion has been archived. No new comments can be posted.

MySQL Beats Commercial Databases in Labs Test

Comments Filter:
  • by Anonymous Coward on Thursday December 22, 2005 @11:23PM (#14324355)
    I thought the reason MySQL don't post their own comparisons is because the EULAs of Oracle etc. specifically forbid public posting of benchmark results?
  • by SanityInAnarchy ( 655584 ) <ninja@slaphack.com> on Thursday December 22, 2005 @11:26PM (#14324370) Journal
    Is it really fair to compare an open-source project, designed to compete with for-pay commercial products, with crippled versions of said commercial products?

    Of course, I don't really care what the answer to that is -- either way, I win. Either commercial DB vendors really are releasing heavily crippled versions (bad for them), or MySQL really is the best DB out there (good for it).

    And what about postgres?
  • Obligatory.... (Score:5, Insightful)

    by mla_anderson ( 578539 ) on Thursday December 22, 2005 @11:27PM (#14324379) Homepage

    And what about PostgreSQL? It should fare very well.

  • by east coast ( 590680 ) on Thursday December 22, 2005 @11:34PM (#14324401)
    Either commercial DB vendors really are releasing heavily crippled versions (bad for them)

    In what way is that bad for them? Let's face facts, by the time you're using a DB that requires some serious power it probably means you're making money with it. That's the idea behind writing enterprise level software: to make cash. These lesser "crippled" version are goodwill as I see it, and mostly for students or armature enthusiasts.

    By the time you're making money from technology the user should be willing to ante up a few shekels to keep the game going instead of being cheap and running down the market.
  • Microsoft? (Score:3, Insightful)

    by Atlantis-Rising ( 857278 ) on Thursday December 22, 2005 @11:36PM (#14324406) Homepage
    I only skimmed TFA, but why are they using Microsoft's Express Beta version? rather than SQL Server Standard edition? Kind of rigged, ne? Plus, it's a beta! Come on! I know it's microsoft, and this is slashdot, but please!
  • Two things... (Score:3, Insightful)

    by komodotoes ( 939836 ) on Thursday December 22, 2005 @11:38PM (#14324417) Homepage
    First, you would think that PostgreSql would be top o' the heap because it's equal to / arguably better than MySql in features, and it's under a more permissive licence.

    Second - Sweet Hog of Prague! Oracle 10g costs $24 grand Per CPU!?!?!?!?




    NeverEndingBillboard.com [neverendingbillboard.com]
  • by xxxJonBoyxxx ( 565205 ) on Thursday December 22, 2005 @11:41PM (#14324432)
    This looks like one crappy business model:

    "Our scenario in this comparison calls for a database solution for a relatively small e-commerce company with less than 200 employees. The company sells DVDs and books over the Internet and will initially have around 1000 customers"

    Lemme see...five customers for each employee? With an American workforce pulling down $40K each with benefits, that means each customer needs to buy $8K of useless crap from this one company every year.

  • by ThinkFr33ly ( 902481 ) on Thursday December 22, 2005 @11:43PM (#14324447)
    SQL Server Express [microsoft.com] is not really meant for any serious production environments. I suppose one could use it for a personal web site here and there, but it is a tool primarily meant for developers.

    Instead of having to have access to a full fledged SQL Server, you use SQL Server Express to develop your application and then deploy it to a full SQL Server when that server becomes available.

    Since SQL Server Express supports the vast majority of the features [microsoft.com] that a developer might need, it is very useful during the initial development of an application.

    In my experience, SQL Server Express is great for basic projects (like a personal web site or blog) and for the initial phases of development of a "real" project. Once you start getting into the realm of serious applications, where one might need finer grained control of isolation and locking, or when you are at the point where you need to do performance testing of your application, you really do need to move up to the full SQL Server box.

    At any rate, I'm not really sure this comparison is all that fair. MySQL makes an attempt to be a database server for "real" applications, where as SQL Server Express is more of a development tool / MS Access replacement that is targeted at personal projects.
  • by aapold ( 753705 ) * on Thursday December 22, 2005 @11:50PM (#14324483) Homepage Journal
    the money you can get paid as a DBA for each type of database...
  • by ocelotbob ( 173602 ) <ocelot@nosPAm.ocelotbob.org> on Friday December 23, 2005 @12:06AM (#14324545) Homepage
    The eulas mention performance benchmarks. This article dealt more with feature sets and price/performance questions. No benchmark numbers here, so the EULA means nothing.
  • by Noksagt ( 69097 ) on Friday December 23, 2005 @12:07AM (#14324549) Homepage
    The gratis version of MySQL is released under the GPL with the exception that it can be included in ANY F/OSS software. If you are creating an open source product or won't distribute your software, this is great. If you are producing commercial proprietary software, you must purchase a license to MySQL. I believe that many of the gratis, proprietary programs don't carry this restriction.
  • by SadButTrue ( 848439 ) on Friday December 23, 2005 @12:10AM (#14324559) Homepage
    I have a sneaking suspicion that you don't use heavily loaded databases often.

    count(*) against a table that is under heavy load and you get:
    1) the count when you issued the command, via a lock (table) and scan
    2) a secondary table/counter that gets updated automagicaly with each insert/delete commit

    mysql chooses number 2. why? Well by the time you can do anything with the results, the lock will be gone. The table will no longer be in the state it was when you asked. Good for you, you just wasted DB cycles because you want 'accurate' data.
  • by AKAImBatman ( 238306 ) <akaimbatman@g m a i l . c om> on Friday December 23, 2005 @12:13AM (#14324570) Homepage Journal
    Even if the EULA applied here (which it doesn't, this isn't benchmarks), this is a lame "comparison". What they do is take the crippled versions of $$$ commercial databases that are
    "free" for development or personal use, and then compare them against only ONE OSS database. Would you like to guess which OSS database that is?

    The entire story feels trumped up to appeal to MySQL fans.
  • by Yonder Way ( 603108 ) on Friday December 23, 2005 @12:13AM (#14324577)
    ...leaving out PostgreSQL was a glaring omission.
  • Sick and Tired (Score:5, Insightful)

    by vectorian798 ( 792613 ) on Friday December 23, 2005 @12:14AM (#14324579)
    I am so damn sick and tired of biased headlines and (often) even more biased comments. I know Slashdot is part of OSTG and all, but come on - it is beneficial to all concerned to be FAIR and unbiased. To compare MySQL to Oracle, DB2, or SQL Server is a joke. Anyone with half a hint of what they are talking about would know this. MySQL is only better for SMALL websites where speed is more of a deciding factor.

    In any case, even ignoring the fact that these are crippled versions of the real deal, this isn't even a proper test! Let's see what a REAL DB comparison looks like:
    Complete TPC-H Results List [tpc.org]

    I know that MySQL and PostgreSQL aren't included in that result list but that is how a test SHOULD be performed, not with the ridiculously hand-wavy methods the authors use to 'score' each DB software.

    That being said, no one has any business saying MySQL >> DB2 or Oracle. That's a joke. MySQL would SUFFER in the 10TB test. Also, where is Teradata? Furthermore, the way that the article treats SQL Server is even more ridiculous, because their 'free' version is likely the least functional of the lot since it is SPECIFICALLY aimed at learning on one's own desktop. Nothing to see here, just a random useless article trying to say something to push its writers' ideas without much basis.
  • by kpharmer ( 452893 ) on Friday December 23, 2005 @12:15AM (#14324584)
    The reviewers know databases about as well as my grandma knows sports cars. They seem to mean well, and admit that this comparison was complex and hard. In the end they were unfortunately over their head.

    PRODUCT SELECTION

    1. where's postgresql? This is the product that the commercial vendors need to be the most nervous about. Sure, they're loosing more low-end revenue to mysql right now, but postgresql is getting picked up by some big players. It is far more mature than MySQL, doesn't have the quality issues, isn't partially owned by Oracle, etc.

    2. where's at least a mention of all the various other solutions - from Firebird to Derby (Cloudscape)

    FUTURE PROOFING

    1. They mistakenly say that mysql doesn't require scaling up to enterprise versions like db2/oracle do. This is incorrect because mysql lags behind oracle & db2 for performance in many situations:
    - since it doesn't support query parallelism (which provides near linear performance improves to db2/oracle)
    - since it doesn't support partitioning (which can provide 10x performance improvements to db2/oracle)
    - since it doesn't have a mature optimizers (which means that queries with 5 table joins can tank)
    - since it lacks memory tuning flexibility
    Together this means that as your data increases you have to continue moving a mysql database to larger & larger hardware.

    In other words, if you need to scan a table with 10 million rows in it, then join that data against 6 other tables - db2/oracle can:
    - leverage partitioning so only scan 1mil rows or so instead of 10mil
    - split the scan across four cpus
    - leverage more efficiently tuned memory (ensuring little tables & indexes stay in memory)
    - use the best possible join
    and probably complete the query in 1/60th the time that mysql would take. And that means that you could get better performance from db2/oracle on a $25,000 four-way smp than from mysql on a $2,000,000 32-way.

    2. They fail to mention that Oracle now owns the most valuable parts of the MySQL solution (Innodb). Oracle has obviously purchased this component (which is how mysql supports transactions, pk/fk constraints, etc) in order to harm MySQL. Since there is no other viable replacement for Innodb the MySQL future is in serious doubt.

    3. They probably weren't aware that MySQL is the least ANSI-SQL compliant database in the market. This is means that porting mysql code to another database is a royal pain in the butt compared to code supporting postgresql, db2, etc. Though, to be fair, it is getting much better.

    LICENSING COSTS:

    1. mysql isn't necessarily free, and can cost more than the commercial alternatives for small distributed commercial apps

    2. db2 licensing only provided for DB2 Express- which is the low-cost 2-cpu model. That's often ok, hardly compares to Oracle standard edition also included. Also, I think they may have gotten their db2 costs mixed up between express & workgroup editions.

    CONCLUSIONS & MISC

    They mentioned some of the great mysql features like clustering and fault tolerance. Sorry, but mysql cluster solution is a separate telecom product that they purchased, that stores your data in memory - limiting your database size to however much memory you can afford. Not a practical solution for very many.

    The mysql fault tolerance is really just replication. That's sad.

    They mention one strength of mysql is their maximum database size of 64TB - which is nonsense, just because its internal registers and pointers can handle a theoretical maximum of 64TB doesn't mean that it would ever make sense to put more than 20 GB on it. DB2 & Oracle can go to 64TB, but today almost nobody is going beyond 10 TB just due to backup performance, cp
  • by Anonymous Coward on Friday December 23, 2005 @12:16AM (#14324585)
    this is why mysql is a joke

    http://dev.mysql.com/doc/refman/5.0/en/constraint- invalid-data.html [mysql.com]

    " Before MySQL 5.0.2, MySQL is forgiving of illegal or improper data values and coerces them to legal values for data entry. In MySQL 5.0.2 and up, that remains the default behavior, but you can select more traditional treatment of bad values such that the server rejects them and aborts the statement in which they occur. This section describes the default (forgiving) behavior of MySQL, as well as the newer strict SQL mode and how it differs."

    " MySQL allows you to store certain incorrect date values into DATE and DATETIME columns (such as '2000-02-31' or '2000-02-00'). The idea is that it's not the job of the SQL server to validate dates. If MySQL can store a date value and retrieve exactly the same value, MySQL stores it as given. If the date is totally wrong (outside the server's ability to store it), the special date value '0000-00-00' is stored in the column instead."

    This is still a hobbiest toy.
  • by GoofyBoy ( 44399 ) on Friday December 23, 2005 @12:17AM (#14324595) Journal
    >The table will no longer be in the state it was when you asked.

    Yes, everyone who ever uses a database should know this already. Thats the whole purpose of transactions and consistancy.

    >Good for you, you just wasted DB cycles because you want 'accurate' data.

    vs. using DB cycles for inaccurate data?

    "Yes the result is wrong but look how many cycles we saved!"
  • Re:Two things... (Score:4, Insightful)

    by kpharmer ( 452893 ) on Friday December 23, 2005 @12:23AM (#14324624)
    > Second - Sweet Hog of Prague! Oracle 10g costs $24 grand Per CPU!?!?!?!?

    oh, it can be *far* more expensive than that. The enterprise version is $40k/CPU, and that doesn't even including partitioning. To get Partitioning (and yes, you want it for any large database) you're looking at an extra $10k/CPU. And there are other extra charges as well. You can easily end up at $60k/CPU.

    On the flip side, you can also get away with $5k/CPU if you know what you're doing, and if what you're doing is small. On the large side where you'd pay $60k/CPU you've probably also got $600k in hardware and a staff of at least a half-dozen. Guess what? The software & hardware almost always end up as a rounding-error compared to the labor costs. Doesn't really matter if the application is custom or commercial, they both seem to have about the same labor costs.
  • by Anonymous Coward on Friday December 23, 2005 @12:26AM (#14324629)
    this is similar to table statistics in the oracle database -- updated when statistics are rebuilt (automatic or manual), and only accurate as of that moment, though much quicker to query if you keep your statistics fairly up to date.
  • Comment removed (Score:4, Insightful)

    by account_deleted ( 4530225 ) on Friday December 23, 2005 @12:49AM (#14324713)
    Comment removed based on user account deletion
  • by Pxtl ( 151020 ) on Friday December 23, 2005 @12:54AM (#14324739) Homepage
    Because real enterprise apps aren't run on webhosting companies. THey're run on company-owned servers - colos at a bare minimum. And in that case, they don't use MySQL.
  • by darylb ( 10898 ) on Friday December 23, 2005 @01:20AM (#14324837)

    Give me a break. This guy has reviewed databases on the basis of features, with, as far as I can tell, not a single real performance evaluation in different kinds of applications (OLTP, DSS, data warehouse), data volumes, or query complexity.

    It gets better. In discussing Oracle, he explains: That is not to say the other databases serve up incorrect data but with some database engines when the workload is high, uncommitted data can be flushed from buffers to disk potentially creating a dirty read. MVRC also ensures that readers do not block writers and visa versa. HUH? I can't speak for EVERY database out there, but for most of them, you'd have to specifically set a "read uncommitted" isolation level to actually read dirty data. The majority of the databases would simply give a lock-and-block situation while the second reader waits for the writer to complete. Oracle's MVRC (and PostgreSQL's scheme) both prevent this lock-block situation. But, really, to say that this would potentially create a dirty read situation is just silly.

    He also didn't speak of Oracle's new Express Edition. Yeah, it's limited to 1 CPU and has a cap on its data volume, but you get all of Oracle's core features (including PL/SQL) for FREE.

    Nothing to see here, folks. Just move along.

  • by Forge ( 2456 ) <kevinforge@@@gmail...com> on Friday December 23, 2005 @02:02AM (#14324978) Homepage Journal
    "However, comparing a simpler product's performance to (crippled versions of) more robust products is silly."

    Ohhmmm... They didn't compare performance at all.

    Just did a basic install and initial setup then ran with the feature list and compared price/alowed configs.

    The article basicaly confirms what I recomend (and you probebly do) anyway. I.e. If the Free product can do the job "corectly" (Catch all term for performance, reliability features etc...) there is no need for the $$$ databases.

    If however you need to do something that only a comercial database will alow you have to get that database.

    Most of my customers NEVER chose the databases they use. They chose a specific application then got that app vendor to spell out what database, OS and Hardware they recomend for this workload.

  • by Saanvik ( 155780 ) on Friday December 23, 2005 @02:08AM (#14325004) Homepage Journal

    I think your point 3 under future proofing (ANSI compliance) points out how slanted the review was.

    On the spec page for MS SQL Server Express they said it had "Basic" ANSI support. Sounds kind of crappy, huh?

    For MySQL, which doesn't even have basic support they wrote, "Extended subset of SQL-99, plus SQL-99 and SQL:2003 features." Sounds a lot better, doesn't it? It's not. It's a mis-mash or standard and non-standard bits versus Microsoft's basic support of the standard.

    It's a sad state of affairs when Microsoft is more standards compliant than the "Editor's Choice".

  • Re:Two things... (Score:2, Insightful)

    by Curmudgeon Rick ( 730930 ) on Friday December 23, 2005 @02:30AM (#14325059)
    $25k was in Australian dollars. Pay attention, son, pay attention!
  • by igb ( 28052 ) on Friday December 23, 2005 @02:50AM (#14325117)
    This may come as a surprise to you, but webhosting pretty much defines hobbyist. If something's running on a platform supplied and managed by a webhosting company, it's going to be a sole trader at best. Real enterprise applications are running on company-owned platforms either in colo or the company's own datacentre. And in that space, it's Oracle on Solaris as the default position.

    Sure, there's MySQL in production environments. If the task at hand is the configuration data for your cacti SNMP graphers, MySQL is perfectly fine. But for real, transactable data? If you're young, keen and besotted by OSS, Postgres might help you not get sacked. Not MySQL. Outside the OSS space, you'll find a lot of people who say ``why do we spend all that money on Oracle, I can knock it up in Access''. It's the same problem: a lack of understanding of what really defines an enterprise DBMS.

    ian

  • Good freakin god (Score:5, Insightful)

    by xant ( 99438 ) on Friday December 23, 2005 @03:11AM (#14325165) Homepage
    Can we get over mysql already? Even sqlite is a better, and faster, database now. It's ACID, which mysql is not: http://www.sqlite.org/lockingv3.html [sqlite.org]

    And Postgresql is far more robust and performs just as well.

    What does mysql offer any more that the other OSS databases don't? Is it just that it's the M in LAMP? I'm so tired of hearing about Mysql, and all the Mysql drama, when it's just a shitty database that has a lot of mindshare.
  • by chroma ( 33185 ) <(chroma) (at) (mindspring.com)> on Friday December 23, 2005 @03:25AM (#14325198) Homepage
    setting up and maintaining these things was really not very hard when you understand what's going on

    Yes, and there is an economy built around getting you to the point where you can understand what's going on.

  • by saden1 ( 581102 ) on Friday December 23, 2005 @04:53AM (#14325392)
    What happened to Postgres was my first thought too.

    Is it just me or was the author poignant and very descriptive when it came to the features set of MySQL while the features of other databases got a simple bleep in comparison?

    I'm a big fan of MySQL but as a person who strives to be objective I find this comparison offensive and detrimental to the credibility of MySQL
  • Rigged test (Score:4, Insightful)

    by d_jedi ( 773213 ) on Friday December 23, 2005 @06:02AM (#14325542)
    Comparing the free offering of SQL Server to the full version of mySQL is just about as biased a comparison as Microsoft's "Get the facts" campaign..
  • Uhh (Score:5, Insightful)

    by CaptainZapp ( 182233 ) * on Friday December 23, 2005 @06:53AM (#14325663) Homepage
    Enterprise software is very rarely sold shrink wrapped with an EULA. Usually the vendors sales people sit together with somebody senior from the procurement department and tries to squeeze as much money as possible from the purchaser.

    Those contracts (which usually go through some dunderhead in legal) are quite specific in what you can and can't do. For example: They may specify the number of seats, if and in what form the db may be connected to the internet, or even the business in which the product may be used for.

    Those are very much legal contracts and have (even though you may call it an EULA) not a helluvalot to do with shrink-wrap or click-through EULAs.

"The one charm of marriage is that it makes a life of deception a neccessity." - Oscar Wilde

Working...