Slashdot Mirror


MySQL Beats Commercial Databases in Labs Test

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."

419 comments

  1. Isn't this an EULA violation? by Anonymous Coward · · Score: 5, Insightful

    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?

    1. Re:Isn't this an EULA violation? by ocelotbob · · Score: 3, Insightful

      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.

      --

      Marxism is the opiate of dumbasses

    2. Re:Isn't this an EULA violation? by AKAImBatman · · Score: 5, Insightful

      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.

    3. Re:Isn't this an EULA violation? by Anonymous Coward · · Score: 0

      "... specifically forbid public posting of benchmark results?"

      Uh, were there any benchmarks posted? Where?

    4. Re:Isn't this an EULA violation? by Krach42 · · Score: 1

      They take only one free DB. Oracle and IBM DB2 they take the lowest level option that is provided.

      This presents a comparison on a level important to a small business, in that they would only need the lowest level of a DB line. I would have non-the-less been nice for them to compare also the first level of Microsoft's SQL Server, rather than just the crippled free version.

      The comparison isn't entirely bogus, it's just skewed to the benefit of F/OSS.

      If you're comparing the most affordable models of various car companies, you're looking at for instance, the Civic, and the Corolla. Now, imagine that some car company makes a car that is a poor comparison of an Supra, but offers it free. Suddenly in this key area (the cheapest alternative from each company) you end up with the free option winning outright.

      This only helps the small business. A larger business has money as almost no object, and they just pick the best solution overall. A smaller business though must definitely make a choice with money as a consideration.

      --

      I am unamerican, and proud of it!
    5. Re:Isn't this an EULA violation? by CaymanIslandCarpedie · · Score: 1

      The comparison isn't entirely bogus, it's just skewed to the benefit of F/OSS.

      Maybe not a sham, but completely useless. To extend your car example, its like they compared cars by reading the car's brouchure and maybe walking by one. They never got in, they never drove it, etc, etc.

      It almost seemed like thier "comparison" consisted of reading each products ReadMe file and then writing an article "comparing" them.

      --
      "reality has a well-known liberal bias" - Steven Colbert
    6. Re:Isn't this an EULA violation? by CaptainZapp · · Score: 1
      What they do is take the crippled versions of $$$ commercial databases that are "free" for development or personal use

      Sybase offers its Express Edition for free, which you may call crippeled, since it permits only one CPU, 5GB of storage and a maximum of 2GB of RAM.

      Else then that you are quite free to use it for whatever you want (including productive use) and - save for the documented limits - you get their flagship, enterprise product.

      Support is extra, of course.

      Disclaimer: I worked for Sybase until 1999, but have no more whatsoever interest in the company. It's a good database, though.

      --
      ich bin der musikant

      mit taschenrechner in der hand

      kraftwerk

    7. Re:Isn't this an EULA violation? by moro_666 · · Score: 2, Informative

      indeed, no benchmarks were in the article.

      i guess mysql would have beaten the rest in simple queries and perhaps would have gotten it's ass kicked when it goes down to many subselects that depend on indexes to join up, mysql had some bug or not yet include optimization lack there some time ago, dunno where it is now.

      but i was very surprised how "deep" the comparision between features was :p

      stored procedures: mysql has them all right, but the pointers are not yet fully implemented in 5.0 they miss some features that were promised to come in 5.1

      stored procedures in custom languages: mysql promised it in 5.1 (afaik postgres and oracle already support this).

      jdbc and java support: the last time i saw mysql's jdbc driver, it literally sucked, the whole idea of resultsets was misinterpreted and the whole query results were fetched into the client machine at once which cause terrible overheads in statistic software that was ported to jdbc/mysql. perhaps they have fixed it now, but 2 years back this driver was literally unusable in such cases where you needed processing of huge amounts of data.

      there are probably zillion other things that weren't quite closely examined in the review, i guess who ever uses what he has to with mysql can see some points that definitely need impovement compared to the other mature rdb-s.

      my car can have a sledge attached to it, but this doesn't mean that it's a snowmobile and ready to conquer the north pole.

      i use mysql every day here, i like it's simplicity. i hope it makes good progress in near future and will become even more compilant with other databases. but i don't like if people give software the "make-up" to make it look really ready for some applications and it turns out later that it wasn't really not so ready, sometimes not ready at all.

      if i need lots of features for free, i still choose postgres. but mysql is gaining up and may become the one choice in some years.

      ps. people should start to get worried about mysql gaining lots of features too, lots of more features always mean some slowdown in the whole application and sometimes this really isn't what we need.

      --

      I'd tell you the chances of this story being a dupe, but you wouldn't like it.
    8. Re:Isn't this an EULA violation? by flosofl · · Score: 1

      the last time i saw mysql's jdbc driver, it literally sucked

      And I can download this... where? (Hey, I'm lonely...)

      --
      "This calls for a very special blend of psychology and extreme violence" - Vyvyan "The Young Ones"
    9. Re:Isn't this an EULA violation? by AKAImBatman · · Score: 1

      Oh, I'm well aware. I just had to add Sybase support to a product I work on. Oracle and DB2 offer the same deal. But for this "comparison" they're taking products designed for developers to kick the proverbal tires and then comparing them to the full version of MySQL. They're not even really poking at the features or performance. All they're doing is saying, "Well, MySQL can run on LOTS of CPUs and is unlimited in its disk usage, so therefore it's better than these other products. Oh, and we've got enough checkmarks from the marketing materials to say that MySQL is just as feature rich as these big DBs."

      At best that's a rather "interesting" way to slant the results. Tune in next week when we'll be comparing apples to blocks of lead!:-)

    10. Re:Isn't this an EULA violation? by IdleTime · · Score: 0

      I read through thre article and it was obvious from the start on that this would be an article that put MySQL on top and surprise surprise Editors choice was : (drumroll) MySQL.

      I don't know if I should cry or laugh, but the whole article is so stupid that it's not even worth discussing. It selects MySQL adter comparing a few selected crtierias which makes MySQL look good, but if you look at the comparison chart between the various databases, it should be obvious that MySQL is the least desirable database. Just because it's OSS doesn't make it the best.

      How do I get a one-off patch for a bug fix in MySQL at 2am Sunday morning when I need the fix in order to get back into production? And don't tell me to do it myself because that is not how businesses functions. It needs to be a MtSQL supported fix.

      --
      If you mod me down, I *will* introduce you to my sister!
    11. Re:Isn't this an EULA violation? by CastrTroy · · Score: 1

      But in the end, you can't get a free car. What they are showing here, is what you can actually get for free. They say open source is more expensive, because the maintenance costs more. I don't see how that works out. MS SQL Server Enterprise 2005 costs $25000 per processor. Assuming a 4 processor machine, that's $100,000 just for that one box. Assuming you upgrade databases every 5 years, this is how often MS comes out with new ones, you could pay someone $20,000 more per year, just to look after that one box. Now, you'd probably have more than 1 box per person. If you need a person for each box, your box needs too much support. Oh, and with open source, you could upgrade more often, since the cost of licensing for an upgrade is effectively 0.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    12. Re:Isn't this an EULA violation? by EsbenMoseHansen · · Score: 1
      How do I get a one-off patch for a bug fix in MySQL at 2am Sunday morning when I need the fix in order to get back into production? And don't tell me to do it myself because that is not how businesses functions. It needs to be a MtSQL supported fix.

      Call support? :p It did mention support, available at a price below or equal to the support available from the others. It seems that what you are looking for is 2395.00/Server/Year (30 minutes emergency response).

      --
      Religion is regarded by the common people as true, by the wise as false, and by rulers as useful.
    13. Re:Isn't this an EULA violation? by zedenne · · Score: 1
      But based on his requirements he's unlikely to need enterprise edition for quite a while.

      The standard edition of MSSQL2005 support things like failover clustering and is pretty cheap when compared to oracle 10g standard (around $6k i think), even workgroup could be suitable.

      In our environment our single mssql systems dba support approximately 120 databases across around 30 boxes including some clustered, multiple replication models etc.

    14. Re:Isn't this an EULA violation? by CastrTroy · · Score: 1

      How do I get a one-off patch for a bug fix in MySQL at 2am Sunday morning when I need the fix in order to get back into production? And don't tell me to do it myself because that is not how businesses functions. It needs to be a MtSQL supported fix.

      How do I get one for SQL Server, Oracle, or DB2? If MS/Oracle/IBM don't fix it, then it's not getting fixed. There's lots of bugs in SQL Server that haven't been fixed. I'm not sure about the other two, as I don't really use them that much. Anyway, the point is, is that if the patches are available, you can get them. However, with commercial software, you're relying on a single entity to provide all the patches. With Open Source, Anybody could make a patch, and if it's needed, it will probably go into main system.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    15. Re:Isn't this an EULA violation? by IdleTime · · Score: 1

      Call support? Who?

      And do they have people on-call 24/7 that has intimate knowledge of the code and can create one-off patches? How much does this service cost per year for MySQL and who delivers and what are their credentials? If I am going to put the life of my busniess on a database, I need to know that I can access that data no matter what happens. It's life or death for a company.

      I'm sorry, but i would never bet my business on MySQL.

      --
      If you mod me down, I *will* introduce you to my sister!
    16. Re:Isn't this an EULA violation? by FuzzyBad-Mofo · · Score: 1

      Smoking crack? Out of all the times I've installed MySQL, I've never been presented with a EULA. Of course, I've only installed the GPL version -- maybe the commercial version has restrictions?

    17. Re:Isn't this an EULA violation? by arkanes · · Score: 4, Informative
      Gah. Did you even bother to fucking check before spouting this traditional "can't rely on OSS" crap? MySQL AB is a commercial company that owns the copyright to MySQL and employs every major MySQL developer. They make money off support contracts and non-GPL licensed versions of MySQL. I can't speak for how *good* thier support is, as I've never used it, but apparently neither can you.

      And I'm an avowed MySQL hater. I think it's a shitty hack of a database and there is no problem domain where there isn't at least one other product is a better solution. But this "no support" line is almost as wrong as it is stupid.

      By the way, the kind of support you're claiming you need (24/7 on call support with access to someone who can provide a patch for a new problem) will be enormously expensive, where it's even available - there's no support plan Microsoft provides that makes those sort of promises, for example. You might get a patch in a half hour if it's a known problem and they have one ready for it, but you'll probably spend more than that half hour just convincing the rep that you have that specific problem. IBM or some of the other more service oriented companies may provide that kind of support. It's going to be expensive though - expensive enough that if you're worried about how much it's going to cost, it's probaby more than your company is worth.

    18. Re:Isn't this an EULA violation? by Enigma2175 · · Score: 1

      designed for developers to kick the proverbal tires and then comparing them to the full version of MySQL.

      The DBs they showed from IBM and Oracle ran into the thousands of dollars for licensing. I don't know where you work, but where I work I am not allowed to spend thousands of dollars to "kick the tires".

      --

      Enigma

    19. Re:Isn't this an EULA violation? by Bobzibub · · Score: 1

      @ 2AM those Swedes will just be waking up while the Yanks will be sound asleep.

      Problem solved!

    20. Re:Isn't this an EULA violation? by Anonymous Coward · · Score: 0
      How do I get a one-off patch for a bug fix in MySQL at 2am Sunday morning when I need the fix in order to get back into production? And don't tell me to do it myself because that is not how businesses functions. It needs to be a MtSQL supported fix.

      If you think you're getting a one-off patch for a bug fix in the free-of-charge "express" version of any commercial database at 2am on a Sunday morning you are completely delusional. You'd be lucky to get a patch like that for one of their seriously expensive full versions--especially from Microsoft, who don't apparently fix obvious problems in a lot of their software ever. When I read posts like yours I don't know whether to laugh or cry; this type of thinking-- this "with free software I can't get the support I need"-- is so stupid I don't even know what to think. Commercial support for most software is largely garbage, as far as I can tell, unless you are paying top dollar for top tier support.

    21. Re:Isn't this an EULA violation? by Precipitous · · Score: 1

      I didn't really see benchmarks (performance comparisons) in this article. This article was a review and feature comparison.

      --
      My motto: "A cat is no trade for integrity."
    22. Re:Isn't this an EULA violation? by MemeRot · · Score: 2

      I couldn't believe how bad this article was either.

      Why would you compare sql server express (free) to oracle standard ($20,000/year) and DB2 Express ($8000/year)? What the heck kind of comparison is that? They could get evaluation copies of oracle and db2 but not of sql server enterprise edition? Puh-leez.

      And then they take pains to point out that MySql 5 which they didn't even test supports triggers, stored procs, and functions. What? If you didn't test it, don't write it up in your review called Road Test. Why not mention that the version of sql server any company would be using does support multi-process, clustering, large db sizes, etc.

      This article is the worst kind of anti-MS, OSS cheering crap. You'd really like to base your company on MySql instead of Oracle if you had a choice? Given that the tested version of MySql didn't support stored procs, triggers, or functions? Fuck that.

    23. Re:Isn't this an EULA violation? by AKAImBatman · · Score: 1

      If you're paying any more than $0.00 dollars to kick the tires, then you've got problems. I've developed for Oracle, Sybase, and DB2 all without paying a single red cent. What cool channel do I use for this? Simple! I go to their websites and DOWNLOAD them. Even Microsoft has a 90 day limited version of SQL Server.

    24. Re:Isn't this an EULA violation? by The_Spud · · Score: 1

      Your comment about MS Sql Server isn't quite accurate, they provide a fully functional demo of SQL server 2005
      http://www.microsoft.com/downloads/details.aspx?fa milyid=6931fa7f-c094-49a2-a050-2d07993566ec&displa ylang=en/ here

      From the website
      This fully functional trial software will automatically expire after six months. You can obtain the fully licensed version at any time.
      You can also get a version of SQL server called express which is feature limited but doesn't expire, for development work.

    25. Re:Isn't this an EULA violation? by einhverfr · · Score: 1

      MySQL AB is a commercial company that owns the copyright to MySQL and employs every major MySQL developer.

      True... If you don't include things like BDB, InnoDB, and the like. That MySQL AB actually owns is a small part of what makes MySQL almost good enough in many environments.

      BTW, I am not going to give you the "you can't count on FOSS" crap. I do think MySQL is crap but for other reasons including no ability to do ACID-compliant full-text-indexing and no ability to make it impossible for an application to override strict mode (5.x-- and prior versions didn't even have any reasonable data integrity enforcement). Personally I would not count on them because it is a commercial proprietary product that happens to be licensed under a FOSS license.

      --

      LedgerSMB: Open source Accounting/ERP
    26. Re:Isn't this an EULA violation? by Anonymous Coward · · Score: 0

      You already got a reply your deserve for this FUD.

      MySQL is a very distributed company. It means that there is developer and support staff that is awake at all times, not only because they are getting paid to be but because it's bright and sunny outside.

      Small example - Eventum, the software package they built and use for issue tracking has a hook into IRC for communications. To me that means instant communication to support, QA and even developers when necessary. Remember my words next time you play phone tag with 5 levels of support at your favorite vendor.

    27. Re:Isn't this an EULA violation? by topham · · Score: 1

      You're right, the article was awful.

      I don't know why Slashdot crowd is so enamored with MySQL. (I know, lost of people speak up against it too). I know MySQL is 'good enough' for the majority of hobby projects, but I find it particularly interesting how many issues get mentioned with how MySQL allows for invalid data and the fans say it's a good thing.

      It isn't.

      If you want an SQL engine that allows anything, look at SQLite. The author of SQLite isn't under the illusion it is a full blown RDBMS. And it looks to support all the standard feature, and it's more free than MySQL. (www.sqlite.org).

      Makes one wonder about the quality of the rest of the articles on that site.

    28. Re:Isn't this an EULA violation? by Krach42 · · Score: 1

      Right... very good point.

      I still don't think it's useless still though. Even a review of brochures can lead towards eliminating choices that are just straight up not worth even looking at.

      So beyond the most cursory of examinations, it's entirely useless.

      --

      I am unamerican, and proud of it!
    29. Re:Isn't this an EULA violation? by bluefoxlucid · · Score: 1

      IT: How do I get a one-off patch for a bug fix in MySQL at 2am Sunday morning when I need the fix in order to get back into production? And don't tell me to do it myself because that is not how businesses functions. It needs to be a MtSQL supported fix.

      EMH: Call support? :p It did mention support, available at a price below or equal to the support available from the others. It seems that what you are looking for is 2395.00/Server/Year (30 minutes emergency response).

      IT: Call support? Who?

      IT: And do they have people on-call 24/7 that has intimate knowledge of the code and can create one-off patches? How much does this service cost per year for MySQL and who delivers and what are their credentials? If I am going to put the life of my busniess on a database, I need to know that I can access that data no matter what happens. It's life or death for a company.

      It should be obvious by now that IdleTime is a retard, since it states right on the MySQL home page that enterprise emergency response support is available 24/7; and the above poster told him that MySQL offers 24/7 emergency response support for $3000. If you're given the answer and then ask the question, you're obviously too stupid to understand the answer.

    30. Re:Isn't this an EULA violation? by s1234d · · Score: 1

      No problem if you're a 17 year old hacker and too young to enter into a contract.

    31. Re:Isn't this an EULA violation? by mikefe · · Score: 1

      Isn't there an option to disable changing strict mode from the client?

      If there isn't, then I agree with you completely.

      --
      There: Something at a specific location.
      Their: Owned by someone.
      Please make sure your english compiles.
    32. Re:Isn't this an EULA violation? by einhverfr · · Score: 1

      Isn't there an option to disable changing strict mode from the client?

      That is the problem. Strict mode offers no protection for the data if the client can disable it.

      --

      LedgerSMB: Open source Accounting/ERP
    33. Re:Isn't this an EULA violation? by mikefe · · Score: 1

      That is the problem. Strict mode offers no protection for the data if the client can disable it.

      I guess that implies that there is not a mode that disables that ability in the client... Is that right?

      --
      There: Something at a specific location.
      Their: Owned by someone.
      Please make sure your english compiles.
    34. Re:Isn't this an EULA violation? by einhverfr · · Score: 1

      I guess that implies that there is not a mode that disables that ability in the client... Is that right?

      That is my understanding.

      --

      LedgerSMB: Open source Accounting/ERP
    35. Re:Isn't this an EULA violation? by wft_rtfa · · Score: 1

      I think so. That's why this article doesn't include any benchmarks, just product comparisons. Same reason, you won't find Java vs. .NET either. If you want a benchmark you will have to do one yourself.

      --
      :-] :0 :-> :-| :->
  2. And where is Postgres? by Anonymous Coward · · Score: 0

    Nowhere.

    1. Re:And where is Postgres? by saden1 · · Score: 2, Insightful

      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

      --

      -----
      One is born into aristocracy, but mediocrity can only be achieved through hard work.
    2. Re:And where is Postgres? by bani · · Score: 1

      So write your own review then. We're waiting.

    3. Re:And where is Postgres? by Anonymous Coward · · Score: 0

      Well, PostgreSQL probably deservers comparison with full featured databases, while MySQL deservers comparison with crippled versions

    4. Re:And where is Postgres? by saden1 · · Score: 1

      That's always the answer isn't it? See, me, I come from the be objective and do it right or don't do it at all camp.

      --

      -----
      One is born into aristocracy, but mediocrity can only be achieved through hard work.
    5. Re:And where is Postgres? by bani · · Score: 1

      Reviews are always subjective. Someone is always going to bitch about the results, especially on /.

  3. I like MySQL, but... by SanityInAnarchy · · Score: 4, Insightful

    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?

    --
    Don't thank God, thank a doctor!
    1. Re:I like MySQL, but... by east+coast · · Score: 3, Insightful

      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.

      --
      Dedicated Cthulhu Cultist since 4523 BC.
    2. Re:I like MySQL, but... by TubeSteak · · Score: 2, Interesting

      No it isn't fair, but that's what those companies get for releasing a free product that can't compare to other free offerings aka OSS.

      It's exactly like comparing crippleware with freeware.
      Whose problem is it if the freeware is the better product?

      --
      [Fuck Beta]
      o0t!
    3. Re:I like MySQL, but... by Daniel+Dvorkin · · Score: 2, Interesting

      Yes, I think it's a fair comparison, because the people making the decisions on which DBMS to use generally don't care about open-source vs. proprietary (or if they care, they care in the wrong way, but that's a whole 'nother discussion.) What they care about is how much the software costs; and MySQL (and Postgres, yes) costs exactly the same as the free proprietary crippleware: $0. So it's a perfectly fair comparison of "value for your non-dollar."

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    4. Re:I like MySQL, but... by Anonymous Coward · · Score: 2, Funny

      Remember MySQL is a crippled database, thus comparing it to crippled pay-for commercial offerings is completely fair. Both are meant to be tasters as to what can be offered by a proper, fully fledged database.

    5. Re:I like MySQL, but... by badriram · · Score: 1

      Not just that, with SQL Server they look at express editions, and compare that to full featured versions of other software. They do not look at performance or anything else. It looks more like someone wrote this not giving any care to the quality of the databases servers, relibility, scalability.
      Plus anyone that says that mysql is better than oracle, db2 and sql server is smoking something....

    6. Re:I like MySQL, but... by Anonymous Coward · · Score: 0

      I wish I could mod you +500, instead I'll just post this saying I wish I could mod you +500...

    7. Re:I like MySQL, but... by afidel · · Score: 1

      I don't know what world you live in but MSDE is the foundation to WAY more products than I care to think about. Of course most of those products are targeted at mid to small companies so the performance will never really matter, but it's interesting none the less to see how the free, open stuff compares to what you can get gratis from the commercial houses.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    8. Re:I like MySQL, but... by east+coast · · Score: 1

      I don't know what world you live in but MSDE is the foundation to WAY more products than I care to think about.

      Yeah, products. notice the word that you used there.

      --
      Dedicated Cthulhu Cultist since 4523 BC.
    9. Re:I like MySQL, but... by timeOday · · Score: 1
      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?
      You think it's more fair to compare $0 vs $$$$ than $0 vs $0?
    10. Re:I like MySQL, but... by Tassach · · Score: 1
      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?
      The "crippled" versions of which you speak are restricted only in the AMOUNT of data they can store and the amount of system resources (# of CPUs, RAM) they can utilize. They're not crippled in terms of features or reliability.

      For instance, the free "crippled" version of Sybase ASE is limited to 5GB of data, 2GB of RAM, and 1 CPU. These are pretty non-trivial limits given modern hardware and is more than adequate for many serious business applications.

      --
      Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
    11. Re:I like MySQL, but... by harlows_monkeys · · Score: 4, Interesting
      And what about postgres?

      PostgreSQL has its own problems. I have a simple table, with a couple bigint columns. Consider these two statements:

      1. select * from tbl where id = 123;

      2. select * from tbl where id = '123';

      The second is nearly three orders of magnitude faster.

      People have complained about this annoying gotcha for years.

    12. Re:I like MySQL, but... by trezor · · Score: 2, Interesting

      To be honest I think feature wise MS SQL Server beats the shit out of MySQL. And that the "old" 2000 version, not the new 2005 which had quite a few improvements.

      The only limitation in these "express editions" is how large the DB can be, how much ram it will utilize and how many CPUs it will run on. 4GB dbs, 2 GB ram and 1 CPU iirc. Feature and performance-wise on that same (limited) hardware it will perform as good as the commercial version.

      As for large databases I woulnd't trust MySQL at all. It's a good light database, but I don't know how well it would hold up under serious load. Yes it has improved, but it hasn't even caught up with the features SQL Server 2000 had when it was released. Indexed Views coming anytime soon? As for PostgreSql I wouldn't know. I haven't tried that.

      I agree with those other people in this thread who think this comparison is silly. If it should be meaningful in any way there should be more DBs and there should be actual benchmarks.

      --
      Not Buzzword 2.0 compliant. Please speak english.
    13. Re:I like MySQL, but... by kanazir · · Score: 5, Informative

      And that is fixed year ago...

    14. Re:I like MySQL, but... by Bert64 · · Score: 1

      Well that is the most fair comparison.. A free (but crippled) version of a commercial database compares financially with an opensource database.. Both are obtainable for free, both can have support purchased for extra cost. The fact that one vendor chooses to release a crippled product is their choice.. MySQL makes money by selling support and giving the product away free, that could work for other vendors too.. MySQL also don't need to worry about piracy.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    15. Re:I like MySQL, but... by mattcasters · · Score: 1, Interesting

      OK, OK, it's easy to find flaws in any database.

      On mysql do this for example:

      create table T (a int, b int)
      ;
      insert into T values(1, 2);
      ;
      update T set a=b, b=a
      ;

      What is the result? Well, on most REAL database the values whould be swapped: A=2, B=1.
      On MySQL unfortunately the result is: A=2, B=2.

      That bug has been present for a long time and is still there in 5.0.

      Peace,

      Matt

      --
      News about the Kettle Open Source project: on my blog
    16. Re:I like MySQL, but... by wjsteele · · Score: 2, Interesting

      Now, I don't know anything about MySQL, but it seems that this is just a simple matter of changing the Transaction Isolation level.

      Bill

      --
      It's my Sig and you can't have it. Mine! All Mine!
    17. Re:I like MySQL, but... by richlv · · Score: 2, Informative

      well, this is their own list, but hey, it has some names...
      http://www.mysql.com/why-mysql/case-studies/

      then there's this story ;)
      http://xooglers.blogspot.com/2005/12/lets-get-real -database.html

      hoping that "you get what you pay for" will get a swarm of professional bloodsuckers that will make sure to sell you the most expensive plan, even you could get the same quality for much less.

      and, adiitionally, i don't hear much "you can trust big systems to ms products" nowadays ;)
      usually stories are quite opposite...

      --
      Rich
    18. Re:I like MySQL, but... by trezor · · Score: 1

      As the DB complexity and size increases, my trust in MySQL diminishes. I honestly believe that MySQL is one of the lesser scalable DBs around. There's a reason even OSS people don't use it for everything. I mean...

      They just implemented Stored procedures and Views (or at least that's what I've heard). It may be fine for blogs and simple stuff that could might as well been stored in flat text files, but as a serious DB... There's a reason there are other actors around, both commercial and non-commercial.

      and, adiitionally, i don't hear much "you can trust big systems to ms products" nowadays ;)

      I hear the Microsoft site runs rather well and unhacked. And it has been up for quite a while. "Insecure" Microsoft servers are just as much the result of a incompetent admin as much as anything else. Just as using Linux won't secure you one bit if you don't know what you are doing.

      Just as Firefox won't stop stupid users from Downloading "free screensavers". The product can't secure the shortcomings of a incompetent user/admin.

      And as far as MSSQL goes. That's a damn solid database.

      --
      Not Buzzword 2.0 compliant. Please speak english.
    19. Re:I like MySQL, but... by Evro · · Score: 2, Informative

      If you run these queries right after each other then it would only be natural for the second to execute faster as the table has already been loaded into memory on the DB. I've interchanged '123' with 123 in queries that go against integer fields with no performance difference whatsoever. Maybe there's a penalty if you run that type of query against a text/char field, but text is always supposed to be single quoted.

      What version of postgres are you running? We run 8.0.3 in production and do 1000 transactions a second with ease.

      --
      rooooar
    20. Re:I like MySQL, but... by AKAImBatman · · Score: 2, Interesting

      Now, I don't know anything about MySQL, but it seems that this is just a simple matter of changing the Transaction Isolation level.

      *cough* What transaction isolation level? MySQL hasn't had transactions for YEARS. Once it finally got them, it turned out they were being faked anyway. A real database works correctly BECAUSE it has proper transaction isolation.

    21. Re:I like MySQL, but... by Anonymous Coward · · Score: 1, Funny

      Hey! I'm an armature enthusiast!

      Yup! My favorite is the armature from my grandpappy's 1932 Ford Pickup's starter! The one from Dad's Edsel almost took it, but I'll stick with the older choice.

      They don't make 'em like that anymore!

    22. Re:I like MySQL, but... by heinousjay · · Score: 1

      I think, realistically, the licensing costs are often the last factor in evaluating enterprise software. This is only based on experience, though. Maybe there is a company out there not will to spend 10,000 to control their critical data, and for them, MySQL is a godsend. Bless them.

      --
      Slashdot - where whining about luck is the new way to make the world you want.
    23. Re:I like MySQL, but... by ptlis · · Score: 2, Informative

      Well Sony, Lycos, Yahoo & /. don't seem to have any problems with with scalability, and the last two specifically are amongst the most visited sites on the net. I don't know about yourself but if I was in your shoes that would be more than enough information for me to at least look into mySQL as a way to save my employers money, that is of course unless I was a Microsoft apologist.

      --
      There's mischief and malarkies but no queers or yids or darkies within this bastard's carnival, this vicious cabaret.
    24. Re:I like MySQL, but... by fitten · · Score: 1

      Well... they are also comparing it to BETA software (in the case of SQL Server Express Edition (Beta2). So, it is even more flawed from the start.

    25. Re:I like MySQL, but... by wjsteele · · Score: 2, Interesting

      Wow... I guess that explains it's bad behavior. It'll never be a real database if it can't do a simple ACID transaction.

      Bill

      --
      It's my Sig and you can't have it. Mine! All Mine!
    26. Re:I like MySQL, but... by mnmn · · Score: 1

      mysql is a completely different class of database than ms sql or oracle.

      MS SQL is better compared with DB2 and Sybase. Mysql is better compared to smaller databases, maybe postgresql but I cant think of a commercial one. Mysql is for web pages (where milliseconds in serving time matter), while MS SQL and oracle are there for much larger purposes (ERP systems where queries can take many seconds, but far more users can be querying at a time). Its like comparing a 1.6L car with a 4.0L SUV and claiming the smaller car is faster therefore better, while ignoring all the strenths of the SUV.

      In other words, if I have to build a database for a small bank, mysql, minisql, sqlite or dbase5 wont be it.

      --
      "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    27. Re:I like MySQL, but... by mnmn · · Score: 1

      If mysql wanted to be a real database, they could've been one a long time ago. They're the envy of all other databases in the web market currently. I can see sqlite taking a small bite in time, but mysql is pretty much alone in its niche and doing a damn good job.

      I wouldnt prefer my database working much slower while I have the fuzzy feeling of it having so and so features I dont use. Maybe they'll release another 'class' of their database to compete with the bigger guys with bigger features. I'll read the benchmarks then.

      --
      "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    28. Re:I like MySQL, but... by schabi · · Score: 1

      The reason for this problem is that the query planner did not use an index on a bigint column when the 123 literal in the query was an int literal, so id did an sequential scan instead of an index scan. But this problem is well-known with well-known workarounds, and fixed since 8.0. Another workaround is using select * from tbl where id = 123::bigint For a full list of postgresql (and mysql) gotchas, see http://sql-info.de/

      --
      plim-plam-plompudding
    29. Re:I like MySQL, but... by harlows_monkeys · · Score: 1
      If you run these queries right after each other then it would only be natural for the second to execute faster as the table has already been loaded into memory on the DB. I've interchanged '123' with 123 in queries that go against integer fields with no performance difference whatsoever. Maybe there's a penalty if you run that type of query against a text/char field, but text is always supposed to be single quoted.

      Use a bigint field. The problem is that the query planner sees 123 as an int, and so when planning who to handle id=123, it sees it has an int (123) and a bigint index (the index on id), and those are different types, so it can't use the index. Result: it does a seq scan.

      When you say '123', then when it is parsing the query, before running the planner, it sees that it has to convert that from a string to a number, and it looks at the type of id, sees it is bigint, and so convert the '123' to a bigint 123. The query planner then sees it can use the index, and goes much faster.

      You can also get the fast query by writing it likt this:

      select * from tbl where id = 123::int8

    30. Re:I like MySQL, but... by Anonymous Coward · · Score: 0

      Its like comparing a 1.6L car with a 4.0L SUV and claiming the smaller car is faster therefore better, while ignoring all the strenths of the SUV.

      You mean like gas guzzling, poor rollover performance and protection, destroying the environment, and the prestige of riding around in your own personal penis extension? How does this apply to databases again?

    31. Re:I like MySQL, but... by mrball_cb · · Score: 1
      ...and mostly for students or armature enthusiasts.


      That part of a motor is a little too phallic IMHO to drive performance.
    32. Re:I like MySQL, but... by drinkypoo · · Score: 1

      Well, of course MS SQL is okay. Its roots are in Sybase 10. It came from quality software, and they've only had a few years to fuck it up like they did with wolfpack.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    33. Re:I like MySQL, but... by OneSeventeen · · Score: 1
      And what about postgres?

      While PostgreSQL has been doing stored procedures, triggers, and foreign keys for quite some time, they still haven't invested much in marketing, and therefore are disqualified from most comparison charts.

      I agree though, I'd rather compare full versions of each product (including postgres) and see the strengths and features of each.

      --
      "Now the trouble about trying to make yourself stupider than you really are is that you very often succeed." -C.S. Lewis
    34. Re:I like MySQL, but... by Anonymous Coward · · Score: 0

      These lesser "crippled" version are goodwill as I see it, and mostly for students or armature enthusiasts.

      I can't see a relation between a database and electric motor fanatics.

    35. Re:I like MySQL, but... by ahodgson · · Score: 1

      I can't seem to get an example past the lameness filter, but 8.0.3 definitely doesn't have this problem.

    36. Re:I like MySQL, but... by harlows_monkeys · · Score: 1

      Looks like they fixed it in 8.

    37. Re:I like MySQL, but... by mnmn · · Score: 1

      Penis extension?

      I dont know what this means for the many soccer moms who drive SUVs, nor for the larger families (more than 2 kids). People living away from metalled roads must really need this extension.

      --
      "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    38. Re:I like MySQL, but... by mikefe · · Score: 1

      *cough* What transaction isolation level? MySQL hasn't had transactions for YEARS. Once it finally got them, it turned out they were being faked anyway. A real database works correctly BECAUSE it has proper transaction isolation.

      Have a link? I've been watching from the sidelines for a while now, but haven't seen the details. Since I'm starting to do some LAMP programming recently, this info is much more interesting.

      Thanks.

      --
      There: Something at a specific location.
      Their: Owned by someone.
      Please make sure your english compiles.
    39. Re:I like MySQL, but... by AKAImBatman · · Score: 1

      Most of this stuff is common knowledge, but here are a few links I was able to dig up:

      Wikipedia Criticisms (with sources)

      Comprehensive list of MySQL "gotchas"

      Interesting Blog Entry

      Google should be able to provide more info on MySQL's problems. It's getting better, but I still trust my data to PostgreSQL.

    40. Re:I like MySQL, but... by Jamesday · · Score: 1
      Just the usual anti-MySQL FUD. If you're interested in transactions you'll probably be using the standard InnoDB storage engine and that not only supports the usual transaction isolation levels, it also supports the XA Distributed Transaction standard. You can find some worked examples of transaction isolation levels in the blog entries at:

      It's been this way (except XA, added in 5.0) for years now. I suggest trying it yourself.

      You might also find the blog aggregator at Planet MySQL interesting.

    41. Re:I like MySQL, but... by Anonymous Coward · · Score: 0

      I think you're forgetting penis envy. Or "I think I'm safer driving an extra ton of metal (and making everyone else around me less safe)" syndrome that requires everyone to get bigger, more wasteful vehicles. Whatever did families do before they had SUVs? Minivans? Station wagons? Sedans? Oh, the horror! Living in the burbs, all I see are "soccer moms" in their SUVs, talking on the cell (illegal here, anyways) shoveling food in their pieholes while arguing with their urchins and weaving in their lane*.

      Most SUVs don't see non-"metalled roads". They're status symbols for jackasses. All just waiting to age 15 years so that 17 year-olds can have them as their first "car".

      And again, I ask how the original analogy applies to a comparison of databases.

      * = this is a composite, though I get to see a few SUV drivers display 2-3 of these actions every day.

  4. Obligatory.... by mla_anderson · · Score: 5, Insightful

    And what about PostgreSQL? It should fare very well.

    --
    Sig is on vacation
    1. Re:Obligatory.... by slashdotnickname · · Score: 4, Informative

      And what about PostgreSQL? It should fare very well.

      Indeed. In fact, tests in the past showed postgres was a better choice over mysql. But don't take my word, compare it yourself with those in the article...

      http://www.postgresql.org/

    2. Re:Obligatory.... by Eric+Savage · · Score: 1, Flamebait

      Even more obligatory, isn't someone going to post the list of mysql's shortcomings circa version 3?

      --

      This is not the greatest sig in the world, this is just a tribute.
    3. Re:Obligatory.... by Anonymous Coward · · Score: 0

      > Even more obligatory, isn't someone going to post the list of mysql's shortcomings circa version 3?

      nope, the list is too long

      these days i think it's down to:
      1. oracle now owns the mysql transaction layer
      2. weak protections against data quality errors
      3. lack of high performance features

      As soon as it resolves these problems I will be happy to use their product. In the meanwhile, it's something I get involved with only while helping people migrate from it.

    4. Re:Obligatory.... by Anonymous Coward · · Score: 0

      Quit posting make-believe on slashdot and go back to cleaning the fryers.

    5. Re:Obligatory.... by Anonymous Coward · · Score: 0

      Even more obligatory, isn't someone going to post the list of mysql's shortcomings circa version 3?

      Perhaps they should just post the list of MySQL's shortcomings circa version 5, which is still quite extensive.

    6. Re:Obligatory.... by bill_mcgonigle · · Score: 1

      Your forgot the first rule of MySQL Evangelism - "Nobody talks about PostgreSQL".

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  5. Re:Correctness isn't negotiable by plastic.person · · Score: 0

    Can you elaborate on this please? I used MySql for a minor windows app. It uses a database with about 4 tables and is in 3rd normal form. I chose MySql as a free alternative to M$ Sql server for this simple database only.

    Are you saying it gives "estimates" for some queries?!

  6. Microsoft? by Atlantis-Rising · · Score: 3, Insightful

    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!

    --
    "It is possible to commit no errors and still lose. That is not a weakness. That is life." -Peak Performance
    1. Re:Microsoft? by MBCook · · Score: 1
      It's obvious that you only skimmed it, in the first page it answers both of these questions. They are using the Microsoft Express beta because that is MS's newest product. It is almost out and would not be fare to review a product that will disappear soon. They note ALL of this. Plus they are only showing features, not performance, so being a beta doesn't really hurt it.

      As for SQL Server Standard, they are showing "junior" databases, designed for small businesses. They have the little version of DB2, the little version of Oracle, etc. They are not comparing enterprise level DBs. I believe there was a sentence that said they were working on that.

      I agree with others that they should have included ProstreSQL, but they didn't. As it is, MySQL shows up VERY competitively. The only other DB that was free was the MS one which had MAJOR limitations (only one CPU will be used, must be on Windows, etc).

      Really, using the beta MS product was probably the most fair thing to do.

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    2. Re:Microsoft? by AaronBrethorst · · Score: 1

      SQL Server 2005 (and SQL Server Express, or SSE) launched almost two months ago now. You can go download the full RTM version of SSE from http://msdn.microsoft.com/vstudio/express/sql/ right this second if you want to.

      --
      No, but I used to work for Microsoft.
    3. Re:Microsoft? by bigman2003 · · Score: 1

      Anytime a Beta product is compared to a released product, it's a sham.

      Did you see the prices on the other commercial products? If our small company is choosing their database by price, then the SQL Server Standard Edition is priced fairly with the other commercial offerings.

      Standard Edition is not the Enterprise Edition..so it is one of their 'junior' products.

      Yes, MySQL would have them all beat on price. But putting a free beta product vs. other commerical products is a load of crap.

      --
      No reason to lie.
    4. Re:Microsoft? by robgamble · · Score: 1

      I wouldn't call SQL Server Standard a junior product... Take a look at the differences between editions here. SQL Server 2005 Standard has no cap on RAM like SQL 2000 Standard did, and you can cluster it. Now factor in what it costs, I think it's a pretty smart buy.

      --
      No sig for you!
    5. Re:Microsoft? by bigman2003 · · Score: 1

      Absolutely, I think it is a smart buy too. But, it is not their 'full' version.

      It is comparable to the other vendors light versions in the fact that it is a step down from their premier offerings.

      --
      No reason to lie.
  7. Maybe not in Australia by ls+-la · · Score: 5, Interesting

    I personally believe that sort of condition in a EULA is unenforcable (even assuming the EULA proper is enforcable - which I don't believe either), as it is anticompetitive. Either way, the test was done by an Australian company, and that could lend a legal hand by setting up international roadblocks to EULA enforcement.

    1. Re:Maybe not in Australia by Red+Alastor · · Score: 5, Informative

      IIRC, EULAs are considered void in Australia because it's a contract occuring after the monetary transaction. After you paid, there is no way additional conditions can be added.

      That's how it should be everywhere.

      --
      Slashdot anagrams to "Sad Sloth"
    2. Re:Maybe not in Australia by eneville · · Score: 1

      I'm sure we all know somwhere in the middle east who would happily host those benchmarks for a minor fee, the EULA's can't really touch them out there :)

  8. Two things... by komodotoes · · Score: 3, Insightful

    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

    1. Re:Two things... by imemyself · · Score: 4, Informative

      I'm not sure what Oracle version that's for. Oracle DB Stadnard is $15k per processor. Enterprise is $40,000 per CPU. There is also a Standard One edition that's "only" $5k per CPU. In addition to the in-beta Oracle XE(free). On the bright side, pretty much all of Oracle's stuff is free for development use.

      --
      Every time you post an article on Slashdot, I kill a server. Think of the servers!
    2. Re:Two things... by ScrewMaster · · Score: 2, Funny

      On the bright side, pretty much all of Oracle's stuff is free for development use.

      Developers, developers, Developers, DEVELOPERS.

      It's not just for Microsoft anymore.

      --
      The higher the technology, the sharper that two-edged sword.
    3. Re:Two things... by GoofyBoy · · Score: 2, Funny

      I guess you better sit down before you hear how much support costs. :)

      --
      The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
    4. Re:Two things... by kpharmer · · Score: 3, Insightful

      > 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.

    5. Re:Two things... by magarity · · Score: 1

      Oracle 10g costs $24 grand Per CPU!?!?!?!?
       
      Now you know how, with a company that sells basically one product and its support, Larry Ellison gets his fortune within spitting distance of B. Gates's; whose company sells a bewildering slew of products found preinstalled (and prepaid) on virtually all new PCs.

    6. Re:Two things... by Curmudgeon+Rick · · Score: 2, Insightful

      $25k was in Australian dollars. Pay attention, son, pay attention!

    7. Re:Two things... by imemyself · · Score: 1

      OK, that would make sense for a .au site and all.

      --
      Every time you post an article on Slashdot, I kill a server. Think of the servers!
    8. Re:Two things... by iainl · · Score: 1

      Others have dealt with your comment about the price of 10g, but yes, it really is expensive.

      On your first point, the performance tests were testing things that MySQL can do. So the fact that just about every other major database platform on the planet has features that MySQL lacks is irrelevant; they weren't being tested.

      Having noted that, is it really quite so surprising that MySQL does the basic stuff it's built for well, and the big bang enterprise level competition find their "bloat" (which really comprises genuinely useful stuff that just isn't being tested here) weighs them down?

      --
      "I Know You Are But What Am I?"
    9. Re:Two things... by Anonymous Coward · · Score: 0

      Wow, for $40,000 dollars a CPU I'd want an installer that didn't suck and something less crap than sqlplus.

    10. Re:Two things... by Anonymous Coward · · Score: 0

      Either one is fucking ridiculous. The only reason they've ever gotten away with bullshit pricing like that is because there wasn't any competition for a good, long time.

      Let's see them charge the price of a new car per CPU now that there's better stuff being given away for free...

    11. Re:Two things... by hey! · · Score: 1

      Wow, for $40,000 dollars a CPU I'd want an installer that didn't suck and something less crap than sqlplus.

      And that Suzuki Hayabusa GSX1300R? Sure it's a production motorcycle with an engine that puts out 185 HP with a top speed of 194 mph, but at nearly $20K, I expect training wheels.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    12. Re:Two things... by heinousjay · · Score: 1

      What performance test? There was no testing performed in that article.

      --
      Slashdot - where whining about luck is the new way to make the world you want.
    13. Re:Two things... by CastrTroy · · Score: 1

      At 60,000 per CPU, you could hire some more people to make things run a little smoother. Plus, you're only looking at the production stuff. If you want to do development, you also have to pay for the developer versions, so that people can actually develop. But then when you put it on the production server, it runs differently, so ideally, you'd want to develop on the exact same software that you run in production, which is much easier with MySQL or PostgreSQL.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    14. Re:Two things... by kpharmer · · Score: 1

      > At 60,000 per CPU, you could hire some more people to make things run a little smoother.

      you'd think so, but it seldom really ends up that way. Say you've got 10 production CPUs - so $600k. Now that's list, so you'll really probably just pay $400k. With $400k you can hire two contractors for one year (assuming $75 / hour plus office space, etc).

      Would two people for one year really make mysql run as well as oracle or db2? ah, no. They might make some minor improvements, or might be able to write a lot of code around the database to do what oracle/db2 do out of the box. But then how well will it really work? And what's your labor cost to maintain that code after that first year?

      There's some code in the database that really doesn't need to be there. And there's code that does - that you shouldn't try to reinvent. The ability to run queries in parallel, to spread data across a hundred separate servers - and allow them to cooperatively process the data, etc. You don't want to try to rewrite that. Eventually postgresql & mysql will support this natively. Then the economics will completely change.

      > Plus, you're only looking at the production stuff.
      > If you want to do development, you also have to pay for the developer versions, so that people can actually develop. But then when you
      > put it on the production server, it runs differently, so ideally, you'd want to develop on the exact same software that you run in production,
      > which is much easier with MySQL or PostgreSQL.

      Yep, mysql or postgresql are easier - just because you get to avoid the procurement process. But development environments are usually free these days. It's the large test infrastructure that isn't. But this isn't necessarily in favor of mysql or postgresql either: since they lack parallelism & partitioning, you can easily be forced to buy larger production environments in order to match what you could do with db2/oracle. Now you'll have to buy all that extra hardware a second time if you want identical environments.

    15. Re:Two things... by VGPowerlord · · Score: 1
      Yup, but the grandparent listed the correct per-processor price for Standard Edition One as $5k (actually $4,995) USD, Standard Edition as $15k USD, and Enterprise Edition as $40k USD.

      If you're not going to have a lot of named users, the named users licensing is definately a lot cheaper, at $149, $300, and $800 per-user respectively.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    16. Re:Two things... by iainl · · Score: 1

      No? That's quite awesomely shit of them.

      Serves me right for not reading their piss-poor article, however.

      --
      "I Know You Are But What Am I?"
    17. Re:Two things... by illumin8 · · Score: 1

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

      Ouch, but yeah, it's probably AUS dollars, so that might explain the discrepancy.

      --
      "When the president does it, that means it's not illegal." - Richard M. Nixon
    18. Re:Two things... by ScrewMaster · · Score: 1

      Yeah, no shit ... although what they'll just say is that, sure, you can get the free stuff ... but who's going to support it? That line of reasoning works well with PHBs.

      --
      The higher the technology, the sharper that two-edged sword.
  9. So, how much did MySQL AB pay for this? by JanusFury · · Score: 5, Interesting

    So, look at the pages dedicated to MS SQL Express and IBM DB2. DB2 costs thousands of dollars, MS SQL Express is free. DB2 has a slightly superior feature set and additionally runs on Linux... and they rate it drastically higher, even though it's ridiculously expensive in comparison. Don't even get me started on the fact that the MS SQL version they tested was a beta (almost every Beta MS releases is far slower than the release versions, and contains tons of additional debugging code - VC# Express Betas were drastically slower than the release version of VC# Express.) Of course, none of this is really a suprise, since the 'labs test' is pretty obviously nothing of the sort.

    And of course, absolutely no mention of stability, reliability, bugs, robustness, etc... what a suprise, considering that both MSSQL and MySQL are arguably far behind in those areas.

    Where are the test cases? Where is the testing methodology? How about some explanation of particular cases where one solution didn't compare with the others, or where one solution excelled? This 'labs test' reads more like a sales pitch than anything resembling an actual test.

    --
    using namespace slashdot;
    troll::post();
    1. Re:So, how much did MySQL AB pay for this? by KarmaMB84 · · Score: 1

      They probably should've went with SQL Server Standard instead of Express too.... They probably just went with Express so they could say they tested 2 free and 2 non-free and dismiss SQL Express outright...

    2. Re:So, how much did MySQL AB pay for this? by pembo13 · · Score: 1

      I think they only wanted to test speed.

      --
      "Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
    3. Re:So, how much did MySQL AB pay for this? by localman · · Score: 2, Interesting

      And of course, absolutely no mention of stability, reliability, bugs, robustness, etc... what a suprise, considering that both MSSQL and MySQL are arguably far behind in those areas.

      I don't usually get involved in these discussions, because it's just armchair politics. But look -- I'm an employee for a highly successful company built on top of MySQL, and it works great. Hundreds of tables, many with hundreds of millions of rows. Our primary DB averages over 1200 queries per second (yes, that's an average over several months). 15 percent of those are writes. Our system is stable. MySQL is a solid database, end of story.

      Cheers.

    4. Re:So, how much did MySQL AB pay for this? by Anonymous Coward · · Score: 0

      "Don't even get me started on the fact that the MS SQL version they tested was a beta (almost every Beta MS releases is far slower than the release versions, and contains tons of additional debugging code - VC# Express Betas were drastically slower than the release version of VC# Express.)"

      Yeah, and exactly how did this affect this test where they have compared feature-sheets and the color scheme of the administration tools? Very little? You got it pal ...

    5. Re:So, how much did MySQL AB pay for this? by LizardKing · · Score: 1

      Well, I'm an employee for a highly successful company, and we had no end of problems with MySQL. Deleting large numbers of rows from MyISAM tables with full text indexing would corrupt them. Running an ptimize on large tables (MyISAM and InnoDB) would corrupt them. Replication quietly fails rather than generating warnings if the syntax of the failover commands is not exactly right. The MySQL JDBC driver is terrible. The C++ code used in the admin tools is shockingly bad. Date and time columns cause all manner of problems. Need I go on?

      We switched to PostgreSQL. Performance is better, replication works reliably and the JDBC driver is great.

    6. Re:So, how much did MySQL AB pay for this? by Anonymous Coward · · Score: 0

      I read the whole article and saw zero performance graphs. It was all about features and cost. Unless I missed something. If it were about 'speed' then you'd think that they have at least ONE performance comparison graph.

    7. Re:So, how much did MySQL AB pay for this? by localman · · Score: 1

      That's too bad. However I sort of feel that if I was able to get it to work so well for the past five years then you must have been doing something wrong, no? Or maybe I'm just too easy to please. I'm glad Postgres is working out better for you, though. I haven't felt a need to try it, but if I became dissatisfied with MySQL, that's where I'd go next.

      I'l agree with you on replication, though. It's far too brittle. I've become good at managting it, but it took a while.

      Cheers.

    8. Re:So, how much did MySQL AB pay for this? by LizardKing · · Score: 1

      I guess we were using MySQL for the wrong reasons. It was already the company "standard" for projects that weren't able to budget for Informix licenses. That meant it was chosen irrespective of whether it was preferred technically. The system it sat at the heart of has a high volume of writes, including a large number of BLOB insertions. The BLOB's included images and chunks of text that had full text indexing. We looked at storing the images separately and holding references to them in the database, but in the end we expected MySQL to be able to handle them because of its documented table capacity. However, the fact that we had to configure several tables to have particularily large row sizes may have triggered the corruption problems.

      The JDBC driver problems were annoying but could be worked around. The interfaces for pooled connections are all implemented, but we ended up using Jakarta DBCP instead. Quite simply, the driver available earlier this year would not effectively pool connections. I notice that a new driver has been recently released which has a considerably larger filesize ... perhaps the increased size is down to new code that really implements pooling.

      In comparison, PostgreSQL was a little bit more fiddly to setup with full text indexing, but it's been rock solid ever since. MySQL certainly had excellent performance for reads, but we're seeing slightly better performance with PostgreSQL when a flurry of writes occur.

    9. Re:So, how much did MySQL AB pay for this? by localman · · Score: 1

      Thanks for the info -- that's a very different usage than what we were doing, and so it certainly might have been lousy in that case. I apprecaite learning what does and doesn't work for people.

      Our data is nearly all ints and varchars. We use InnoDB pretty much exclusively. (We do have one fulltext MyISAM table, but it's very low volume and not so big). And we use Perl's DBI, which is rock solid. The fact that we use perl may itself clue you in to how we run our shop ;)

      Anyways, I agree it's always about finding the best tool for the job, and there's never one answer for everything. I just try to correct the occasional perception that MySQL is good for nothing, which some folks seem to be convinced of.

      We do actually handle a large number of images here (over 1 million), but we went with the approach you mentioned where we just keep them in the Linux filesystem and store only a reference to the metadata (filename, size, dimensions) in the database. Perhaps if we had stored the images directly in the DB, I'd be cursing MySQL today :)

      Cheers.

  10. From TFA by TubeSteak · · Score: 1
    Printer Friendly Link

    Note: At the time of this review Microsoft was in the midst of updating its database portfolio, and only the Beta version was available, and just prior to printing Oracle released a new database that is free of charge.
    --
    [Fuck Beta]
    o0t!
  11. what about power? by dartarrow · · Score: 1

    from TFA: "bringing administration and configuration within the realms of the novice" and "Obviously ease of configuration and administration is paramount -- the in-house staff must be able to easily enter and update data, while the novice administrator must be able to make minor changes to the database on the fly."

    Is it Just me or are we awarding our winners based on how easy it is to use, as compared to how much more power it places in our hands?

    --
    I love humanity, it is people I hate
    1. Re:what about power? by TubeSteak · · Score: 1

      The amount of power a program puts into your hands is related to its usability.

      If the interface is too complex, or utter crap, then it doesn't matter how configurable or useful the program is.

      I mean, come on, /.ers constantly bitch about usability and interfaces. We all know that a bad UI can kill an otherwise decent program

      --
      [Fuck Beta]
      o0t!
    2. Re:what about power? by Anonymous Coward · · Score: 0

      You have just described why the open source movement has failed thus far.

    3. Re:what about power? by Anonymous Coward · · Score: 0

      Yeah, and you know all about the private contracts between $ vendors and distributors. I'll bet you also think Bill Gates is rich because he's a technological savant, and not because he had a singular brilliant business intuition twenty-odd years ago.

  12. Just Anti-microsoft by may05 · · Score: 0

    So Microsoft's SQL Server Express got the lowest 2.5 stars rating. Why I am not suruprised? I knew the guys in the lab have high anti-microsoft sentiments.

  13. Crappy business model... by xxxJonBoyxxx · · Score: 4, Insightful
    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.

    1. Re:Crappy business model... by burns210 · · Score: 4, Funny

      So they happen to sell adult movies on DVD. People spend big money on that.... so I hear.

    2. Re:Crappy business model... by KarmaMB84 · · Score: 1

      "less than 200" and most employees would probably be min wage and no benefits whatsoever.

    3. Re:Crappy business model... by timeOday · · Score: 1
      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.
      It does seem like a lot of wasted ink... why didn't they simply say "our scenario is based on pets.com"

      Oh wait, five customers for each employee? I read it backwards.

    4. Re:Crappy business model... by Anonymous Coward · · Score: 0

      Sure, provided the useless item costs actually cost $0 to buy for the company, or to produce. Fat chance.

    5. Re:Crappy business model... by LordLucless · · Score: 1

      That's "less than 200" employees. The number probably isn't there to give an accurate account over the number of employees in this hypothetical business, but rather to give an indication of which segment of the market the business falls in.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    6. Re:Crappy business model... by Lehk228 · · Score: 1

      3 is less than 200

      --
      Snowden and Manning are heroes.
    7. Re:Crappy business model... by nighty5 · · Score: 1

      Whats the deal with the benefits in America?

      Is it law that every employe must pay for medical?

      I know this is OT, but coming from Australia, the govt pays for basic medical including visits to GP (doctors) and so forth. We don't have to pay a cent for the visit.

      We have a much higher tax however, up to 49 cents in the dollar for high income earners, I understand that America is around the 30 cent mark.

    8. Re:Crappy business model... by dlippolt · · Score: 1

      It could still be right, if they have 1000 -reseller/partnership/b2b- customers.

      Not that I RTFA, of course.

    9. Re:Crappy business model... by Ark42 · · Score: 1

      I'm self employed, and as such, I can't afford insurance realistically, and thus I don't go to the doctor, ever, because I don't want to pony up $65/hr or more for the visit and then more for anything else I might need. I'm just hoping my wife gets a job now that she graduated college, and then her insurance can cover me.
      It's not law that employers pay for medical, but it's very common for salary and higher paying jobs, as a sort of incentive really. You still have to pay for the insurance, but it comes right out of your paycheck, and only costs about 1/10th of what the same coverage would cost you to buy on our own around here that way.

    10. Re:Crappy business model... by Richard_at_work · · Score: 1

      My employer has 130 employees and has around 300 customers. We are also highly profitable and pay good wages. A low ratio isnt always a bad thing.

    11. Re:Crappy business model... by cnflctd · · Score: 1

      Don't forget we in the U.S. pay for awesome military supremacy to protect you from the Japanese. Oh, yes. Don't kid yourself, they are studying your coastal defenses right now.

      --
      I'm cool like a fool in a swimming p-p-pfft-pool
    12. Re:Crappy business model... by Anonymous Coward · · Score: 0

      a former company I worked at had 6k employees and 300 customers. Of course, they were selling (renting) software and services for hundreds of thousands of dollars a year.

    13. Re:Crappy business model... by Anonymous Coward · · Score: 0

      I'm guessing that you aren't selling DVDs. So what's your point?

    14. Re:Crappy business model... by Tim+C · · Score: 1

      So is 199. If the guy meant 3, he should've said "less than 10".

      If you say "less than 200", it's reasonable to assume that it's of the order of 200, ie 3 figures.

    15. Re:Crappy business model... by magarity · · Score: 1

      We don't have to pay a cent for the visit...We have a much higher tax however
       
      So you DO pay for it. It doesn't make sense to say a government provided service is free and then say you're taxed to pay for it. The only people for whom it's free are unemployed or criminals doing illegal (and untaxed) economic activity.
       
      Almost all employers larger than a few dozen employees have some kind of medical insurance coverage for employees at highly discounted rates for the employees to purchase. Even people who are self employeed join cooperative groups to get decent rates for themselves. While much wailing and lamenting goes on in the press about medical insurance in the USA, it really is not a problem. There are government programs with staggeringly huge budgets that pay for the very few people who are not covered by an employer's program.

    16. Re:Crappy business model... by poot_rootbeer · · Score: 1

      Yes, that would be true if the scenario had specified exactly 200 employees, and that the company would never grow beyond having 1000 customers.

      Not saying I would invest in such a company myself, but its fiscal outlook isn't as dire as your napkin mathematics would indicate.

    17. Re:Crappy business model... by CastrTroy · · Score: 1

      Yes, it's especially funny when you read that they are selling DVDs and Books. If they were selling enterprise software to enterprise customers, they might not have such a problem paying wages. But selling DVDs and books to people who have other places to buy these items is a little much. It's hard to imagine people spending $8K a year on DVDs and books, let alone doing it all at one store/website. Really, why would you even need ~200 employees. If you have a proper online ordering system, you should be able to do all the work with less than 10 employees, which I'm are is less than 200, but not on the same scale at all.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    18. Re:Crappy business model... by Anonymous Coward · · Score: 0

      They could be a wholesaler... Most companies would love to have 1000 corporations as customers.

    19. Re:Crappy business model... by nighty5 · · Score: 1


      So you DO pay for it. It doesn't make sense to say a government provided service is free and then say you're taxed to pay for it.

      OK, Ok, if you want to split hairs then you have got a point.

      My point being that our medical expenses are in-directly funded, technically we do pay up to $400 / year for a Medicare off-set during tax time, but by and large I think its a fair system.

      We also have a fabulous subsidy system for the majority of prescriptions. For a prescription that might cost $200 per treatment, it will cost $25.

  14. Re:Correctness isn't negotiable by Anonymous Coward · · Score: 1, Informative

    I quoth from the MySQL reference manual:

    MySQL solves this by counting inserts and maintaining this in a separate segment in each BDB table. If you don't do a lot of DELETE or ROLLBACK:s this number should be accurate enough for the MySQL optimizer, but as MySQL only store the number on close, it may be wrong if MySQL dies unexpectedly. It should not be fatal even if this number is not 100 % correct.

  15. SQL Server Express Is Mostly for Developers by ThinkFr33ly · · Score: 5, Insightful

    SQL Server Express 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 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.

    1. Re:SQL Server Express Is Mostly for Developers by MBCook · · Score: 1

      All the DBs that were reviewed were the "junior" versions like the MS one. MySQL was the "token open source" entry. They HAD to compare MySQL because there is no MySQL junior like the rest of the products, and they do mention that it was designed to compete with Oracle or DB2 and not other little DBs.

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    2. Re:SQL Server Express Is Mostly for Developers by vadim_t · · Score: 1

      Yeah, that's great. And you "only" need to pay $3900, $6000 or $25000 *per CPU* to upgrade if your site ever outgrows it. If you're going to use it for a website, only per CPU licensing is acceptable. Great plan, really. By the time you find Express won't cut it anymore, it'd probably take quite a while to migrate from it.

      For most sites, your hardware probably costs less than the license. Hardly a good plan. I've used MS SQL Server, and it's good, but I have no idea why would anybody even WANT to run a blog from it. MySQL and postgres are perfectly suitable for that, and for the price of the software you could have a second server instead.

      Besides, commercial software is often cleverly limited: You find that the next version/edition has just the stuff missing from the one you're using, but doesn't have ALL of the features you'd like. That's in the Real Expensive Edition, even if it's not all that technically complicated.

      An example for Express: no backup, no replication. How are you going to backup your site's DB, take the server down, detach the database and make a copy?

    3. Re:SQL Server Express Is Mostly for Developers by ThinkFr33ly · · Score: 2, Informative

      Yeah, that's great. And you "only" need to pay $3900, $6000 or $25000 *per CPU* to upgrade if your site ever outgrows it.

      Which is why you use it for personal sites, not for "real" applications, just as I said. The people who would use SQL Express are the same people who used Access databases for their sites... but this is far better than Access in almost every way.

      By the time you find Express won't cut it anymore, it'd probably take quite a while to migrate from it.

      Well, perhaps from a financial point of view, but that was poor planning on your part. From a technical point of view, SQL Server Express is a subset of SQL Server, and any application that runs on Express will run on SQL Server after running it though the upgrade wizard, which takes all of 5 seconds and 2 clicks of the mouse button.

      An example for Express: no backup, no replication. How are you going to backup your site's DB, take the server down, detach the database and make a copy?

      No, you copy/paste the .MDF file to a safe place.

    4. Re:SQL Server Express Is Mostly for Developers by Anonymous Coward · · Score: 0

      Well, what about SQL Server 2005 Developer Edition, which comes with VS 2005 Pro? MSDE worked well for small shops and I'd assume SQL Express would do the same. At any rate, it's better than MS Access, which I've seen used in production environments.

    5. Re:SQL Server Express Is Mostly for Developers by robgamble · · Score: 1
      No, you copy/paste the .MDF file to a safe place.

      You can get a real backup in MSDE or SQL Express. This should work: put this in a text file, like backups.txt:

      BACKUP DATABASE SomeDB TO DISK = 'C:\Backups\SomeDB.bak'
      WITH INIT, NAME = 'SomeDB', NOSKIP, STATS = 10, NOFORMAT;

      Then call this from a scheduled task:

      osql -Slocalhost -E -i backups.txt

      Not much is off limits if you know the T-SQL to make it happen.
      --
      No sig for you!
    6. Re:SQL Server Express Is Mostly for Developers by AaronLawrence · · Score: 1

      When you want a real database but aren't using it heavily e.g. single or a few users, then Server Express is fine. We use it in a commercial product which is used in retail shops, with thousands of sites so far. A few users find they reach the limits (e.g. database size of 4GB) for whatever reason, and they can upgrade to SQL server, but most don't need to care.

      --
      For every expert, there is an equal and opposite expert. - Arthur C. Clarke
    7. Re:SQL Server Express Is Mostly for Developers by Anonymous Coward · · Score: 0

      IF it is for developers THEN
          it would be stupid to cripple it.

      As a developer I want to do performance tests. I then base my recommendations on the results of these tests. If they fail, I will not recommend. Bad strategy.

    8. Re:SQL Server Express Is Mostly for Developers by Skuld-Chan · · Score: 1

      Actually its more for distribution for desktop applications than development. There the same product aside from the workload governor (which is why it performs poorely) and the file group limitations (the biggest reason you wouldn't want to use it for an enterprise). Could you run a massive website/business using msde or express? I know plenty that do :).

      I used to work for an accounting software company that distributed MSDE along with their app to store data.

    9. Re:SQL Server Express Is Mostly for Developers by RupW · · Score: 1

      IF it is for developers THEN it would be stupid to cripple it.

      Express is not meant as a development platform if you're deploying to real SQL Server 2005: that's SQL Server 2005 Developer edition. And that's isn't cripplied, it's essentially the Enterprise edition. However, you can't use it in production or redistribute it.

      SQL Server Express is a redistributable database engine you can bundle with your products when you need an embedded database.

    10. Re:SQL Server Express Is Mostly for Developers by DrXym · · Score: 1
      SQL Server Express is not really meant for any serious production environments.

      Actually it is. It's meant for workstation and small work group database deployments in the sort of role that the MS Access / Jet engine used to fill. The problem with Access was that while it's a fine for simple things, it was not related to SQL Server. MSDE & and SQL Server Express are. This means that it's considerably easier to code apps that work in a local and a network mode since the databases you use (and the ODBC drivers etc.) are to all intents and purposes identical.

      That's the attractiveness of SQL Server Express / MSDE to developers and to Microsoft. For developers it means we can bundle MSDE / SSE with the app and use that but also that our code scales up for networks. For Microsoft it means a shoe-in sale for anyone who needs a larger DB.

      Aside from being free (beer), I don't really see anything compelling about SQL Server Express. It works okay but it the only upgrade path costs a lot of money and locks you into Microsoft Windows. To be honest I'd be just as happy to use PostgreSQL. I'd consider MySQL too of course but Postgres seems more suitable to the kind of operations I'd be using it for.

      In fact since version 8.0 it has become a very attractive solution - a modern, fast, unencumbered, uncrippled database costing nothing. If I were writing an scalable application from scratch I would seriously consider it simply because it could save customers a ton of money. I'd ship Postgres with the app but allow the customer to centralize a version if they like on whatever hardware and OS they like. But what Postgres really needs for this to be effective is a redistributable version of the database - a version without the tools, online help, headers or libs that can be bundled with an app and installed with a few command line params - just like MSDE. I reckon it would be a 7Mb distributable at most which would be another compelling reason to use it over SQL Server Express which is much larger.

    11. Re:SQL Server Express Is Mostly for Developers by aled · · Score: 1

      An example for Express: no backup, no replication. How are you going to backup your site's DB, take the server down, detach the database and make a copy?

      Wrong. SQL Express can do backups and replication. It is limitied to be a replication suscriber only.

      --

      "I think this line is mostly filler"
    12. Re:SQL Server Express Is Mostly for Developers by Zerbs · · Score: 1

      For SQL 2005 Express they removed the workload governor. That used to kick in for SQL 2000 MSDE version when 8 tasks or more where running at the same time. For 2005 Express, they limited the RAM to 1 Gig and to using 1 CPU instead, which can still work quite well in a production environment.

      --
      "22 astronauts were born in Ohio. What is it about your state that makes people want to flee the Earth?" Stephen Colbert
    13. Re:SQL Server Express Is Mostly for Developers by wft_rtfa · · Score: 1
      I think SQL Server Express or MSDB works great for software that is one or two steps above using Access as the database. There are tons of smaller projects that don't need to deal with lots of users or more than 4 GB of data.

      I personally have found MSDB to be very useful, and sometimes when the project gets too big it will get switched to SQL Server running on a real server. It's a great idea. That's why Oracle finally released XE, a free version of the Oracle DBMS.

      However, if a project is small enough that can run using a crippled Oracle DB, you're probably better off using SQL Server and saving yourself the pain of using Oracle.

      --
      :-] :0 :-> :-| :->
  16. Not surprising by aiken_d · · Score: 3, Informative

    Even the crippled versions of DB2, Oracle, and MSSQL still have the underpinings for advanced features that MySQL doesn't support. From real replication to actual performance monitoring (all three of the big guys provide detailed hooks into the guts of the DB) to support for multiple filegroups and indexes and databases spread across filegroups, the big DB's have features that are important but impact performance.

    Heck, you want to see MySQL get its ass kicked on performance? Run a test on a filesystem against MySQL.

    Comparing performance among databases is only meaningful if all of the candidates have the features you need. MySQL has come a long way, and I use it in production every day, but this is kind of a silly comparison. The free versions of the big DB's are meant to provide an easy migration path to more feature-complete versions; if you use SQL Server Express and want to upgrade to something that that supports clustering and log shipping, you may your money and get your features. With MySQL, if you outgrow it, you either need to start writing code, migrating to something else, or sitting on your hands waiting for it to get there.

    Recap, for those who won't RTFC and want to slag me: I like MySQL. I use it for mission critical purposes in production environments. However, comparing a simpler product's performance to (crippled versions of) more robust products is silly.

    Cheers
    -b

    --
    If I wanted a sig I would have filled in that stupid box.
    1. Re:Not surprising by RedNovember · · Score: 1
      Heck, you want to see MySQL get its ass kicked on performance? Run a test on a filesystem against MySQL.

      Hell, I'm not surprised. I beat myself in the 40 yard dash every day.

      --
      "MY APOCALYPTIC TENOR HAS NOT BEEN DISPELLED!" - T-Rex, qwantz.com
    2. Re:Not surprising by MBCook · · Score: 5, Informative

      I just finished reading it, and the didn't run any performance tests (which I would have liked to have seen). They were comparing options, features, prices, etc. The only mention of performance was things like "here are some neat tunable options that affect performance." and "but performance won't scale that well because you are limited to one CPU" (not direct quotes). This article is an overview, not a "lab test". I'm not sure where that came from. The original article says they were "tested" also. They installed all the products and poked around, but no performance numbers were presented at all.

      --
      Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    3. Re:Not surprising by dtfinch · · Score: 1

      I'm not sure about DB2, but Oracle and MSSQL forbid publishing benchmarks without written permission in their EULAs. I seriously doubt that'll stand up in court, but still I think many would-be benchmark publishers worry about it.

    4. Re:Not surprising by Yonder+Way · · Score: 1

      actual performance monitoring

      Obligatory RTFM.

    5. Re:Not surprising by ThePhilips · · Score: 1

      Grand parent was trying to tell different point.

      MySQL is fast but it has sacrificed many features for the performance.
      Big DBs they might be slower - but over all they do provide more features and (very importantly) robust performance.

      I have worked with MySQL, MS SQL & Sybase.

      Sybase of Linux left the best impression overall. I haven't digged much Sybase on Windows - so I cannot tell. It just worked. Server crashed (or was just accidently unplugged) - it was getting up with no fuss. Scripting in the beggining was very confusing but few day of learning payed back much.

      MS SQL Server pares on features but performance-wise needs a dedicated server - even if load is low server is barely usable for anything else. We tried to run IIS and MS SQL Server on single machine but later abandoned that idea. After Sybase complete control from command line, MS's love to silly configuration GUIs was bit irritating. (Especially when you still end-up firing regedit) Later on we discovered that MS SQL is very unhappy because of manual tuning applied - going back to defaults helped.

      MySQL on Linux was pure fun. You can insert 1-2k rows in table per second using normal INSERT. (MS SQL/Sybase could both insert few hundred rows per second - for large operations it is recommended to use backup/restore facility) But then after say 100k records fun was beginning - MySQL was driving complete Linux box into eternal swap nirvana trying to index inserted data (which of course didn't fit the RAM). Who is guilty? Linux which over last 4 stable incarnations only now ca barely effectively handle files bigger than RAM? Or MySQL which wasn't expecting that someone will try to create table for 100k rows? I do not know. Then you did something like that "SELECT * FROM a WHERE a.a=1 or a.a == 3" over that 100k table - and you are going to drink some coffee - MySQL would need 10-20 minutes to finish the query. Why? - "OR" operation is not optimized and not a priority for developers. MySQL development was always very focused: if you can achieve something easier by hack elsewhere - do hack elsewhere. That's the response I got from Monty on my OR'd select problems: don't do selects with OR, instead do OR manually in your application. We later had to port complete stack from MySQL/Perl over to MS SQL/ColdFusion. It wasn't nice - I still have recurring nightmares of ColdFusuion4 scripts - but it worked Okay.

      Well that was situation with MySQL back 5 years ago. For big systems we were using MS SQL/Windows & Sybase/Linux - for small stuff, especially for VERIO customers, MySQL was standard. You definitly do not need something big like Oracle for 3-5 tables barely exceeding 10k records - and that conf covers about 75% of private B2B portals.

      --
      All hope abandon ye who enter here.
    6. Re:Not surprising by VGPowerlord · · Score: 1
      Not only that, but the only conclusions at all are on a page labeled "Editor's Choice" (emphasis mine), which starts out with the following paragraph.
      Oracle 10G and DB2 are acknowledged as industry leaders in the database field and both are strong in terms of features and are surprisingly easy to use with clean GUIs.
      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  17. Re:Correctness isn't negotiable by irc.goatse.cx+troll · · Score: 3, Informative

    Not the original poster and I know nothing of what he was refering to, but if you're doing a minor app, I suggest SQLite -- a fully standalone SQL implentation. As in, you specify a database.db file and can do all the sql fun you want in it, but never have to deal with telling the user to set up mysql + authentication + etc, which is a big hassle when all you want sql for is your own data manipulation.

    Pretty fast(I never benched it, but its never been an issue), very portable, works in all major languages, overall a very nice tool to have.

    --
    Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
  18. Re:Correctness isn't negotiable by Anonymous Coward · · Score: 0

    Uh? What are you talking about? COUNT(*) has never given estimates in MySQL. That's why it's so friggen slow with InnoDB...

  19. Re:Correctness isn't negotiable by 1000101 · · Score: 0

    When I read your comment, I thought you were joking (I don't follow the MySQL scene at all). A quick google pulled up this link and sure enough, what you posted is true. The worst part about this is that the status is 'Not a bug'. Huh? Even if this is over a year old, and even if this isn't in the current release, and even if anything, how could anyone think this isn't a bug?

  20. It makes them look bad by olddotter · · Score: 2, Informative

    Thats how it is bad for them. The free versions of the software are basiclly demos. If the demo doesn't work well who is likely to pony up and buy the main product?

    BTW, from what I read of the article it doesn't look like they used the free version of Oracle. It listed a unlimited cpu lic. fee of $19K.

    I was impressed with some of the features of MySQL. Since I looked at it years ago it looks like it has come a long way. However I now work at a big company with a site lic. for Oracle, its unlikely I'll use it professionally.

    1. Re:It makes them look bad by Anonymous Coward · · Score: 0
      BTW, from what I read of the article it doesn't look like they used the free version of Oracle. It listed a unlimited cpu lic. fee of $19K.

      The license feed was for unlimited users, not cpu's.

      I recently made a configuration for a 2 node cluster + 1 devel box running Oracle Enterprise edition, and the license cost was more than 3 times the hardware cost.
      This was only for an active/passive cluster, and after getting big discounts from both Oracle and the hardware partner. If you want active/active, you need Oracle's RAC (Real Application cluster), which adds another 50% to the software cost (RAC 0.5 times the Oracle Enterprise license).

  21. Worst "Technical" Article Ever by Anonymous Coward · · Score: 0

    How can one even take this seriously with unsubstantiated statements like:

    Brilliant scaling capabilities "as is".

    Who says so? Based on what data? In this context, sure it "supports" tables up to 64TB, that doesn't mean it scales, just that it supports big tables.

    Er, I give the article an unsubstianted 0 out of 4 stars based on my own ad-hoc comparisons to other articles. See, I can do it too, whee!

  22. Re:Correctness isn't negotiable by Chmarr · · Score: 5, Informative

    Actually, it's quite true, and if you look at what's actually going on behind the scenes inside the database, it makes sense.

    If there's nothing going on in the database, then the 'summary' value that MySQL keeps is probably spot on accurate. But, if there's lots of simultaneous inserts and deletes, then it's really going to be very approximate. Until things are all flushed, the summary may include all the inserts and none of the deletes, or vice versa. If you wanted to make the summary information accurate, then you'd have to establish locks and the like around that summary value, and THAT will slow the database down. As it stands, inserts and deletes can be executed with ZERO regard to each other.

    Postgresql has a similar problem, except instead of offering a summary value and informed that it's an estimate, whenever you do a count(*) it actually scans the entire table file looking for 'valid' rows. Ie, count(*) is not instantaneous. I think they were going to address this issue in a later release (or perhaps it's in 8.1 already), but it's NOT a simple thing. However, if you wanted instant answers in Postgresql NOW, you can do it by setting up a trigger on insert and delete, and maintaining your own summaries. This is a performance hit, of course... but you'd get the same, or a similar hit, if the database was maintaining for you.

    What the 'big guys' do, I don't know. But... don't knock MySQL for doing something weird :)

    Postgresql, for comparison, will give you an 'accurate' value, but it actually has to create rows: it can't rely on summary information.

  23. Most important comparison... by aapold · · Score: 3, Insightful

    the money you can get paid as a DBA for each type of database...

    --
    "Waste not one watt!" - CZ
  24. Re:Correctness isn't negotiable by Guppy06 · · Score: 5, Informative

    Both you and the parent aren't reading what they wrote. SELECT COUNT (*) is accurate, it was SHOW TABLE STATUS that gives the estimate (as it should, IMO).

  25. Re:Correctness isn't negotiable by Anonymous Coward · · Score: 2, Informative

    Read the bug report again.

    It states that SHOW TABLE STATUS differs from SELECT COUNT(*) because SHOW TABLE STATUS guesses.

    SHOW TABLE STATUS is just a misc admin command.

  26. Laughable! by Anonymous Coward · · Score: 2, Interesting

    I don't know... Their "results" are laughable. MySQL above SQL Server Express (and BETA too)? Yes, the Express ed limits you to 1 CPU (they HAVE to limit it in some way so large companies buy their product), but otherwise.... It's FAR better than MySQL! And then they compare that with a 20k$+ RDBMS (Oracle; and also DB2 which also costs thousands)... If you include such an expensive DB, why not include SQL Server (the "real"/uncrippled thing) for comparison? MySQL may not be limited in terms of what HW it will run onto, but it's FAR lesser of a "enterprise grade" RDBMS than ALL the other solutions they evaluated (and that would include PostgreSQL too). At that rate I wouldn't be surprised to see them praise SQLite over Oracle or such. It sounds like this guy has NO clue about MySQL's real-life limitations - perhaps he's never used it...

    There are all kinds of different DBs to fill different needs. Use whatever works for your scenario... MySQL is about the last one I'd use in most cases. And again, not including PostgreSQL?

  27. Interesting Read, I say. by oztiks · · Score: 1

    For many businesses, a database is the vital organ that lives, breathes, and protects precious data -- the treasured jewel of their enterprise. Everything they know, and every way to know it, is dictated by these all-powerful tools.

    The author definatly sounds like a product of the 60's or the 70's.

    While there are other popular database products available, such as Sybase, we will save a full comparison for another time.

    Sybase?

  28. Define "rows in table" before bashing by Anonymous Coward · · Score: 0

    When rows are constantly being added and deleted, how do you define the row count at any one instant in time?

    At that one moment in time, you can't look at the entire table and count the rows - that takes a finite and measurable amount of time. And unless you lock the entire table while you're doing that count, rows that you say are in your count can be deleted, or rows added to places in the table you've already "looked at".

    So, Oracle et al have to do something similar - lock the table, count, and unlock. Or they're just giving an "estimate" also.

    1. Re:Define "rows in table" before bashing by dadragon · · Score: 1

      When rows are constantly being added and deleted, how do you define the row count at any one instant in time?

      Row count is the number of rows in the table at the time the transaction started.

      --
      God save our Queen, and Heaven bless The Maple Leaf Forever!
  29. Re:Correctness isn't negotiable by aiken_d · · Score: 4, Informative

    Parent is quite right. Count(*) is expensive, especially on big tables, so it's handy to have a quicker way that's not as accurate. MSSQL has it, too:
    select rows from sysindexes where [id]=object_id('tablename') and indid2 ...basically, you're querying the table that the query optimizer uses, asking for how many rows it thinks there are in the primary key.

    Nothing wrong with that not being accurate. It's much faster than counting every row, and if all you care about is whether there are less than 1,000,000 rows or something, it's fine. If you care about exact numbers, use count(*), which IS accurate on MySQL.

    -b

    --
    If I wanted a sig I would have filled in that stupid box.
  30. Re:Correctness isn't negotiable by jtcm · · Score: 4, Informative
    Sorry, but when MySQL developers tell me things like "count (*) is supposed to give you an estimate"

    To be fair to MySQL, that's only for tables of type InnoDB. MyISAM and other storage engines do return an accurate count. From here:

    InnoDB does not keep an internal count of rows in a table. (This would actually be somewhat complicated because of multi-versioning.) To process a SELECT COUNT(*) FROM t statement, InnoDB must scan an index of the table, which takes some time if the index is not entirely in the buffer pool. To get a fast count, you have to use a counter table you create yourself and let your application update it according to the inserts and deletes it does. If your table does not change often, using the MySQL query cache is a good solution. SHOW TABLE STATUS also can be used if an approximate row count is sufficient.

    It should be noted, though, that you have to use InnoDB tables for all those "modern" database features like transactional support* and foreign key constraints.

    It may be a bit of a bother, but it's not that hard to create the "counter table" for whatever it is you need to count. All the major DBs have something that's a pain in the ass...at least with MySQL you didn't have to pay for the pain.

    *BDB and NDB Cluster are apparently transaction safe as well, but I have no experience with them; and for whatever reason, they don't seem to be popularly used.

    --
    @ASP.NET's parent-teacher meeting: "Little Johnny.NET is very bright, but he doesn't play well with others."
  31. Re:Correctness isn't negotiable by Fulcrum+of+Evil · · Score: 1

    Until things are all flushed, the summary may include all the inserts and none of the deletes, or vice versa. If you wanted to make the summary information accurate, then you'd have to establish locks and the like around that summary value, and THAT will slow the database down. As it stands, inserts and deletes can be executed with ZERO regard to each other.

    And that's exactly what you'd do if you needed to depend on the result. All the subsequent inserts and deletes are irrelevant, as they lie outside the transaction context.

    Postgresql has a similar problem, except instead of offering a summary value and informed that it's an estimate, whenever you do a count(*) it actually scans the entire table file looking for 'valid' rows.>

    Doesn't Oracle do that as well? Until you do a count, it only has an estimate of the table's size.

    --
    "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
  32. Re:Correctness isn't negotiable by GoofyBoy · · Score: 1

    This sort of technical reason is why MySQL is still considered toy in my mind.

    Just because something is "hard" doesn't mean that its acceptable to not do.

    It would be more acceptable to leave out COUNT(*) functionality than to do it wrong. (Yes, if it gives an number other than the number of rows committed to a table it is wrong. "Weird" is what you call LISP.)

    --
    The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
  33. Ok, it's free, performs good, etc. by simetra · · Score: 1
    But still... I think MySQL will really take off more when the scheduling thing is put into place. MS SQL Server may be proprietary and etc., but when you're loaded down with a lot of tasks, it's a lot easier to build DTS tasks and schedule them as jobs than to jerry-rig a MySql solution with stored procedures and batch files. Just today I decided doing something with MySql just wasn't worth the bother - I do have full versions of MS SQL Server at my disposal. Though, it appears that Visual Studio 2005 doesn't like MS SQL Server pre-2000.... grrr...


    By The Way.... X11R7.0 was released today... go to www.X.org for details.


    --

    "Would it kill you to put down the toilet seat?" -- Maya Angelou
    1. Re:Ok, it's free, performs good, etc. by Siberwulf · · Score: 1

      Uh, its only free if your project is going under the GPL.
       
      For all those people who don't like showing the world an easy way to hack their program, they get to pay for the "commercial" version.

    2. Re:Ok, it's free, performs good, etc. by tepples · · Score: 1

      For all those people who don't like showing the world an easy way to hack their program, they get to pay for the "commercial" version.

      I don't see a connection here on either of the two paths that you might mean by "hack" (in the sense of intrusion):

      • If you're talking about intrusion through exploiting bugs such as buffer overflows, then proprietary software doesn't necessarily imply more potential for security. Case in point: OpenBSD is possibly more reliable than some commercial *n?x systems, but it's free software.
      • If you're talking about intrusion through a contractual requirement to reveal passwords, then passwords are data in a configuration file, which is not subject to the "viral" provisions of the GPL.

      Or what else did you mean?

    3. Re:Ok, it's free, performs good, etc. by hughk · · Score: 1

      You can always use Perl (Perl/MySQL is definitely covered by the GPL version). Possibly less transparent than compiled code.

      --
      See my journal, I write things there
    4. Re:Ok, it's free, performs good, etc. by trezor · · Score: 1

      He meant that not everyone is eager to show the world their sourcecode. In that case, if you use MySQL as a datastore in your application, you will need to buy a "commercial" licence, in order to avoid having to GPL your own software.

      But you knew that already and were just trying to seem clever. Right?

      --
      Not Buzzword 2.0 compliant. Please speak english.
    5. Re:Ok, it's free, performs good, etc. by simetra · · Score: 1

      Actually.... this is for in-house use, not to be sold, given away, shared, etc. Everything I/we build is exclusively for in-house use, as I don't work for a software development firm. In fact, I'd be willing to bet that the majority of geeks aren't employed by "solution providers" but by other types of companies to build/maintain in-house stuff.

      --

      "Would it kill you to put down the toilet seat?" -- Maya Angelou
  34. Except the license might make MySQL cost $$$..... by Noksagt · · Score: 2, Insightful

    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.

  35. Makes sense by Mr.+Freeman · · Score: 1

    Open source allows more people to work on the project. Which usually means that code is more streamlined and efficient. Streamlined, efficient code is usually faster than closed source alternatives which often tend to be much more poorly written.

    --
    -1 disagree is not a modifier for a reason. -1 troll, flaimbait, redundant, overrated are NOT acceptable substitutes.
    1. Re:Makes sense by Anonymous Coward · · Score: 0

      That must explain why OpenOffice and FireFox are memory and/or CPU hogs, correct?

    2. Re:Makes sense by RedElf · · Score: 1
      This is not always true, plus it allows for some people to get their hands into the project that have no business writing code in the first place.

      There is one other thing most open source projects lack, a solid direction of where it is going, and a timeline of goals to get there. Sure you can write the perfect application to do a specific task, but if you take too long getting there someone else is going to do it first, and charge money for theirs. If you want or need it now, you will end up paying for it one way or another.

      --
      You know, I have one simple request. And that is to have sharks with frickin' laser beams attached to their heads!
    3. Re:Makes sense by Anonymous Coward · · Score: 0

      That must be why Oracle 10G R2 tops the TPC, and MySQL doesn't even attempt to try to think about getting on that list. RTFA. It doesn't mention performance at all.

  36. Test like this are completely useless by Anonymous Coward · · Score: 0

    seriously...why bother to do any test ? for high end, Oracle, IBM, and Microsoft is pretty good at mid level while MySQL kill in low end. there are a lot of standard features in DB2, Oracle, and MS SQL that Mysql 5 still doesn't have. why compare crippled db against an opensource db that isn't crippled? Another OSS FUD!

  37. Re:Correctness isn't negotiable by SadButTrue · · Score: 3, Insightful

    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.

    --
    grape - the GNU free, open source rape
  38. OMG by mitcharoni · · Score: 5, Informative

    This is THE most retarded review of modern database systems that I've ever read. From the moment I read the overview of MSSQL Express, I knew what the writer's opinion was going to be, and that was completely tilted in MySQL's favor. The basic descriptions of product feature were in most cases wrong. One would get the impression from this article that a major RDBMS would always allow dirty reads. And while it's true that you CAN do that, it is not the default behavior for any of them. It has to be explicity done and you have to go out of your way in your SQL code to make that happen.

    It's things like that where you just ultimately conclude that the writer(s) of this article just does not know what the hell he's talking about and doesn't have a basic understanding of the concepts or products under review. It's just more OSS nonsensical propaganda in my opinion. And don't fool yourselves into thinking that an article like this is going to change any IT manager's mind about what DBMS he's going to deploy in his enterprise.

    1. Re:OMG by PenchantToLurk · · Score: 1

      Retarded indeed. On what planet was the MSDE based upon Access? BS. It was based upon SQL7, and had db size and connection limits.

      Further SQL 2005 Express is based upon SQL 2005, not even the MSDE. The whole point of Express/MSDE is to allow for sizing an application to run either on a desktop or a SQL cluster in a nearly transparent way.

      It wasn't made for development, as developer editions of the full Enterprise edition of SQL 7, 2000 and 2005 have always been available to MSDN subscribers and show attendees. Hell, I'm running a developer ed of 2005 Std on my home machine right now.

    2. Re:OMG by Anonymous Coward · · Score: 0

      aww. poor baby.

  39. I love MySQL but... by Yonder+Way · · Score: 4, Insightful

    ...leaving out PostgreSQL was a glaring omission.

  40. Sick and Tired by vectorian798 · · Score: 4, Insightful

    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

    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.

    1. Re:Sick and Tired by timeOday · · Score: 1

      Which free version of each product should they have compared?

    2. Re:Sick and Tired by LordLucless · · Score: 1

      MySQL is only better for SMALL websites where speed is more of a deciding factor.

      I wouldn't say small websites, but rather simple ones. MySQL scales reasonably well to very large large tables, the place it falls down is its featureset (and at least now it has foreign key support, which it didn't when I first encountered it!). A simple site that doesn't have a complex web of relationships that need to be protected by triggers and stored procedures will do well with MySQL up to the size where the database needs to be spread over multiple machines - and that's pretty damn big!

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    3. Re:Sick and Tired by Anonymous Coward · · Score: 0

      > I wouldn't say small websites, but rather simple ones. MySQL scales reasonably well to very large large
      > tables, the place it falls down is its featureset (and at least now it has foreign key support, which
      > it didn't when I first encountered it!). A simple site that doesn't have a complex web of relationships
      > that need to be protected by triggers and stored procedures will do well with MySQL up to the size where
      > the database needs to be spread over multiple machines - and that's pretty damn big!

      You're right about simple. But keep in mind that you loose the select speed advantages of myisam as soon as you step up to pk/fk constraints with innodb. And even that doesn't work well with multiple developers- since developers can override it! And if you go for speed with myisam rather than data quality with innodb you only get speed when your index works. Table scans are slow as molasses.

      So, small, simple databases with a tiny team? I don't know. I'd look for another solution if at all possible.

    4. Re:Sick and Tired by Jamesday · · Score: 1

      You think Google and Yahoo and Wikipedia are _small_ sites? :) There are things MySQL isn't so suitable for but when you can get to be in the top few sites in the world, that's plenty good enough for a fair chunk of the database using population.

      If anyone has a MySQL database bigger than 75TB I'm interested in hearing about it - you might be the biggest in the world. So far.

      I don't remember seeing a MySQL-included comparison for that 10TB dataset. Would be interesting to see how it does, particularly six months from now. Have you seen any at the larger dataset end which do include MySQL?

    5. Re:Sick and Tired by mw · · Score: 1

      Wiki is a bad example for several reasons:
      * Stability: we all know the wiki-crash a few months ago with corrupted inno-db tables. InnoDB released the info it was the fault of the hardware - but unproven. I've heard similar reports from others making me think that InnoDB is not quite stable.

      * Performance: the MySQL performance here is not so important, most of Wiki's speed comes from their extensive use of Memcached/tugela and their Squid proxies.

      And the most interesting part is, whenever MySQL is benched, they use MyISAM tables, and when someone says "what about transactions?" they refer to InnoDB tables, but without benchmarks, and that for a good reason

    6. Re:Sick and Tired by the+eric+conspiracy · · Score: 1

      Didn't Wikipedia crash this year due to MySQL data corruption?

      The fact is that in almost any company you will find people using MySQL here and there as a file manager. But for mission critical stuff? Nope.

    7. Re:Sick and Tired by Jamesday · · Score: 1

      I released the information that it was the hard drive controllers. Two different brands. InnoDB if it said anything was relaying what I said. Similar incident at LiveJournal, we used the same controllers as them, they did very extensive tests and demonstrated that the controllers weren't making sure that the data in the drive buffers was getting to the disk surface. Both subsequently released firmware updates.

      MySQL performance is vital. It's doing in the ballpark of a billion queries per day even while more than 80% of the pages are being served by non-database cache.

      Benchmarks use whatever seems best according to the requirements of that benchmark. Wikipedia uses InnoDB for everything significant and LiveJournal is one place which saw an increase in performance when switching from MyISAM to InnoDB. Depends on the workload.

      I expect everyone to use the mixture which makes sense for them. Including a different database server from MySQL if that's what they need for the features they really need.

    8. Re:Sick and Tired by Jamesday · · Score: 1

      Not quite. It went down due to two circuit breakers failing, then two different brands of battery backed up disk controller not having turned off the drive write buffer, thereby losing what they had the battery to protect: data which was already written. That corrupted 5 of the database servers. We recovered from another.

      Google probably considers AdWords to be mission-critical, since it is their revenue source. Ditto for Sabre/Travelocity, since the MySQL-driven travel systems are how they make their money.

      Saying that MySQL isn't used for mission-critical enterprise systems isn't reflecting reality as it is today, any more than the old claim that it didn't have transactions, when these days it ships as standard with three engines supporting transactions.

    9. Re:Sick and Tired by Anonymous Coward · · Score: 0

      > Google probably considers AdWords to be mission-critical, since it is their revenue source. Ditto for Sabre/Travelocity,
      > since the MySQL-driven travel systems are how they make their money.

      yeah, since they developed it for mysql 3.x and had to write all their own transaction handling code, they now have a mess on their hands that won't cleanly port to any other database out there. So, they're kind of screwed on that one. Hardly a place to *want* to be. But you can be certain that they sure as hell *want* to get off it - every time they consider a trivial upgrade to adwords and then reflect that a simple add column will require the table to be copied - with hours or days of downtime.

      > Saying that MySQL isn't used for mission-critical enterprise systems isn't reflecting reality as it is today

      Of course people are using mysql for mission-critical enterprise systems today. I can testify to this fact - since I get called in occasionally to clean up their messes. Data quality disasters due to crufty homegrown transaction code, lack of constraints, etc, etc. I suppose next year I'll get to find out what kinds of lovely problems now exist in v5.x. Last I heard each client can override transactions and maybe constraints in the database, so I guess we'll probably still have quite a collection of data quality problems. And that's not even including the silent data truncations, etc.

      > any more than the old claim that it didn't have transactions, when these days it ships as standard with three engines supporting transactions.

      Right, the main transaction engine is owned by Oracle, so that one has a limited future. The others are just also-rans.

    10. Re:Sick and Tired by the+eric+conspiracy · · Score: 1

      That corrupted 5 of the database servers.

      That is totally unacceptable performance from a mission critical database.

      And here is the description of how MySQL is used at Travelocity:

      For the shopping portion everything is done on a Linux farm (45 HP rx5670 4x1.5GHz 32 GB RAM). Pricing/booking is handled by a farm of HP NonStop servers, 17 nodes with 6 processors in each. Master database (not MySQL) is kept on NonStop and replicated to the Linux farms via GoldenGate Extractor/Replicator. The GoldenGate extractor replicates anywhere from 10 to 60 GB of data a day, typically gets data to all machines within 3-6 seconds. InnoDB is used, database on Linux are currently ~60GB in size.

      In other words, MySQL serves as a cache of a non-MySQL database. Sorry, but it sure seems to me that MySQL is NOT the mission critical database in use here. THe data the resides in MySQL is rebuilt on a very frequent basis from a master copy.

      Google probably considers AdWords to be mission-critical, since it is their revenue source.

      Right, and Iam sure they are not happy over the early decisions that were made in the implementation of this project. Here are some of the comments in the article describing this:

      We finally decided to go with a commercial database (I won't say which one) over the objections of a number of engineers, including myself. To ease the transition it was decided to convert AdWords over to the new system first, and to do the main ads system later. It was a project on a par with the internationalzation effort in terms of the tedious work required to comb over nearly all of the AdWords code and change all of the database queries. (Databases are supposed to all be compatible with one another, but in reality they pretty much aren't.)

      In other words the MySQL application code that runs this thing is a giant stinking pile of doggy do. MySQL is well known for not supporting standard SQL, so if you use it and decide later you want an alternative your are well and truly screwed. Nor is this code abstracted out to a database access layer using technology like Hibernate where all you need is to redefine the data source. No wonder this guy is no longer a Google employee.

      Now later in the article the author goes on to state that the alternative system actually was able to achive good performance. Now all of this was 4 years ago - Google has grown immensely now, is a publically traded company etc., and we do NOT know what they are using today, only what this blogger 'heard through the grapevine'. Google is very close-mouthed about what their internal technology implementations are, but one thing I'd bet is that as a publically traded company subject to Sarbanes Oxley, shareholder lawsuits, etc. they are NOT running jury rigged home brew transaction code to manage financial flows that are rapdily approaching a billion dollars a MONTH!!! It is absolutely farcical to believe this is what Google is doing. Criminy the executives at Google would be subject to jail time if this blew up.

    11. Re:Sick and Tired by Anonymous Coward · · Score: 0

      "That corrupted 5 of the database servers.

      That is totally unacceptable performance from a mission critical database."

      You don't have a clue as to what you're talking about here or how filesystems and controllers work, do you?

      "In other words, MySQL serves as a cache of a non-MySQL database. Sorry, but it sure seems to me that MySQL is NOT the mission critical database in use here."

      Does the main database process all of the queries? No? It's just a simple repository that gets copied out every now and then, and the MySQL databases do all of the work?

      By your logic, if I loaded my database from a text file of SQL commands, then my source file is the "mission critical database" and the actual db isn't doing anything other than simple caching. Riiiight.

    12. Re:Sick and Tired by the+eric+conspiracy · · Score: 1

      You don't have a clue as to what you're talking about here or how filesystems and controllers work, do you?

      So you are saying that it is perfectly acceptable for a power outage to cause a database failure? That is total nonsense, period. Other systems have concepts like redo logs, archive logs, etc. to handle this sort of problem. In the Wikipedia discussion of this incident they clearly admit that other databases would have survived this incident without damage.

      and the MySQL databases do all of the work?

      Wrong. Read the quote. All the bookings and pricing occur in the Non-MySQL database. THe MySQL stuff is just slave replicas that do nothing but handle client reads for shopping from data pushed daily from the Non-MySQL database.

    13. Re:Sick and Tired by Jamesday · · Score: 1

      The summary you quoted said that "Pricing/booking" is done by the MySQL servers. You don't think telling people the prices and letting the people book their trips is mission-critical? It seems unlikely that they would earn much money if they didn't let anyone make bookings and get those credit card numbers from them.

      What Sabre said about MySQL is "To provide the best possible service requires maintaining a massive database that can meet extreme performance demands, with very high reliability. The MySQL database has easily met these needs, and for a low total cost of ownership" and "We benchmarked our application on several databases, including open source, commercial and a specialized in-memory relational database, and MySQL was the best performing database". From http://www.mysql.com/news-and-events/press-release /release_2003_33.html

      When it comest to AdWords, an "unmitigated disaster" that even "heroic performance tuning" couldn't save, even after rewriting every query for it, followed by reverting to the better-performing MySQL solution, is not what I'd call a resounding success story for a migration to a purely commercial database. Zack has some useful quotes and other links at http://zurlocker.typepad.com/theopenforce/2005/12/ googles_use_of_.html (he's MySQL's VP of Marketing).

      Notice the consistency here: for both Sabre and Google, MySQL was the best performing solution, not the databases they compared it to.

      One manager tried going from MySQL to commercial and had a disaster, even after rewriting everything, while the other went from commercial to MySQL and saved their company millions of dollars in TCO while delivering a world-class solution. I know which manager I'd rather be! :)

      I've done the multiple database support routine myself. Best to know the databases you're going to support in advance. Standards might as well not exist when you go for maximum efficiency. Fortunately I generally didn't need maximum efficiency and the worst I generally had to deal with was Oracle limitations compared to Sybase and Microsoft SQL Server.

      Even with the success stories here, there really are some cases where MySQL doesn't provide the best business case - but it's getting harder and harder to find them. There always will be some, though.

  41. like having my grandma rate sports cars by kpharmer · · Score: 5, Insightful

    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

    1. Re:like having my grandma rate sports cars by tepples · · Score: 1

      mysql ... can cost more than the commercial alternatives for small distributed commercial apps

      Commercial does not necessarily imply proprietary. If it does, how does it?

    2. Re:like having my grandma rate sports cars by Saanvik · · Score: 2, Insightful

      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".

    3. Re:like having my grandma rate sports cars by gumbi+west · · Score: 1
      you may want to look at the mysql website again, the remaining differences between their ANSI compliant mode and the standard seem like slim pickings for a critic.

      Also, partitioning has been in there forever as has memory tuning.

      I frequently do approximately what you are talking about and MySQL returns almost instantly. The main problem I have is latency, which may be in my network but I think is more likely in the server.

    4. Re:like having my grandma rate sports cars by ad0gg · · Score: 2, Informative
      Also, partitioning has been in there forever as has memory tuning.

      The partitioning implementation in MySQL 5.1 is still very new (pre-alpha quality) and is not production-ready at this time. Much the same is true of this chapter: Some of the features described herein are not yet actually implemented (partitioning maintenance and repartitioning commands), and others might not yet function exactly as described (for example, the DATA DIRECTORY and INDEX DIRECTORY options for partitions are adversely affected by Bug #13520). We have attempted to note these discrepancies in this chapter. Before filing bug reports, we encourage you to check the following..

      From MySql 5.1 Manual

      --

      Have you ever been to a turkish prison?

    5. Re:like having my grandma rate sports cars by kpharmer · · Score: 2, Informative

      > you may want to look at the mysql website again, the remaining differences between their ANSI
      > compliant mode and the standard seem like slim pickings for a critic.

      Yeah, they're covering their butts in the documentation much better than the old days in which they blatantly stated that transactions and pk/fk constraints were bad. Now, it's much harder to find the things that they are embarressed about - like their old licensing faq, or compatibility issues. The url you provided only shows those compatibility problems that they have worked out. It does not list the existing ones for which there is no good solution. And I'm not in the mood to go through their documentation to find it all.

      > Also, partitioning has been in there forever

      Well, there's this: http://dev.mysql.com/doc/refman/5.0/en/partitionin g.html

      Which says only:
      "Chapter 15. MySQL Partitioning
      This is the beginning of the Partitioning chapter. "

      Maybe you're thinking of their separate clustering product? Which being limited to your available memory, isn't really the samething. Partitioning splits your data by either hash key or ranges into multiple physical tables. These tables are kept on either the same server (range partitioning via oracle, mdc via db2) or on multiple servers (hash partitioning via db2, think beowulf). In either case your application is unaware, the database handles the details. You just get speed. MySQL doesn't do this.

      > as has memory tuning.

      Not really. And keeping in mind that memory tuning is one of the most critical features of a database - one that allows you to eke out the maximum benefit from your expensive hardware...

      The mysql documentation barely mentions memory tuning at all. It does give you a large set of pools, heaps, etc to tweak (about 28):
      - http://dev.mysql.com/doc/refman/5.0/en/server-para meters.html

      But this looks more like a haphazzard collection that has grown over time, rather than anything methodical. I couldn't actually find any recommendations for how to tune these in the documentation. Maybe it was hidden somewhere, but searches on 'memory' didn't turn it up. Moreover:

      1. it fails to give you the flexibility you need: it appears to still be impossible to set up multiple buffer pools for read caching that are shared between sets of like tables. This is typically the *first* thing you should plan & tune. It allows you to ensure that some large tables get 99.9% of their hits from cache rather than memory - without having to move them into the memory storage engine in mysql - which you may not have sufficient memory to do.

      2. it inefficiently uses memory: buffers can't be dedicated to a functional purpose, they often have to be dedicated to a storage engine. This means that if you are using both innodb & myisam you will pay a penalty in your memory usage.

      MySQL does offer a lot of knobs to twist - really as many as db2 or oracle. It just doesn't seem to document what they do or how to analyze their result. And they aren't well thought out or complete, they're bizarre. Maybe duct-table and bailing wire to catch problems like:

      "Note that if you use any other option to ALTER TABLE than RENAME, MySQL always creates a
      temporary table, even if the data wouldn't strictly need to be copied (such as when you change the
      name of a column). For MyISAM tables, you can speed up the index re-creation operation (which is the
      slowest part of the alteration process) by setting the myisam_sort_buffer_size
      system variable to a high value."

      Here you can see that mysql has some mysterious problem doing ALTER TABLE - in which i

    6. Re:like having my grandma rate sports cars by Saanvik · · Score: 1

      I don't care how close it is to compliant, it's not. Rather than pointing that out as a negative, the review made it sound like a positive. That's showing the reviewer's bias.

  42. its not my sqls job to gaurentee data integrity by Anonymous Coward · · Score: 4, Insightful

    this is why mysql is a joke

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

    " 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.

    1. Re:its not my sqls job to gaurentee data integrity by beast6228 · · Score: 0, Troll

      "MySQL is a joke?"

      Then why does everyone use it?

      "This is still a hobbiest toy"

      Then why does most everyone use it then?
      Why do most webhosting companies use it?
      Why do most webhosting companies use linux?

      Do a search for webhosting, try to find the best and most reliable host on the internet. You will see that they offer Linux and MySQL as their flagship platform.

      I won't comment on data integrity, it's up to the database programmer to decide on which features of MySQL he will be using to incorporate into his application. As they say, there are workarounds for almost everthing. If MySQL was so bad or so lacking, then nobody would use it.

      Right?

      --
      ~Later~
    2. Re:its not my sqls job to gaurentee data integrity by Anonymous Coward · · Score: 0

      everyone DOESN'T use it. check your facts, the people that use it generally use it for web sites or smaller apps that DON'T require 24x7 uptime. The reason web hosting companies use it is for the most part they are mickey mouse operations that have little to no SLA's (mot even say in the contracts they provide best effort uptime only). when a company stands to lose millions of dollars an hour for DB downtime you will NOT find mysql as the chosen DB.

    3. Re:its not my sqls job to gaurentee data integrity by Pxtl · · Score: 4, Insightful

      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.

    4. Re:its not my sqls job to gaurentee data integrity by igrigorik · · Score: 1

      This is a very shortsighted argument for MySQL.

      Why does everyone use it? In many cases -it is- because of the 'default' install on your aforementioned web-hosts. I've built a number of applications (95% web related) and I've always exclusively used MySQL for them because I had access to it, and I did not need to go the extra mile to download/install and configure another DBMS. (And this assumes you have root privileges also).

      "Why do most web hosting companies use it?" - For above reasons. Most/every distro aimed at a stable server environment will come with an automated MySQL installer (for free), as an admin, what else would you want?

      "Why do most web hosting companies use Linux?" - I don't see how this in any way relates to the discussion of databases and MySQL in general.

      Matter of fact is, MySQL got a lot of bad rep simply because it lagged (still does, but hey, if you want a full fledged DB2 platform be ready to spend big bucks) in its feature set. Even simple concept such as transactions and inability to guarantee basic ACID properties of a database put it behind MySQL/DB2/Oracle. Now as mentioned in the parent post, 'the hobbiest toy' is partially true. All things considered, if MySQL couldn't guarantee safety of my transaction where my web-counter could miss a click is not such a big deal (or a blog-post). But once you start talking about debit/credit transactions now you're going to have doubts won't you?

      I've been a long time MySQL fan, but then I got a chance to play with DB2 and half a year later after I got back to MySQL I was genuinely surprised that some of my queries which executed perfectly fine on DB2 would not run on MySQL. Soon enough I found out that the features that I got so used to in DB2 were not yet supported by MySQL.

      MySQL is getting better with every release, but 'every host' uses it so it must be good argument is not true.

    5. Re:its not my sqls job to gaurentee data integrity by orson_of_fort_worth · · Score: 1

      If MySQL was so bad or so lacking, then nobody would use it.

      Then explain the popularity of Windows.

    6. Re:its not my sqls job to gaurentee data integrity by Anonymous Coward · · Score: 0

      to clarify the joke statement:

      the statements I referred to from the mysql documentation show ignorance of the relational model. A core part of the relational model is that a database is the logical and of a set of true propositions (predicates). The golden rule according to C.J. Date is that no update statement shall ever cause a database predicate to evauluate to false. The fact that mysql can data means that it violates this rule. In N-teir systems, the database is responsible for data integrity(Martin Fowler?). I got the impression from the documentation that the designers pushed the responsiblility for data integrity to a different layer. Since I thought this couldn't be serious, it must clearly be a joke. hahaha, maybe not?

    7. Re:its not my sqls job to gaurentee data integrity by beast6228 · · Score: 1

      Arguing which database or which operating system is best would be a waste of time. In fact, we could hold debates about these two things for years.

      People use what works for them, we live in a world of many choices, in this case Databases. There is a large selection of Free Databases available today. Like I said, people use what works for them. MySQL is like Apache, most everyone uses it, NOT everyone. You can't sit there and tell me this isn't true, because it is. No, MySQL may or may not be the best DB, same goes for Linux and Apache, but the numbers show proof. There was a post below this one about Microsoft Windows. I'll give you an explanation of Windows.

      Windows is easy to use, it's user friendly and supports what most people want. Thats why windows has such a great adoption by people all around the world. I prefer to use windows as my desktop platform. I use it to play games, read e-mail and surf the internet, even post on slashdot.org Is it the best Operating system in the world? Hmm to some it is, to some it's not, but I choose to use windows for my desktop, I like it. Now when it comes to servers, I use Linux exclusively, MySQl too! Is Linux the best server operating system? Once again, to some it is, to some it's not.

      We all have choices in this world, which way are you going? Do you prefer coke or pepsi? The proof is in the pudding.

      --
      ~Later~
    8. Re:its not my sqls job to gaurentee data integrity by igb · · Score: 4, Insightful
      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

    9. Re:its not my sqls job to gaurentee data integrity by Anonymous Coward · · Score: 0

      "MySQL is a joke?"

      Then why does everyone use it?


      Because there are more clueless idiots than competent dbas out there? Because there are more hobbyists homepages and blogs than large enterprises?

    10. Re:its not my sqls job to gaurentee data integrity by Anonymous Coward · · Score: 0

      Becuase Windows is not bad and lacking.

    11. Re:its not my sqls job to gaurentee data integrity by dspasovski · · Score: 1

      Here's a list of another MySQL gotchas: http://sql-info.de/mysql/gotchas.html

      From my experience as a developer using MySQL on several projects, MySQL has a looong way to go. It not only lacks a ton of features, but also lacks data integrity checks, stability, and data validation (amongst other things). E.g. I've once managed to insert (by mistake, of course) two rows in a table with same PKs. The result? MySQL didn't warned me about it, inserted the data instead. Every SELECT on that table killed the server in the background, causing automatic mysqld restart.

      Being open source/free software doesn't mean that we have to be less forgiving to the glitches mysql has. Look at postgresql - it's doing fine, supporting every DB feature I can imagine and is rock-solid stable. I haven't seen lame excuses like "stored procedures coming really REALLY soon" on their site recently.

      I wouldn't recommend mysql for anything other than address-book type of things... and all the mysql fanboys can go screw themselves - it's not a good database, period.

    12. Re:its not my sqls job to gaurentee data integrity by poot_rootbeer · · Score: 1

      The idea is that it's not the job of the SQL server to validate dates.

      I'll buy this to a certain extent -- while it's nice if the RDBMS has the capability to affirm whether a date 1000 years in the past would be valid under the Gregorian calendar system, I wouldn't consider this a critical feature for most database applications.

      However. If they are going to claim that they support standard ANSI datatypes such as DATE, they need to conform to the definitions of those datatypes as specified by ANSI. Coercing uninterpretable date strings to a "special value" of "0000-00-00" (which I suppose is almost, but not entirely, unlike NULL) is not allowed for.

      The nice thing is that MySQL has allowed admins to force the proper behavior. The not nice thing is that there's plenty of code already out there that relies on things working the old way.

    13. Re:its not my sqls job to gaurentee data integrity by Fujisawa+Sensei · · Score: 1
      Then why does most everyone use it then?

      Because most people are not DBAs. Why does everyone use Windows? Why are there so many people building VB applications out there?

      Why do most webhosting companies use it?

      Because most people running webhosting companies are sysadmins, not DBAs

      Why do most webhosting companies use linux?

      Because most people running webhosting companies are sysadmins.

      Don't get me wrong, MySQL is great, but only under certain circumstances.

      • You are not DBA.
      • You only know basic SQL.
      • You don't need to do things like adjust transaction isolation levels.
      • You only think you know what you're doing, because you haven't bothered to study databases beyond relational data models and SQL.

      MySQL is the Visaul Basic of the Database world, making in very comprable to MS Access.

      --
      If someone is passing you on the right, you are an asshole for driving in the wrong lane.
    14. Re:its not my sqls job to gaurentee data integrity by Anonymous Coward · · Score: 0

      E.g. I've once managed to insert (by mistake, of course) two rows in a table with same PKs. The result? MySQL didn't warned me about it, inserted the data instead. Every SELECT on that table killed the server in the background, causing automatic mysqld restart.

      How long ago was this? I've never had that happen. In fact I reprocess data all the time where I try to insert data with an existing key and it fails correctly.

      Are you sure you designated a primary key? Tables don't require them. You can make one with no keys or indexes.

      The only other thing would be if your DB was corrupted (e.g. died in the middle of modifying, using non-transactional back-end), in which case you needed to run a "repair table" anyway.

      The majority of anti-MySQL posts are from people who last used it years ago. Even a year is a long time in the open source world.

  43. Maybe they're Chinese sex slaves. by crovira · · Score: 1

    That really cuts down on salary expenses and on their clothing allowance.

    --
    MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
  44. Crippled Versions by Anonymous Coward · · Score: 5, Informative

    Actually, even the crippled versions of DB2, Oracle, and MSSQL still have the underpinings for advanced features that MySQL doesn't support. From real replication to actual performance monitoring (all three of the big guys provide detailed hooks into the guts of the DB) to support for multiple filegroups and indexes and databases spread across filegroups, the big DB's have features that are important but impact performance.

    SHOOT!! you want to see MySQL get its bum kicked on performance? Run a test on a filesystem against MySQL.

    Comparing performance among databases is only meaningful if all of the candidates have the features of which you need. MySQL has come a long way, and I use it in production every day, but this is kind of a silly comparison. The free versions of the big DB's are meant to provide an easy migration path to more feature-complete versions; if you use Sequel Server Express and want to upgrade to something that that supports clustering and log shipping, you may your money and get your features. With MySQL, if you outgrow it, you either need to start writing code, migrating to something else, or sitting on your hands waiting for it to get there.

    Recap, for those who won't RTFC and want to slag me: I like MySQL. I use it for mission critical purposes in production environments. However, comparing a simpler product's performance to (crippled versions of) more robust products is silly.

    Cheers
    -AC

    1. Re:Crippled Versions by Anonymous Coward · · Score: 0

      Did you see performance gains with MySQL, over, say Postgre? I have been quite surprised.

    2. Re:Crippled Versions by Anonymous Coward · · Score: 0

      God how I hate the term mission critical.

      This isn't directed at you. It is directed at fucking stupid market-speak that been injected into everything.

      I personally don't know what you mean by mission critical. It could well fit the term. But, I always see it throw about to mean something when 99% of the time it means a e-commerce site, or banking, or some other stupid thing that people might care about, but it isn't going to kill anyone.

      If it is nothing more than selling something on the web, fucking say so.

      BTW, mission critical to me starts with the possiblity of the loss of life, and ends with the Earth going poof. If it doesn't fall in that range, BFD.

    3. Re:Crippled Versions by Ph33r+th3+g(O)at · · Score: 1

      I work in academe, and the pretention doesn't end there. What used to be committees are now "task forces." An adminstrator doesn't have a secretary any more; he has a "Chief of Staff." New rule: unless you can command troops to land on foreign soil with weapons, you don't get to have a "Chief of Staff."

      --
      I too have felt the cold finger of injustice.
    4. Re:Crippled Versions by Lehk228 · · Score: 1

      mission critical isn't that bad. it means something that you are double plus fucked if it goes down. usually one of two things

      1) the core operation of your business

      2) something the core operation of your business depends on.

      --
      Snowden and Manning are heroes.
    5. Re:Crippled Versions by Forge · · Score: 3, Insightful

      "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.

      --
      --= Isn't it surprising how badly I spell ?
    6. Re:Crippled Versions by dtfinch · · Score: 1

      It's a pretty safe assumption that the crippled databases ought to perform as well as the full versions when operating within the limits specified by the vendor. If some database vendor wants to go out of their way to trick me into thinking that their own database software is slower than the competition, I'm perfectly willing to let them do so.

      I make a similar assumption about products with EULAs that prohibit publishing benchmarks. I understand the desire to keep people from manufacturing benchmarks that misrepresent the performance of their products, but if the only benchmarks I see are the ones they want me to see, my safe assumption is that they lack faith that their performance claims will survive public scrutiny, until I'm proven wrong.

      If either assumption is ever wrong, it's the vendor's fault and their loss. I'd stand to lose a lot more by believing marketing hype without sufficient verifyable evidence to back it up. Without fail, the slowest database servers I've ever seen (all commercial, none mentioned in this article) have all claimed to be very fast and scalable.

    7. Re:Crippled Versions by Anonymous Coward · · Score: 0

      If it adds 2 and 2 and gives you 3, when it should of been 4, only on wednesdays that happen to be numbered 5.

      In a core operation of your business: bad, but oh well so you loss a dollar on a very
      rare occurance.

      In a cruise missle. Not so good... You just might blow up your own people.

    8. Re:Crippled Versions by martinX · · Score: 1

      I run a few databases on the web - things like a small database of academic publications - and I would consider them not to be mission critical because their small additions to the overall website. They're not what it's all about. If they fell over, they can wait until I get in to work to be fixed.

      If I was running Medline, then a publication database would be mission critical.

      It's a relative term of importance, not an absolute one and its importance is assigned by the monkeys the bills.

      It's a wanky term, but probably better than "Real Important Stuff" (or RIS to those of us in the know). Still it's a good addition to the Bullshit Bingo game. Thank god we seem to have lost Mission Statements, though.

      --
      When they came for the communists, I said "He's next door. Take him away. Goddam commies."
    9. Re:Crippled Versions by Deorus · · Score: 1
      > SHOOT!! you want to see MySQL get its bum kicked on performance? Run a
      test on a filesystem against MySQL.


      Repeat with me: I don't need a filesystem for my InnoDB tables! Guess that pretty much kills your argument. ;-)

      Fully integrated with MySQL Server, the InnoDB storage engine
      maintains its own buffer pool for caching data and indexes in main memory.
      InnoDB stores its tables and indexes in a tablespace, which may consist of
      several files (or raw disk partitions). This is different from, for
      example, MyISAM tables where each table is stored using separate files. InnoDB
      tables can be of any size even on operating systems where file size is limited
      to 2GB
      .
    10. Re:Crippled Versions by TheCarp · · Score: 1

      Yah everybody knows that the PC term is Administrative Assistant. Sheesh, I was working in academia and they got it right where I was.

      Chief of staff, thats rich. But I suppose it could be worst... imagine being condoleza rice... she has one of the top positions in our government and is STILL a secretary!

      -Steve

      --
      "I opened my eyes, and everything went dark again"
    11. Re:Crippled Versions by utlemming · · Score: 1

      Not to mention by offering a "cripple-ware" who are learning about databases a chance to learn them with out having to fork out some serious cash. Although, you can download Oracle 10g Enterprise Edition for free for development purpouses for free as long as you don't deploy it for production. But with the crippleware, like Express or "Lite" versions, then education circles can effectively teach database design to students without having to use the full-blown thing, which can be like installing a BSD system when you don't have a clue what you're doing. My first exposure to databases was using Oracle, and it was like learning how to use a gun by being introduced to a M1-A1, when I would really like have been introduced to a rifle first -- getting the idea of how to shoot a gun and the basics of shooting would have been a lot easier than learning about how to manuerviuer and performance tune a massive beast. Now, one I am taking a class next semester that is based off of Oracle 10g Express Edition, and now I want to use the tank. Needless to say, I will be having fun with my laptop that has been upgraded to handle Oracle 10g release 2 (2gig of RAM, 7200 rpm 100 gb hard drive, SuSE Enterprise Linux; I only wish I had a laptop that could handle four gig of it)

      --
      The views expressed are mine own and do not express the views of my employer.
    12. Re:Crippled Versions by poot_rootbeer · · Score: 1

      SHOOT!! you want to see MySQL get its bum kicked on performance? Run a test on a filesystem against MySQL.

      Well, at least MySQL is more robust than MySQL...

    13. Re:Crippled Versions by Ph33r+th3+g(O)at · · Score: 1

      This may be apocryphal, but there was a story about how Madeline Albright, upon becoming Secretary of State, had to hear her mother make a comment along the lines of "All that education, and still only a secretary."

      --
      I too have felt the cold finger of injustice.
    14. Re:Crippled Versions by ckaminski · · Score: 1

      Jeebus, dude, and M1A1 will fire itself for you...

  45. Re:Correctness isn't negotiable by GoofyBoy · · Score: 4, Insightful

    >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!"

    --
    The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
  46. A whole new way of reviewing software!!! by swordgeek · · Score: 1

    Product comparison by reading the feature list on the back of the box. Now THAT'S a great idea! Saves the work of actually testing the products.

    --

    "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
  47. Re:Correctness isn't negotiable by dbucowboy · · Score: 0, Troll

    What crackhead MySQL developers have you been talking to?

    --
    This just in! 3 out of 4 people make up 75% of the population.
  48. Re:Correctness isn't negotiable by Anonymous Coward · · Score: 1, Insightful

    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.

  49. Cray by jbolden · · Score: 4, Funny

    Seymour Cray built a very succesful computer company on the idea of getting a wrong answer quickly.

    1. Re:Cray by Anonymous Coward · · Score: 0

      And where is that company today?

  50. Nice writeup, but horrible ratings.. by cybrthng · · Score: 1

    How they only give Oracle say 2 1/2 rating for interoppability and tool set is beyond me. Oracle 10g even the light version with Toad, Oracle Developer 10g, any Application sever (or php if you wish) is a smoking combination of not just performance but high availability, recoverability and reliability.

    MySQL can actually cost more then all of the others since they charge per instance for support. Oracle is support for your environment but license for production. (so you get service levels for test/dev/uat/prod so on and so forth)

    Mysql is fine for what it is, but even 10glite cutback from its big brother has so many other features its like comparing gwbasic against c++.

  51. Its good enough for Google! by dbucowboy · · Score: 3, Interesting

    On http://xooglers.blogspot.com/ (ex google employees blog), it is mentioned that Google had started their adsense and adwords programs in MySQL. They moved to a "real" database and had so many problems that they decided to migrate back to MySQL, which they are still using to run Adsense and Adwords today. http://xooglers.blogspot.com/2005/12/lets-get-real -database.html

    --
    This just in! 3 out of 4 people make up 75% of the population.
    1. Re:Its good enough for Google! by Anonymous Coward · · Score: 0

      > They moved to a "real" database and had so many problems that they decided to migrate back to MySQL

      Right, a perfect reason to avoid even *starting* a project on mysql: due to limitations of mysql (many but not all gone with most current version), you will end up writing code that won't port to any other database product well.

      They would have been better off starting with:
          - sybase
          - informix
          - sql server
          - db2
          - oracle
      *Any* of the above would have been easier to port to/from. So, google will someday (if they haven't already) have to completely rewrite this application in order to get it to another database. Of course, when they do they may discover Adwords working better than ever since they've eliminated millions of undiscovered data quality errors!

    2. Re:Its good enough for Google! by the+eric+conspiracy · · Score: 2, Interesting

      Yeah, and if you read the article the author also states that they really didn't feel they needed tranactions, and later implemented a transaction manager themselves (I am sure THAT is really robust LOL). To me this sort of story utterly destroys any credibility. These guys are rank amatuers with no trace of a clue abut what they are doing.

      Trying to port a ridiculous application like this to 'real' database (I'm assuming Oracle) is going to be painful at the best - MySQL is not standards compliant in any way, it doesn't have a real data dictionary (ever try to figure out how to query for FKEY constraints in MySQL? Serious pain there).

    3. Re:Its good enough for Google! by dbucowboy · · Score: 1

      I actually query for FKEY constraints for a living. I'm a MSCFCE (MySQL Certified FKEY Constraint Expert)... :) In my opinion, Google seems to be doing quite well for themselves with MySQL... Granted, I doubt they're using MySQL for internet indexing and for their search results, but I don't know that for sure. Any guess as to what they're using to do that?

      --
      This just in! 3 out of 4 people make up 75% of the population.
    4. Re:Its good enough for Google! by Anonymous Coward · · Score: 0

      Yeah, and if you read the article the author also states that they really didn't feel they needed tranactions, and later implemented a transaction manager themselves (I am sure THAT is really robust LOL).

      No, they didn't say they didn't need them. They did need them and implemented it themselves. I'm not sure what you mean by "robust" -- it worked for their situation. It had to be robust enough for that or it wouldn't be a transaction.

      To me this sort of story utterly destroys any credibility. These guys are rank amatuers with no trace of a clue abut what they are doing.

      Rank amateurs couldn't implement their own transactions. Perhaps you aren't aware, but AdWords is what Google makes money from, to the tune of billions of dollars a year (in actual revenue, not just stock evaluation). You were saying--?

    5. Re:Its good enough for Google! by the+eric+conspiracy · · Score: 1

      Rank amateurs couldn't implement their own transactions.

      A blog author puts up an article about writing a prototype 5 years ago in MySQL and you think that Google is still using the same implementation to handle 1 billion dollars a month in revenues? Are you serious?

      Take a look at the comments on the blog article. It is quite clear that whoever wrote the article has no idea of what a transaction really is in the first place.

  52. Ah come on. by WindBourne · · Score: 1

    Have you not ever ran Excell? Closeness works fine for 90% of the country. And the other 15% can run whatever.

    --
    I prefer the "u" in honour as it seems to be missing these days.
  53. MySQL vs. Oracle install and use by chroma · · Score: 0, Flamebait

    As I was struggling through an Oracle install a while back that Oracle doesn't have a great incentive to keep their products easy to use. Many common tasks, such as adding a column to a table or even just allowing clients to connect, are needlessly complex. I figure that this is actually part of their business model. Customers realize that they're in over their heads with the Oracle database, so they pay for premium support, trained Oracle consultants, and the like. Think of all the consultants who would starve if Oracle was easy to use.

    Contrast this with MySQL. Installation is a breeze, and it's pretty flexible after it's installed: you can add or resize columns on the fly. Plus no TNSNAMES.ORA to worry about. I figure this is because MySQL is open source and the developers want to get you productive right away so that you continue to use their system, and eventually pay them for consulting and support, even when your application has outgrown the software.

    --

    Your design to a real part online: Big Blue Saw
    1. Re:MySQL vs. Oracle install and use by Anonymous Coward · · Score: 0

      Adding a column: ALTER TABLE foo ADD (mycol NUMBER NOT NULL);

      That's a real killer, huh?

      As for TNSNAMES, etc., it must be nice to be a product that never had to worry about any network protocol other than TCP/IP. Frankly, if you use the net config assistant, it's pretty easy to connect to the target db.

    2. Re:MySQL vs. Oracle install and use by Anonymous Coward · · Score: 0

      It seems you don't understand the features. You can get a basic database running by just clicking through the defaults, but it isn't made for idiots.

    3. Re:MySQL vs. Oracle install and use by Saturn49 · · Score: 1

      After porting an MSSQL enterprise-level app to Oracle, I've concluded that some things in Oracle seem needlessly complex, starting with TNSNAMES.ORA. The entire connection path from the application->client->listener->instance->database is probably due to a lot of legacy. When you toss RAC into the mix, listeners gain the ability to redirect you to a different listener which can wreck all kinds of havoc if you're trying to use NAT or don't have your DNS setup quite right.

      I wouldn't mind the complexity if I could find some decent documentation on things like this, and if the error messages were a little more robust. A INTERMITTANT name-resolution lookup error doesn't make a lot of sense by itself, but if it told you it had been redirected...

    4. Re:MySQL vs. Oracle install and use by TedRiot · · Score: 1

      My experience a couple of years ago working with 8i was that after Oracle DBA courses setting up and maintaining these things was really not very hard when you understand what's going on. I also found that documentation on OTN was very good.

    5. Re:MySQL vs. Oracle install and use by chroma · · Score: 2, Insightful
      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.

      --

      Your design to a real part online: Big Blue Saw
    6. Re:MySQL vs. Oracle install and use by TedRiot · · Score: 2, Interesting

      Sure, but at the company where I worked at the time this was taken into account when budgeting the project that brought Oracle to the house. Sending a couple of people to DBA courses was pretty cheap in the cost of the whole project. Not training a couple of people was considered a way bigger risk than the cost of DBA courses.

      Being beginner-friendly like MySQL can IMO promote false sense of security. I have also done my share of lightweight web development and met a lot of people who don't have a clue about MySQL's weaknesses.

    7. Re:MySQL vs. Oracle install and use by Anonymous Coward · · Score: 0

      "Contrast this with MySQL. Installation is a breeze, and it's pretty flexible after it's installed: you can add or resize columns on the fly. Plus no TNSNAMES.ORA to worry about."

      Oracle doesn't support "ALTER TABLE ..."??? HAHAHAHAHAHA You areally know what you are talking about!

      TNSNAMES.ORA is there for your benefit by the way, you can turn the database topology upside down and not have to apply changes anywhere else. If you want to, you can specify everything in the apps connection string.

    8. Re:MySQL vs. Oracle install and use by Anonymous Coward · · Score: 0

      You obviously didn't look very hard or don't know basic SQL

      ALTER TABLE table ADD col_name col_type

      You can also MODIFY and DROP columns in the same way.

      I'd recommend anyone using Oracle for the first time to read the Concepts Guides, there are a host of starter level guides for managers, developers, DBA's etc. that explain the basic principles that you need to know.

      You'd have also learned that TNS naming is only one of five different methods of connecting to a (10g) database, and there is a GUI tool to make life easy. Editing TNSNAMES.ORA manually isn't really the recommended way for beginners.

      No company I have ever worked for has ever paid for Oracle support, because we actually RTFM.

    9. Re:MySQL vs. Oracle install and use by rixster · · Score: 1

      I really have to reply to this ..

      0) Make sure you're running a supported OS (e.g. RH AS 4)
      1) Go to oracle's website
      2) Download oracle 10g xe lite
      3) rpm --install ....rpm

      Done.

      It's that simple - and you get the html management interface, htmldb do create web based apps (which I can only say is *phenomenally* powerful), and all the other bits like sqlplus. Admittedly, I had a bit of fun getting DBI::Oracle working for perl access, but - as always - google helped to nail that one.

      --
      Two wrongs may not make a right, but three ....
  54. Re:I like MySQL, but...sigh by mr_z_beeblebrox · · Score: 4, Funny

    with crippled versions of said commercial products?

    The poster meant differently abled versions.

    Happy random day in December!

  55. Yawn by Anonymous Coward · · Score: 1, Funny

    "MySQL Beats Commercial Databases in Labs Test"

    In other news, bicycles found to have two wheels.

  56. I agree by toadlife · · Score: 3, Insightful

    I loved these zingers:

    "What Express does not include when compared to SQL Server SE and above is Analysis Services, Reporting Services, Data Transformation Services, and Notification Services but some users would argue that these features are crippleware anyway."

    Crippleware? What are the "some users" that argue this? The users that hate Microsoft? Also, DTS has been discontinued, and is not in any version of SQL Server 2005, so these guys obviously did not do their homework.

    "There is no denying that SQL Server Express is the weakest of the databases in this group but..."

    How exactly is there "no denying it"? Based on what is this claim made? Express isn't even designed for production use anyway...it aimed at developers and enthusiasts/students who want to learn their products.

    --
    I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
    1. Re:I agree by XMyth · · Score: 1

      "Me too" follows....

      Does MySQL even have anything comparable to MRS,or DTS (I forget its replacement at the moment)??

  57. The writer doesn't know his head from his ass by JDAustin · · Score: 5, Informative
    In describing SQL Server Express, he states

    SQL Server Express is one of two free databases we tested and is actually Microsoft's replacement for its earlier free offering the Microsoft Desktop Engine (MSDE) which was based on the old Access technology.


    This is utterly false.

    MSDE is based off SQL Server 2000, which itself a revision to SQL Server 7. MS Access has NOTHING to do with SQL Server (excpet proving nice single DB front ends via ADPs). When your dishonest (or just stupid) so early in a article, you loose your reader.
    1. Re:The writer doesn't know his head from his ass by Anonymous Coward · · Score: 0

      Very true. I have deployed and used MSDE extensively. It is identical to SQLServer 2000, except a max of 5 connections and no admin / query tools except for command line OSql.

    2. Re:The writer doesn't know his head from his ass by RupW · · Score: 1
      What part of "SQL Server Express is a replacement for (MSDE which was based on the old Access technology)" is false?

      Uh, this bit:
      MSDE which was based on the old Access technology
      exactly as he said. The latest MSDE is the SQL 2000 engine, exactly as he said. Access uses the Jet database engine.
    3. Re:The writer doesn't know his head from his ass by ad0gg · · Score: 1

      MSDE 1.0 was based on SQL 7. MSDE never used Access which is quite different than SQL server. Access is a flat file, MSDE is an actual application hence the word engine in the name.

      --

      Have you ever been to a turkish prison?

    4. Re:The writer doesn't know his head from his ass by mattwarden · · Score: 1

      When your dishonest (or just stupid) so early in a article, you loose your reader.

      Ironically, I was agreeing with you until this sentence.

    5. Re:The writer doesn't know his head from his ass by Anonymous Coward · · Score: 0

      When [you're] dishonest (or just stupid) so early in [an] article, you [lose] your reader.

      Good thing all these spelling errors were at the end of your post, so I didn't tune out the valid criticism at the start.

  58. Re:Correctness isn't negotiable by WhiplashII · · Score: 2

    Speaking of all this, when was the last time ANY meaningfully large database was accurate? They all contain inconsistancies - no, not bad records, just bad data. I think we spend entirely too much time making databases etc. 99.9999999% reliable when humans are only 99% (if that), so the database as a system cannot exceed 99% anyway.

    Instead of spending that $10M for that last 9, spend $50K on a customer service rep with the power to overide the system!

    --
    while (sig==sig) sig=!sig;
  59. Re:Correctness isn't negotiable by BlueScreenOfTOM · · Score: 1

    Amen to that. I know MySQL has its advantages, but when I go to the MySQL homepage and I see "October 2005 - NOW WITH TRIGGERS!!!" it makes me wonder. Now, I know triggers suck and should not be used unless absolutely necessary, but its just an example of one of may things... I expect a DBMS to have that ability, whether I use it or not... and other DBMSes have done it for years...

  60. where is Lab for testing...... by Anonymous Coward · · Score: 0

    Lab test? where? misleading title by Mysql zealot. sale advocacy......

  61. Lab test? by heinousjay · · Score: 5, Informative

    Lab test? What test? This was a list of features from the product documentation. What a disingenuous title.

    --
    Slashdot - where whining about luck is the new way to make the world you want.
  62. A "Review" based on check-off charts? by darylb · · Score: 5, Insightful

    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.

    1. Re:A "Review" based on check-off charts? by mariogarcia · · Score: 1

      Completly agree with you.

        And in Oracle uncommited data written to disk is written to the log so it can be undone in case of a system crash so its false that you can read uncommited data!!! That isolation level its not even supported as it realy means no isolation.

    2. Re:A "Review" based on check-off charts? by Anonymous Coward · · Score: 0

      > Nothing to see here, folks. Just move along.

      Oh, bother. Now I must RTFA just to see what the parent wishes to hide.
      I hate when that happens.

  63. Re:Correctness isn't negotiable by DoktorFuture · · Score: 1

    It's not bad to get 'accurate data' *AT THE TIME OF QUERY*. That's something a lot of people forget about. When you issue your SQL statement, it's the state of data at the time of the query. Things can still go on and change the state of the data, and you can't account for that while your query is running, for you'd never know when to stop your query.

    There are also several databases that always know simple things like table counts, or distinct counts of specific fields. One nice one I played with a few years back was the Nitro EDB. Billion record table sets and subsecond response to things like select(distinct somefield) from sometable where _some_daterange_. It maintained hierarchal indexes and some sensible aggrigation.

    Here's some thoughts I have on this strange dichotomy between 'schema' and 'indexes':

    I see that there is unstructured data, and lots of ways we want to access said data. To access data quickly, we need to index or order it according to some principle. Different needs require different organizational principles. The original structure of the data is logically nice from an aesthetic perspective. E.g. a normalized database with referential integrity makes it easier for us to conceptualize casgading deletions, but it doesn't do much to improve query time. Snowflake and other transformations make the data conceptually closer to analytical use-cases for the data (but harder to load and delete). Then there's the behind the scenes indexes. I find it very difficult to determine exactly *how* an index is being constructed. Is it balanced? How does it optimize itself? I don't like spaghetti-pasta wall approaches like 'drop the indexes and re-create them to see if they're faster'. That's not computer science. It seems to me that an RDBMS should focus more on really great index construction. Keep the data in a form that's very easy to load, change and dump. If that's 3NF, 5NF, something else, great. But the key is just to create a system we can rapidly load, change, dump. After that, let's enter indexland, where we abandon querying our load/change/dump schema, and instead set up some extremely fast, highly space inefficient structures to let me at my data with blinding speed.

    There are so many tools for managing schemas, and so few tools by comparison for seamlessly working with indexes. Can anyone tell me which indexes are better/faster under which conditions for MySQL's different engines (InnoDB vs. MyISAM for instance)? MySQL's on-site training couldn't tell me! It's too black box.

    I remember using a java Arraylist once as a Fifo queue, and found that if I enqueued a bunch of objects, there was a tremendous non linear slowdown as the implementation of the Arraylist was terrible (it copied itself to new arrays as it grew). And I found out it was O(N) on an element deletion (dequeue), so if I dequeued, I'd have a thousands object reference copies to recon with.

    Why don't they even tell us the time complexity of different operations on these index implementations? It seems silly we have to do experiments to reverse engineer these basic things at this point.

    Am I right here?

  64. Australia now has DMCA by tepples · · Score: 4, Interesting

    IIRC, EULAs are considered void in Australia because it's a contract occuring after the monetary transaction. After you paid, there is no way additional conditions can be added.

    When you buy downloadable software, you are given the chance to review the EULA before you enter your payment information. Should this ruling against EULAs stand up in court, I can see Amazon or foreign counterparts doing the same for boxed software under heavy pressure from major BSA publishers.

    "But what about retail sales in person?" The United States has enacted the Digital Millennium Copyright Act and has imposed identical conditions on Australia through a recent un-Free Trade Agreement. Under the DMCA, decrypting a copyrighted work is an exclusive right of the copyright owner. This means that a retail software transaction can now be decomposed into two separate offer-acceptance-consideration sequences: The first is a regular sale, where money is traded for a box containing a disc. The second is a license or licence to decrypt the installer, where your rights are traded for decryption during the install process. The disc is useful only as a toy until you enter into this second contract.

    Even if this DMCA-based theory doesn't hold water, nothing stops a publisher from requiring all authorized retailers to make a working Internet terminal available to customers and putting a conspicuous notice on the packaging: "This sale is subject to your acceptance of terms and conditions displayed at http://eula.microsoft.com/windows/xp". In fact, this method has been upheld in a U.S. Court of Appeals.

    1. Re:Australia now has DMCA by laurat · · Score: 1

      Not yet. Australia has agreed to enact a DMCA type law, but it hasn't happened yet.

    2. Re:Australia now has DMCA by f0rtytw0 · · Score: 1

      Just an interesting note. At Bestbuy you can ask to see the EULA before buying the software. No I don't have any links but I was at a Bestbuy and right up front by the registers there is a sign on the way stating this. Next time you are there take a look or ask someone about it. I think that is a fairly good policy or at least a way for Bestbuy to cover their ass.

      --
      this is the most important sig ever! In your face 446154!
    3. Re:Australia now has DMCA by stridebird · · Score: 1
      The disc is useful only as a toy until you enter into this second contract.

      Even that's doubtful...

      "how to make a toy from a DVD" - zero hits.

    4. Re:Australia now has DMCA by poot_rootbeer · · Score: 1

      a retail software transaction can now be decomposed into two separate offer-acceptance-consideration sequences: The first is a regular sale, where money is traded for a box containing a disc. The second is a license or licence to decrypt the installer, where your rights are traded for decryption during the install process. The disc is useful only as a toy until you enter into this second contract.

      Wouldn't the seller then be required to put a big label warning "HEY, this disc is useful only as a toy until you enter into this second contract" on the box?

      How much is a box of useless encrypted bits worth on the open market, anyway?

      What effect would such a label have on buyer confusion, and ultimately, sales? And ultimatelier, piracy?

    5. Re:Australia now has DMCA by vettemph · · Score: 2

      A required feature of the EULA should be a viewer that makes you actually read the EULA by requiring you to press "PAGE DOWN" every 20 seconds (so you have time to read each page) for each page in the agreement. If software manufactures were forced to provide this to insure that EULA were read, EULA's would be short.

      --
      The government which is strong enough to protect you from everything is strong enough to take everything from you.
    6. Re:Australia now has DMCA by MysteriousPreacher · · Score: 1

      I don't have the box with me at the moment but I think World of Warcraft actually does something similar.

      in the smallprint on the rear of the box, it says that you will need to agree to their terms of usage to use their online gaming. Of course, agreeing to these terms for accessing their server is different to agreeing to terms for using the software itself.

      --
      -- Using the preview button since 2005
    7. Re:Australia now has DMCA by edb · · Score: 1

      The disc is useful only as a toy until you enter into this second contract.

      Even that's doubtful...


      No doubt the use of a CD/DVD as a toy is covered by patent.

      --
      In theory, practice and theory are the same. In practice, they rarely are.
    8. Re:Australia now has DMCA by Anonymous Coward · · Score: 0

      "If software manufactures were forced to provide this"

      They would go into bankruptcy (which I don't think it would be too bad, anyway): noone would buy that kind of software for a corporate deployment, and they are the ones that pay the big bills:

      -Hey John, what's up?
      -I'm going to deploy this new FooBar 2.1 to out 2000 corporate desktops
      -Sorry you: you'll have to go to those 2000 boxes hitting ENTER four times on each one, just to pass the EULA part. It's going to be a funny nigth, ol'chap.

  65. Re:Correctness isn't negotiable by Lehk228 · · Score: 1

    the "accurate" data ios still inaccurate by the time you get to see it the real value has changed

    --
    Snowden and Manning are heroes.
  66. Re:I like MySQL, but...sigh by Hektor_Troy · · Score: 1

    Yes, those light versions are handicapable.

    --
    We do not live in the 21st century. We live in the 20 second century.
  67. Re:Correctness isn't negotiable by kpharmer · · Score: 1

    if you're moving data in & out frequently, then you should look at partitions rather than indexes.

    BTree indexes are usually only useful when you're selecting less than 2% of the data. Partitioning works great with 10%, 20% or even 80%. And can often allow you to move partitions in & out of the database within a transaction.

    I agree that updating a snowlake is tougher, but it depends on what you want to optimize for. If you want to optimize for fast & easy retrieval for analysis, you really want to use a star schema most of the time.

  68. MySQL IS commercial. by latroM · · Score: 1

    I thought that MySQL is a commercial product with dual licensing, GPL and some other. There is company backing, the software is developed money in mind, it is commercial. Commercial doesn't mean non-free .

    (Do the editors even have a clue or do they just click "Add article")

  69. nash : minimax theorem revisited :a beautiful mind by tofupup · · Score: 1

    min(performance.a)= or b or a b

    the meaning full part of the statement is that over "all possible methods derived from objects
    a or b" this really means you need to extend the case to of best/worst case analysis to all
    polynomial bounds the "meaningful problems" presented to by objects a and b.

  70. Re:Correctness isn't negotiable by Parham · · Score: 1

    It would be more acceptable to leave out COUNT(*) functionality than to do it wrong. (Yes, if it gives an number other than the number of rows committed to a table it is wrong. "Weird" is what you call LISP.)

    or leave it in and give lots of documentation about why it does what it does for developers to be aware of it... this was news to me.

  71. Good freakin god by xant · · Score: 4, Insightful

    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

    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.

    --
    It's rare that you're presented with a knob whose only two positions are Make History and Flee Your Glorious Destiny.
    1. Re:Good freakin god by Cee · · Score: 1

      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

      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.


      Fair enough. But no one forces you to use MySQL (other than maybe your clients/employer). Also, MySQL is good enough (tm). You know, the principle that made Microsoft successful. Not necessarily the best software, but good enough to be used to host your average random hacker web project. Over the years more and more start to use MySQL for larger systems, because of the experience they have with the database, and they know that it worked pretty well for them in the past.
      Sure, they may all be wrong, stumbling around in the darkness - that's why we need the Postgresql fanboys to advocate their viewpoint. But to bash MySQL without backing it up with references and facts is just pointless.

    2. Re:Good freakin god by johansalk · · Score: 1

      I agree with him, I think sqlite and postgresql are an excellent combination; sqlite for small, personal databases and even more, and postgresql for the 'ambitious' stuff. Mysql is somewhat lost in between, I think sqlite effectively killed it as its excuse compared to postgresql was that it was easier and whatever, well, that's no longer the case, sqlite is now simpler, faster and easier. If you have a reason not to use sqlite now you may as well use postgresql instead of mysql. That's what I would recommend to everyone.

    3. Re:Good freakin god by bani · · Score: 1

      sqlite has no network support, oracle postgresql mysql db2 and everything else in the entire universe does.

      to many this is a showstopper and not a trivial fix. the network wrapper is not a fix, it's a band-aid.

      this database elitism smacks of *bsd vs linux zealotry.

    4. Re:Good freakin god by sootman · · Score: 4, Interesting

      And I'm equally tired of hearing from MySQL haters who bitch and bitch and bitch about how MySQL isn't worth shit and should never be used for anything, anywhere, ever. Need I remind you that the very site you're looking at runs on MySQL and handles literally millions of pageviews per day? OK, fine, I won't. How's this then: hundreds of the 33,000 employees where I work rely on MySQL daily, whether they know it or not. Phone lists, surveys, reporting apps, inventory databases, etc etc etc. MySQL does the job and does it just fine. It has not failed me once in all the years I've been using it.

      And SQLite is better? Because it's ACID? HA! HA HA HA HA HA! GIVE ME A FUCKING BREAK! That's the only buzzword it IS compliant with. Look at this:

      Q: SQLite lets me insert a string into a database column of type integer!
      A: This is a feature, not a bug. SQLite does not enforce data type constraints. [emphasis added]

      and this:

      Q: What is the maximum size of a VARCHAR in SQLite?
      A: SQLite does not enforce the length of a VARCHAR. You can declare a VARCHAR(10) and SQLite will be happy to let you put 500 characters in it. And it will keep all 500 characters intact - it never truncates.

      and this:

      Q: Does SQLite support a BLOB type?
      A: SQLite versions 3.0 and leter let you puts BLOB data into any column, even columns that are declared to hold some other type.

      all this and more can be seen at http://www.sqlite.org/faq.html

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

      And only recently ran natively under Windows. Sorry, but when you're in a company with 33k employees and a substantial IT department, you don't always get to pick your platform. MySQL was there, it worked, and it continues to do so. Why would I switch?

      Let me make the required car analogy: a semi is several orders of magnitude more powerful than a 2WD pickup truck. A semi can haul more, and haul more further, and haul big loads more efficiently, and with a sleeper cab and two drivers can operate 24/7, and you can get refrigerated units to move food, etc etc etc. Why, then, are there millions of 2WD pickups sold? Are they just "shitty vehicles with lots of mindshare"? NO! It's because 99.9% of the population just wants to move a couch or go to Home Depot or something. Maybe it'll take a few trips to help a friend move, but even that takes fewer hours than getting a class-whatever license, plus pickups are easier to maneuver and park in apartment complex parking lots and residential neighborhoods, etc etc etc.

      I'm not saying MySQL is better than everythinhg else. The fact is, databases and computers are SO capable now that even the WORST in the field is STILL more than 99% of people need. In other words, MySQL is Just Fine.

      PS: MySQL is ACID when used with InnoDB tables which came out about 3 years ago. Time to update your troll.

      --
      Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
    5. Re:Good freakin god by Anonymous Coward · · Score: 0

      But I am forced to use MySQL by open source tools (Bugzilla for instance; many many others) which are coded not for SQL standard database access but for MySQL and only MySQL.

      Yes, I know Bugzilla is moving to more standard SQL.

  72. Re:Correctness isn't negotiable by xiphoris · · Score: 1

    Berkeley DB is not a relational database. It is a key/value pair database, much like a set of files in an individual directory in a filesystem. Apples and oranges :)

  73. Re:Correctness isn't negotiable by harlows_monkeys · · Score: 1
    This sort of technical reason is why MySQL is still considered toy in my mind

    I don't see how the inability of the person who started this thread branch to read documentation is a technical problem with MySQL. COUNT(*) works correctly in MySQL, giving an accuate count of the number of items.

  74. Remember: by rk · · Score: 0, Flamebait

    When you hear politicians talk free trade, that free as in "free beer for all my buddies, courtesy the taxpayers", not free as in "free speech".

    1. Re:Remember: by rk · · Score: 1

      And also remember, someone's honest opinion (and frankly the truth, if you look at how long these convoluted"free trade" agreements are) is now flamebait and overrated.

      You two moderators are idiot wankers. Go do us a favor and turn off that "willing to moderate" flag. Or do humanity a service and drink a Drano Daiquiri.

      Now *that's* overrated flamebait.

    2. Re:Remember: by WebMasterJoe · · Score: 1

      You two moderators are idiot wankers. Go do us a favor and turn off that "willing to moderate" flag. Or do humanity a service and drink a Drano Daiquiri.

      Now, I'm not an expert on the matter, but I'm pretty sure that your insurance rates don't go up when you get modded down on slashdot. In fact, the insurance company doesn't even have to know!

      So I don't think you need to ask people to commit suicide just because they don't want you to turn this conversation into an "I hate the government" rant. If you hate the government and you want us to hear why, join the way-too-large-already pool of armchair internet political gurus and get yourself a blog. Hell, even start a podcast and pretend to be afraid you'll use up all your bandwidth. But don't turn other people's conversations into your own soapbox, like I'm sorta doing (except I really don't care if I get modded down).

      --
      I really hate signatures, but go to my website.
  75. ...and ibFirebird... by leonbrooks · · Score: 1

    I'd expect PostgreSQL to utterly ace MySQL feature-for-feature. ibFirebird probably not, but it should still scare the "serious" databases on some points. Serious is not an accurate name. Perhaps "attitude-encumbered" or "reputation-enhanced" would be better.

    Performance depends so much on what you're doing that it's easy to fudge up benchmarks to make your pet DB "the best". I'd like to see some real-world application benchmarks done by someone with no axe to grind, 'coz I reckon there'd be red faces all around. (-:

    --
    Got time? Spend some of it coding or testing
  76. Ta-dish, boom! Trump that one, suckers! (-: by leonbrooks · · Score: 1

    I can picture Arjen grinning as he rea dthat. (-:

    OTOH, the same can be said of PostgreSQL, and nobody has yet. The .org domain (parent of SlashDot's domain, of course) is run on it.

    --
    Got time? Spend some of it coding or testing
  77. Re:Correctness isn't negotiable by systay · · Score: 1

    It's just not true. If you are working in a transaction with higher isolation level than read committed, the locks will hold until the transaction is committed.

    The whole point of using an ACID RDBMS is knowing you're dealing with accurate data and not guesses or estimates.

  78. Horses for Courses by 16K+Ram+Pack · · Score: 5, Informative
    The article doesn't deal with some of the other strengths/weaknesses.

    If you want to distribute MySQL with your application to a customer, you have to pay a license fee. That means that for many people, MS SQL Express may be better.

    If I wanted to do some complex database logic, I'd probably consider MS SQL Express, as stored procedures on MySQL haven't been out there for long.

    If you are building a database to go on low-cost LAMP hosting, MySQL does the job well.

    For a piece of shareware requiring a small database, something like SQLLite is probably better than these options.

    1. Re:Horses for Courses by raynet · · Score: 1
      If you want to distribute MySQL with your application to a customer, you have to pay a license fee. That means that for many people, MS SQL Express may be better.

      This is something I dont understand. Why do you need to pay for a license? Isn't MySQL GPLed thus free?

      --
      - Raynet --> .
    2. Re:Horses for Courses by 16K+Ram+Pack · · Score: 1
      It's dual licensed, and as far as I recall, not GPL.

      I should also qualify what I said. I understand that applications that are themselves open source (can't remember which licenses qualify) are exempt from the cost of a license.

    3. Re:Horses for Courses by raynet · · Score: 1

      Actually it is GPL (and dual licensed). Also, if I make a program that uses MySQL as a database via say, ODBC, I don't see any reason to make my program GPL. And I could (or I think I could) distribute the MySQL installer with my application on the same CD. Just add a note in my applications installation that for database use you should install MySQL. If I include MySQL code in my application, eg. the mysqlclient library, then I'd have to either GPL my application or buy the commercial license.

      --
      - Raynet --> .
    4. Re:Horses for Courses by psykocrime · · Score: 1

      The MySQL client libraries are GPL'ed now, so if you link against them, you would have to make your app GPL as well. This was a change that was made some time ago (the libraries were formerly LGPL'ed, I believe) and was the cause of something of a rift between PHP and MySQL, since the PHP license (was|is|??) not GPL compatible.

      Of course nothing stops you from reverse engineering the protocol used to talk to the server, and write your own client libraries. In which case you could, AFAIK, bundle MySQL as part of a closed-source application without springing for a commercial license.

      --
      // TODO: Insert Cool Sig
    5. Re:Horses for Courses by Jamesday · · Score: 1

      The MySQL libraries are not exclusively GPL licensed, so it's not mandatory that an application using them be GPL licensed. A list of 20 other open source licenses which are accepted by MySQL for use with its client libraries can be found at http://www.mysql.com/company/legal/licensing/foss- exception.html . The PHP license is one of them.

  79. Rigged test by d_jedi · · Score: 3, Insightful

    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..

    --
    I am the maverick of Slashdot
    1. Re:Rigged test by bob2cam · · Score: 2, Interesting

      Ain't that the truth.. Here's the recommended scenerio's for SqlExpress..
      The three main usage scenarios for SQL Server Express are:
      ----
      Nonprofessional developers building Web applications

      ISVs redistributing SQL Server Express as a low-end server or client data store

      Hobbyists building basic client/server applications

      ----
      Comparing a product that makes no claim to handling the test scenario with one that is "Enterprise grade" simply because both are free is asinine.

      MySQL claims to make an enterprise grade database. If you want to compare it with other companies then do so with those companies enterprise grade databases. Compare it with DB2, Oracle 10g or SQL 2005.

      I'll tell ya', I thought the mainstream media was bad, but after reading hundreds of tech news stories over the last few months, I can't believe these people call themselves journalists.

  80. GPL 2 loophole! by Dr_Barnowl · · Score: 1

    If it's an in-house web application, and he's not distributing it to a third party, the GPL requirement to distribute code along with his application no longer applies. The users are using the services the software provides, but at no time is it distributed to them.

    Of course, GPL 3 works around this by applying to web services as well as software distribtion. So it's just a question of when / if MySQL AB adopts GPL 3.

    1. Re:GPL 2 loophole! by trezor · · Score: 1

      If it's an in-house web application, and he's not distributing it to a third party

      Notice the "if" in your sentence. Some people actually sell software which needs DB-backing. And when you do sell a MySQL based application, you either have to GPL your own software or pay up. Ie MySQL is no longer a free DB.

      And as I said. Not everyone is eager to GPL the stuff that makes the company money. Just read what I wrote, m'kay? I'm not writing it again.

      --
      Not Buzzword 2.0 compliant. Please speak english.
  81. Uhh by CaptainZapp · · Score: 4, Insightful
    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.

    --
    ich bin der musikant

    mit taschenrechner in der hand

    kraftwerk

    1. Re:Uhh by Drysh · · Score: 1

      Legal where? Contract legislation is different in different nations. That's one of the hardests things if you work with international sales... One thing you have to understand is that, at least in most nations, you cannot include something in a contract that is against the law, and to forbid someone to discuss with others about the performance of a public sold software is ilegal in many nations. You cannot forbid people from commenting if the product they bought is good or bad, and a benchmark is just that: a comparision between products.

      At least that's how it works in most european and south america nations. I don't work with US, so I'm not familiar with US freedom of speach. But since the North American freedom of speach is famous, I think you won't be able to enforce something that prevents the users from comparing products.

    2. Re:Uhh by arkanes · · Score: 1
      Enterprise software is very rarely sold shrink wrapped with an EULA.

      True, but what is being compared is the freely available "express" versions of these enterprise databases, and are covered by your traditional clickwrap EULA (much stronger than a retail shrinkwrap one, by the way), not by the (yet even stronger) negotiated enterprise contract.

    3. Re:Uhh by Anonymous Coward · · Score: 0

      I'm sure a company like Oracle would not neglect to have the necessary expertise in international contract law...

      In the US, people are protected from the government interfering with their right to free speech. A contract can specify just about anything. Nobody forces you to buy a product or agree to the terms of a contract, but if you do you are compelled to honor them.

    4. Re:Uhh by Drysh · · Score: 1

      At least here in Brazil that contract is 100% void. And I don't mean only that clause, something like that could let you trash the contract. No contract can reduce a right given to you by a law. And we have our Consumers Protection Code stating we have the right to compare and comment any product.

      One interesting thing about the net is that usualy the most libertarian legislation applies. If something is not allowed in a country, someone will do it where it is allowed. Just host the site somewhere else. Just look what PirateBay is doing (and telling the layers).

      Hello, MySQL, want to move to Brazil? I could tell you a lot of ISPs that would love hosting you and enjoying the international attention. :-)

      (I know it isn't only the site, the whole company needs to be here!)

    5. Re:Uhh by Jamesday · · Score: 1

      MySQL does have two employees in Brazil, one the manager of the group which does most of the bugs verification work. Not the same as the whole company but good anyway.

  82. Just remember... by mattcasters · · Score: 1

    That whatever database you choose or if you change your mind, you can use a Free(LGPL) Kettle to build your data warehouse on it or migrate it :-)

    Homepage: http://www.kettle.be/
    Project page: http://kettle.javaforge.com/

    Cheers,

    Matt

    --
    News about the Kettle Open Source project: on my blog
  83. Reporting Services by LeavenOfMalice · · Score: 1

    What Express does not include when compared to SQL Server SE and above is Analysis Services, Reporting Services...

    It's worth noting that free version of Reporting Services will be included in the Express edition soon.

  84. Re:Except the license might make MySQL cost $$$... by Bert64 · · Score: 1

    Many of the free commercial apps include more restrictions..
    MySQL is available under the GPL _OR_ a commercial license..
    If you include the GPL version for free, you must comply with the GPL same as any other piece of GPL code, that is give away the source code too.. So if your using MySQL unmodified, you just give a copy of the source tarball, easy.
    If you need to modify MySQL, and merge it with code you'd rather not release under the GPL, then you *can* buy a commercial license and distribute the whole package as a proprietary closed source app.

    The free commercial databases may let you distribute the binaries for free (or they may not, not sure of the licensing terms) but you certainly can't modify them, so you don't gain anything you wouldn't already be able to do with MySQL. After all, if your distributing an unmodified copy of MySQL why would distributing the sourcecode hurt you? people can just download it from mysql.org anyway.

    On the other hand the commercial free versions may place restrictions on redistribution, and that may cost you more too.

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  85. Re:Except the license might make MySQL cost $$$... by Noksagt · · Score: 2, Informative
    If you include the GPL version for free, you must comply with the GPL same as any other piece of GPL code, that is give away the source code too..
    To be more precise, it is more lenient than the GPL alone: if you distribute your software with the MySQL client libraries, you can use any OSI-approved license, even if it is not GPL-compatible.
    So if your using MySQL unmodified, you just give a copy of the source tarball, easy.
    You must include your source code. If MySQL was released under the LGPL (which it isn't), then you'd be right--you'd only care if you modified MySQL. But is is released under the fully copy-left GPL, which forces anything that liks to the client libraries under their license. That is: If you use ODBC, JDBC, or the C MySQL libraries in your application, you must release it under an OSI-approved license or buy a fully copy of MySQL. There is no debate about this. You are using their libraries and must follow the GPL.
    The free commercial databases may let you distribute the binaries for free (or they may not, not sure of the licensing terms) but you certainly can't modify them, so you don't gain anything you wouldn't already be able to do with MySQL.
    As above, if they allow distribution of your application under any license of your choosing, they do allow something the GPLed MySQL doesn't.
    After all, if your distributing an unmodified copy of MySQL why would distributing the sourcecode hurt you? people can just download it from mysql.org anyway.
    Because you must distribute the full source to your entire application, which people couldn't download! I called a few people on this. They were using the GPLed-version of MySQL for their proprietary apps. I told them we wanted them to follow the license--open source their app, use a different database, or buy the commercial license. They invariably bought a license.
  86. Re:Except the license might make MySQL cost $$$... by Noksagt · · Score: 1

    Read more about MySQL licensing.

  87. While everyone seems to agree by tweek · · Score: 4, Informative

    that this is a terrible review, there really isn't much option for the average site.

    Have you checked the licenses on Oracle for instance. If I remember correctly, the commercial license prevents publications of benchmarks without approval from Oracle.

    Having said that, if *I* were supreme overload of database comparisons, here's what I would do:

    - Decide on a reference hardware platform in both 32 and 64 bit. I would also include a non-x86_64 hardware platform such as pSeries. Of course this will limit the SQL Server tests but that's Microsoft's own choice.

    - Also decide on a common disk layout for the databases. Many commercial databases and even PostgreSQL will perform poorly out of the box on a flat disk layout. Seperate index, data and logs on unique volumes. If you decide to go RAID5 for any LUN, stick at least 6 disks under that LUN. RAID1 for log files. You also need to decide on which filesystem you want to use. This all of course determines which OS you use. I'm assuming Linux in this scenario. Most PostgreSQL recommendations I've seen recommend XFS on RAID10 but RHEL and SUSE don't include XFS support without going unsupported with the vendor in a kernel recompile.

    - Bring in a skilled DBA for each product. It shouldn't be too hard to find someone who wants to get published in his respective product.

    - Provide no OS tuning except the defaults recommended by the manufacturer of the database. OS tuning varies from vendor to vendor. Some suggest SHMMAX to be one setting while others suggest another number. You can't compare apples to apples when you've tuned I/O at 64k blocks for DB2 and 128K for Oracle (not that you would for either).

    - Test all workloads. You may notice that some vendors provide a different product configuration for DSS, OLTP and OLAP. Some vendors even provide a different version of the product for a specific workload.

    - Use the same DDL where possible. Really think about this for a moment. Alot of tests I've seen determine raw select, raw insert and raw update speeds but don't take into account the complex DDL that most business have. Take our layout for instance:

    1) We have an OLTP system.
    2) It also has a schema for OLAP that is populated by triggers from the OLTP tables.
    3) We load our warehouse off of the denormalized tables and also provide the OLAP functions within our application from those tables. (Our warehouse is updated each morning but we have a requirement in the application for realtime data for the current business day)

    Now with those above requirements, INSERT and UPDATE are going to perform much slower than what a raw benchmark would tell me and IMHO is much more indicative of real world design.

    - Note which "levers" you have available to pull. With DB2, I can put specific tables on different LUNs via tablespaces. I can also assign tables and indexes to different bufferpools. Quite honestly, I can't do any of that with MySQL (well with InnoDB I can via some symlink madness). I can accomplish the tablespaces option with PostgreSQL but not the unique bufferpools for certain tablespaces or indexspaces.

    - Also note what maintenance is required to actually keep the database performing. REORGs in DB2. VACs in PGSQL. I can update and insert 10mil rows to DB2/MYSQL/PGSQL but what happens when I need to go back and select out those rows? This leads to the next test:

    - Test the optimizer! This is probably the biggest thing for me. How does the optimizer determine which access path to take? What factors influence that? I would not intentionally write shitty SQL but developers aren't DBAs. They don't normally concern themselves with the BEST path or even the quickest path to the data as long as they get the data they need. Don't talk to me about OR functions or LEFT OUTER JOINs that I've seen spit out by ORM products or worse yet SELECT * and doing the logic in the application. Run EXPLAIN plans on all queries you're testing. In the end, the optimizer is the biggest factor in the database per

    --
    "Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
    1. Re:While everyone seems to agree by Sosarian · · Score: 1

      Ever heard of S.A.M.E.?

      http://otn.oracle.com/deploy/availability/pdf/oow2 000_same.pdf

      It's trivial to implement Mysql or Postgresql on top of S.A.M.E.

    2. Re:While everyone seems to agree by Anonymous Coward · · Score: 0

      The filesystem doesn't really have much of an effect on PostgreSQL performance, especially compared to the performance gain of using multiple spindle sets.

      IOW, spend your money and time worrying about your physical disk configuration. (And memory... lots and lots of memory.)

    3. Re:While everyone seems to agree by tweek · · Score: 1

      Oh trust me. I'm over the filesystem thing but you have to agree that postgres needs memory BECAUSE of the filesystem. You need a filesystem that you can tune caching parameters. EXT3 has very limited tuning support but the alternative fs contenders do provide more options.

      I think the main reason I read that XFS was a recommended filesystem is because of how efficiently it handles large files.

      For those who aren't aware, PostgreSQL relies very heavily on the OS to do most of the work. It's a different tack from say DB2 where you want the OS to get the hell out of the way. DB2 manages its own memory and caching (through things like bufferpools). You can argue that this is better or worse but in some sense, you can rely on a finely tuned OS to handle most of the postgres load.

      As an example our data warehouse running postgresql is an 8-way 32bit Xeon box with 16GB of memory. The box will support up to 32GB and I'm trying to get it there. The 8 cpus are really overkill since postgres doesn't support parallel query execution but the disk an memory are where we've sunk our money.

      --
      "Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
    4. Re:While everyone seems to agree by kpharmer · · Score: 1

      > Ever heard of S.A.M.E.?
      > http://otn.oracle.com/deploy/availability/pdf/oow2 000_same.pdf
      > It's trivial to implement Mysql or Postgresql on top of S.A.M.E.

      SAME (Stripe and Mirror Everything) trades off hardware costs for labor: you end up with twice as much storage as you really need. Further, it works better with expensive heavily-cached storage such as EMC, IBM Shark, etc rather than low-cost direct attached. Sometimes that's a good deal - if you really can't get a good dba, it's probably a safe choice.

      On the flip side, it's just plain expensive and you seldom get to really buy as much storage as you'd like. I've often spoke with people who've had to implement SAME on top of insufficient hardware - since they couldn't get approval for all that they needed, or outgrew their initial configuration and were waiting for the budget to buy a lot more.

      In my opinion SAME is fine if you have a small & simple little database. But anything worth benchmarking deserves an intelligent compromise. My data warehouse (db2) has two sets of arrays: fast and slow. Each has their own set of dedicated disk adapters.
          - the slow set of arrays are each configured with raid5 on top of 10k rpm drives. Data, backups, etc are stored here.
          - the fast set of arrays are each configured with raid10 on top of 15k rpm drives. The temp space and log files are stored here.
          - eventually, I'll add a second set of fast arrays to hold indexes, small dimension tables, small summary tables, and possibly current-only detail data. This could go into the same pool as the existing fast arrays holding temp & logs, but performance will probably suffer - since those two sets of data are almost guaranteed to be used simultaneously.

      Note that the fast drives cost almost exactly *twice* what the slow drives cost. By splitting the data up this way we've saved about $50k. On a single server.

      No, i'm not really interested in seeing benchmarks in which people try to save pennies by buying mysql to then blow it on excessive hardware costs.

  88. Re: Software company's solution to that loop hole by usurper_ii · · Score: 1

    The software company's solution to that problem, shuld it happen in the US, would be to buy off congress to get this to happen:

    Wal-Mart Clerk: Are you over 18, yes or no?

    You: Yes

    (Wal-Mart Clerk presses a button on her keyboard.)

    Wal-Mart Clerk: Do you agree to the EULA, yes or no?

    You: No

    Wal-Mart Clerk: Sorry, I can't sell it to you.

    Usurper_ii

  89. Misleading... by IANAAC · · Score: 1
    ... designed to compete with for-pay commercial products...

    Not really. Neither MySQL nor PostgreSQL were "designed" to compete with commercial databases. That they do on some level is nice, but you'd be hard-pressed to find a DBA that really believes that they compete (OK, well, PostgreSQL is there in a lot of ways).

  90. Re: Software company's solution to that loop hole by jrockway · · Score: 1

    Me: Here's five bucks, your hourly wage.
    Clerk: (clicks "yes") Thank you, come again.

    Personally, I just have my cat click the Agree button. (Or rather, I leave for a while and when I come back, the software installed itself without me seeing the EULA. Prove that that didn't happen.)

    --
    My other car is first.
  91. open source in memory database? by tolonuga · · Score: 1

    Is there any open source in memory database?
    Prefereable fast and stable?

    I find it silly if people run benchmarks with real database software,
    but in setups where all the data would fit into the ram of the server -
    even several times. In memory databases could be a lot faster for those
    situations.

    Also it would be nice to see some setups that are realistic, i.e. at least
    the data doesn't fit into ram, maybe even setups where the indices are too
    big to be kept in ram completely all the time. Would be interesting which
    databases still work acceptable in such situations.

    Example where I have that: backup servers.
    The "file" table with all files backed up and still kept
    somewhere on tape is about 10-15gb, and of course the server
    is 32bit, dual xeon, and only 4 gb of ram.

    1. Re:open source in memory database? by Valafar · · Score: 1

      "Is there any open source in memory database? Prefereable fast and stable?"

      SQLite has a command line switch to load the and run the database in memory. Unless you're in need of some RDBMS specific tools (replication, etc.) this little gem is the best things I've seen.

    2. Re:open source in memory database? by midicase · · Score: 1

      Is there any open source in memory database?

      I did a thesis on table de-normalization and performance on Oracle 9. In order to avoid complicating the results with disk reads, we used a command to load entire tables into memory. I forget what the command is but it can be found in the Orabm test files at www.dbcool.com

  92. Re:Except the license might make MySQL cost $$$... by jrockway · · Score: 1

    However, nothing is stopping me from writing my own client libraries under whatever-the-fuck-i-want license and using those instead of MySQL's license. Unless MySQL completely sucks, it does the "hard" stuff in the server... the client libraries just send commands to a socket or named pipe.

    This means I can write a completely commercial MySQL app, and not GPL any of it. (If you disagree, remember that connecting to a GPL'd webserver from IE doesn't require MS to open IE's source code.)

    <sarcasm> Damn the client-server model!</sarcasm>

    --
    My other car is first.
  93. apples vs oranges by minionman · · Score: 1

    Like most slashdot articles comparing things, this is an apples vs. oranges argument. Look at some of the comparisons when they line them up side by side. Some of the comparison factors are completely useless and only present to make MySQL appear better than it really is. I'm a MySQL fan, but I'm also a fan of using the right tool for the job. If you use MySQL in a production environment, you better hope you never need to expand much. MS, IBM, Oracle all provide migration to beefier versions that will do a whole lot more than MySQL and thats what their express/limited versions are targeted towards. Migration to a better product as the need arises, without having to restructure your applications.

  94. LGPL client libraries; License on server by Noksagt · · Score: 1
    However, nothing is stopping me from writing my own client libraries under whatever-the-fuck-i-want license and using those instead of MySQL's license.
    Right...But the cost of doing so would probably be greater than the cost of a license. It would take a lot of work to make them as easy to use as those build by MySQL AB & presumably MySQL AB is in the best position to make them stable & efficient.

    Most who really care about distributing proprietary software charge money to their customers & can pass the license cost of a database off onto the customer. The lowest risk option would be to NOT develop your own libraies.

    Of course, if they can't justify the cost, they should just use postgres or some other database whose license conforms to their needs.

    For those committed to using MySQL clients for free in a proprietary app, the best bet is probably the legacy "public domain" version (I suspect these are the old LGPL libraries, but haven't looked more closely).
    This means I can write a completely commercial MySQL app, and not GPL any of it. (If you disagree, remember that connecting to a GPL'd webserver from IE doesn't require MS to open IE's source code.)
    That is how I read the GPL, but IANAL & that isn't how MySQL AB (who has lawyers) reads the GPL. They claim
    • If you include the MySQL server with an application that is not licensed under the GPL or GPL-compatible license, you need a commercial license for the MySQL server.
    • If you develop and distribute a commercial application and as part of utilizing your application, the end-user must download a copy of MySQL; for each derivative work, you (or, in some cases, your end-user) need a commercial license for the MySQL server and/or MySQL client libraries.
    I personally don't think it would be worth the risk to test this & would be conservative. If I was making proprietary software, I'd either pony up for the license or choose another database.
  95. Reviewer has no idea by Anonymous Coward · · Score: 0

    From the definition of a relational database (below), the reviewer clearly has no clue what he is talking about:

    Relational Database: A collection of "related" databases, for example and travel agent booking system consisting of customer, airline and account details, can be combined and would be referred to as a Relational Database.

    1. Re:Reviewer has no idea by heinousjay · · Score: 1

      Holy shit. I skipped over that pile of definitions.

      This article has lost all credibility now.

      --
      Slashdot - where whining about luck is the new way to make the world you want.
    2. Re:Reviewer has no idea by Anonymous Coward · · Score: 0

      The whole comparison is weak anyway. I've been working with many different databae products for many years. I can take any of them and beat any other in a "lab test".

      All the RDBM's have been beating each other in lab tests for decades now. Its almost meaningles.

      There is alos a lot more to look at then hey it did this one custom query faster then this other guy. big deal. Support, documentation, stability, and the type of application your need it for, cost, etc and many more thing sto consider.

      sure mysql has come a long way, but in my opinion it still has a long way to go (for certain applications) and test like this almost discredit the product more then help it.

  96. What labs test? by loco123 · · Score: 1

    Slashdot title suggests lab testing - special environment, procedures and so on. TFA is nothing like that - just a summary of features and prices.

    So far, the only serious test of MySQL I have seen is jAppServer2002.

    I expect TPC-C results for MySQL to be published in 2006, unless Oracle bought Innobase only in order to kill it.

  97. Sybase by Anonymous Coward · · Score: 0

    Laugh your heart out.

    I've got 3 mission critical banking applications running on Sybase 9. Works like a champ with little or no maintenance, and almost never crashes (unlike MS-SQL which we also run).

    Didn't have a choice though. As an earlier poster mentioned (rightly) usually the application vendor 'decides' what SQL server you will be using for their app. Mostly this is due to support issues and not technical issues.

  98. Oracle's Performance Restrictions by christoofar · · Score: 1

    I don't know how Oracle could possibly "get you" if you published benchmarks of your APPLICATION when using each RDBMS, as long as you are careful not to go into too much detail about your database implementation.

    As long as you talk about app performance and steathily avoid flogging Oracle, then you should be O.K.

  99. MOD PARENT DOWN!!! IT IS A D=-=U=-=P=-=E by Anonymous Coward · · Score: 0

    Dup;licate. Dgguplicate. Duplicate. Duplicat5e. Du5plicate. Duplicate. Duplicate. Dugplicate. Dup5licate. ;Duplicate. Duplicate.
    Duplicate. Duplicate. D;uplicat5e. Duplicate. Dupleicate. Duplicate. Duplicate. Duplicat5e. Duplicate. Duplicatee. Duplicate.
    Duplicate. Duplicate. Duplicate. Duplicate. Dugplicate. Duplicate. Duplicate. Dupli5cate. Duplicate. Duplicate. Duplicate.
    Duplicate. Duplicaete. Duplicate. Duplicate. Duplicate. Duplicate. Duplic;ate. Duplicate. Dupligceate. Dupli;cate. Duplicate.
    Duplic;ate. ;Duplicate. Duplicate. Duplicate. Duplicate. Duplicate. Dueplicate.e Duplic5atee Duplicate. Duplicate. Dup5licate.
    Duplicate. Dueplicate. Duplicate. Duplicate. Duplicate. ;Duplicgate. Duplicate. 5Duplicate. Duplicate. Duplic;ate. Duplicate.
    Du;plicate. Duplicate. Duplicate. Duplicate. Duplicatge. Duplicate. Dup;;licate. Duplicate. Duplicate. Duplicagte. Duplicate.

  100. mmmm.... by Anonymous Coward · · Score: 0

    I think that PostgreSQL and Firebird are good candidates in a lot of bussiness/academic/websites situations. Why PostgreSQL doesn't appear in benchmarks?

  101. how to turn a cd into a toy by tepples · · Score: 1

    "how to make a toy from a DVD" - zero hits.

    Tried the first few results from aol cd uses?
  102. If GPL software is the razor, find some blades. by tepples · · Score: 1

    In that case, if you use MySQL as a datastore in your application, you will need to buy a "commercial" licence, in order to avoid having to GPL your own software.

    And what's so bad about GPLing your own software? There are business models other than that based on restricting copying and redistribution. For instance, Sun is distributing programs as free software and making money on hardware and support. A developer of Free enterprise automation (CRM, ERP) software, which in the proprietary world costs in the five or six figures per installation, could charge for labor during the inevitable process of customizing the software to fit a given company's existing processes.

    And speaking of process, given what I know about MySQL, it'd be easy to make a client that operates in a separate process through a pipe: SQL in, tab-separated out, making two mere-aggregated programs whose licenses do not interfere.

  103. Re:OMG - it's for management by dwandy · · Score: 1
    I thought it was a nice management overview ... deep on meaningless numbers, short on actual reasons to pick one solution over another.
    Comparing column name lengths is only important if one falls seriously short (like 5-chars) or if your organisation wants_to_name_all_of_their_columns_with_a_very_lon g_description_so_that_everyone_can_know_what_this_ data_represents. imho, most columns/tables/etc can be effectively named in the order of a dozen characters or less.
    I can just see managment deciding that to pick a database based on the chart and not based on things like performance, true scalability (not the glossy version), and as others have pointed out: Application Vendor's recomendation...

    I'm not saying mySQL doesn't have a place in the market, just that they compared a Toyota with a Ferrari and discovered that both had doors, wheels and engines, but oddly one cost more...

    --
    If you think imaginary property and real property are the same, when does your house become public domain?
  104. MOD PARENT DOWN! by Anonymous Coward · · Score: 0

    even the crippled versions of DB2, Oracle, and MSSQL still have the underpinings for advanced features that MySQL doesn't support.

    This comment is an exact copy of a post made 45 minutes later then this post. The only change I noticed was the word "Actually" was removed at the beginning. Mod this post DOWN.

  105. MySQL flag waving? by Hoi+Polloi · · Score: 1

    FTFA: "Indeed it is probably a little unfair comparing MySQL directly with the low-end products from the other vendors as MySQL has been built to compete at the high end with the other vendors' enterprise-class databases."

    The article didn't touch on how procedural SQL (i.e. PL/SQL) support in MySQL compares to that of other vendors. Pretty important if anyone was considering migrating.

    --
    It is by the juice of the coffee bean that thoughts acquire speed, the teeth acquire stains. The stains become a warning
  106. MSDE Based on Access? by TooOldForThis · · Score: 1

    "SQL Server Express is one of two free databases we tested and is actually Microsoft's replacement for its earlier free offering the Microsoft Desktop Engine (MSDE) which was based on the old Access technology"

    Huh? How are we to believe an article that makes such a preposterous claim? MSDE IS SQL Server 2000 with a restriction on the number of concurrent connections. Makes me take the rest of the article with a grain of salt.

    -k

  107. Consumer Reports by Saeed+al-Sahaf · · Score: 1

    Of course you're right. But you know, Microsoft and Oracle would never do something like that! I'll believe database benchmarks when Consumer Reports does 'em.

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
  108. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  109. Re:Correctness isn't negotiable by fitten · · Score: 1

    Correctness covers a lot of things. You could even put transactions under that category (correctness of data at query time), for example.

    Also, if you were worried about free (as in beer) databases, Microsoft (note that I didn't use M$ like a child) has offered a free RDBMS for a long time (Access, which was replaced by MSDE, which has been replaced by SQL Server Express). So, while MySQL *is* a free alternative to SQL Server, I would argue that your product selection to meet your criteria was flawed (as you didn't actually consider various free alternatives).

    And yes, for some queries, MySQL is documented as being able to return incorrect values (as another poster has said). In fact, you should check out this site to see what all else some versions of MySQL do for you that are.... unexpected.

  110. The Real Reason for no cost versions by tomhath · · Score: 1

    IMHO the real reason vendors like Microsoft and IBM offer the no/low cost versions of their database engines is for vendor lock-in. You write a small app, you're not going to buy an enterprise license right away. But by the time you need one you're locked into that DBMS. Or even if you need a big server dbms right away you might need to have part of the app run on laptops that aren't connected to the main server all the time, so of course you will want to use the engine your developers are comfortable using and administering. In that context this review makes a lot of sense. I think the low cost offerings, albeit slightly crippled, are excellent marketing by the big guys. Eventually a percentage of applications will grow into the big money licenses.

  111. *jumping into the fire, though a little late* by bigmaddog · · Score: 1

    So we have "this review sucks" and "MySQL vs the world" debate all at once, which is a great treat for breakfast.

    Yeah, alright, the review sucks. Not the first time and not the last time that someone posted something without reading it, and many people post replies without reading it, too. This still doesn't beat, in my book, the "nanotech sticker extends cellphone batterly life" post from a year or two ago that I can't seem to locate now...

    As for MySQL, I have the same thing to say about it as I do about Windows; just because it's popular (even if I'm using it... teehee) doesn't mean it's good. It's just popular. This is true of everything. Our selection criteria is flawed, based on incomplete or flawed information and on the wrong reasons or reasoning (and, IIRC, on published benchmarks done without record locking, which all the other database vendors generally do not even allow to be disabled). That and the whole "what's better for you isn't better for me" deal - Slashdot is, after all, a biased audience.

    To give a non-technical example, I believe that it's been shown a while ago that, on average, the nutritional value of fruits and vegetables available in your average supermarket is declining, because consumer preference selects for size and colour, which are at best loosly correlated with nutritional value. I'm not saying that software is getting worse - even Windows and MySQL continue to improve, but the aspects of the products that the consumers at large base their software decisions on are only loosly correlated to the quality of the code and the listed functional features of the software.

    And that's my breakfast rant.

    --

    Even as you read this, your pants are strangling your loins! Aaa!

    1. Re:*jumping into the fire, though a little late* by tweek · · Score: 1

      What's really interesting is WHY MySQL was/is so popular.

      It was a free and simple to understand database. Every php app on the planet had a simple set of instructions for installing the database behind it. It basically had going for it the same thing that Access did. Ease of use and an ubiquitous install base.

      You know what's going to eat MySQL's lunch now?

      sqlite.

      Application providers can now distribute a 4k file for an empty database with the application and cut out another step.

      Sure, if you outgrow sqlite, move up to mysql or postgres but sqlite will handle most needs.

      --
      "Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
  112. A small gem from the article... by paologat · · Score: 1
    Relational Database: A collection of "related" databases, for example and travel agent booking system consisting of customer, airline and account details, can be combined and would be referred to as a Relational Database.

    I hope the author is just trying to dumbify the article for an audience of PHBs...

  113. Re: Software company's solution to that loop hole by Martin+Blank · · Score: 1

    EULA violations would come under contract law, which is a subset of civil law. All they have to meet (at least in the US) is preponderance of the evidence -- there is a greater than 50% likelihood that their version is correct -- and they win the case. Once they've presented their argument ("It's nearly impossible for the defendant to have walked away after inserting the media, only to have his cat press exactly the right series of keys to fully install the software"), it's then up to you to refute and show that this is more likely to have been the case.

    Chances are that you would lose.

    --
    You can never go home again... but I guess you can shop there.
  114. Tire-kickers by Doctor+Memory · · Score: 1

    I don't know where you work, but every place that I've worked, I could call a sales rep and get an evaluation version for free. I've done this with Informix and Oracle, I'm sure it's true with DB2 as well (not so sure about SQL Server). They're usually pretty liberal with the trial period too, and the Informix guy kept wanting to send me one of their support engineers to help me port my data over.

    --
    Just junk food for thought...
  115. They're idiots by Fujisawa+Sensei · · Score: 1

    They use MySQL V4.1.14 for their info, and feature comparison. Then in the conclusion the recomend V 5.0. WTF?

    If your going to do comparisons, at least pick the best from the set you're comparing.

    --
    If someone is passing you on the right, you are an asshole for driving in the wrong lane.
  116. Re:Crappy business model... AU CONTRERE by Anonymous Coward · · Score: 0

    ok, i shouldn't have gone french here... -lol-

    health insurance *is* a problem in america. a *huge* problem.

    health insurance for an employee can easily exceed $1,000 per month... and growing at about 10% per year.

    sure, we in america have decided to mask all our financial mismanagement and thievery by setting up our grandchildren to be slaves to our debt... but that doesn't mean the disaster isn't right there... lurking.

    health care costs aren't the whole problem, but they are a major portion of the problem... and getting drammatically worse over time.

  117. VACs in PostgreSQL? by ttfkam · · Score: 1

    Perhaps you haven't heard yet:

    Version 7.4 (or 7.3, I forget) had the option of autovacuum as a standalone daemon.
    Version 8.1 has autovaccum fully integrated into the product.

    Effectively, the administrator hasn't had to worry about manual vacuums for well over a year.

    --

    - I don't need to go outside, my CRT tan'll do me just fine.
    1. Re:VACs in PostgreSQL? by tweek · · Score: 1

      I didn't say otherwise. I know that autovac was included and out new server is an 8.1 box.

      My point was that these are maintenance tasks that have to be run (automated or otherwise) and in 8.1 AutoVac doesn't come enabled out of the box and in previous versions, it was an external process.

      Even with autovac, you have to consider the impact that it has. I've had the autovac slow down my warehouse loads. It's the same reason we haven't turned on auto reorgs in Stinger (UDB 8.2). Sure you can tune the impact but you can't tune the row locking that goes on while it's doing its thing.

      --
      "Fighting the underpants gnomes since 1998!" "Bruce Schneier knows the state of schroedinger's cat"
  118. Unfair comparison by ubergeek65536 · · Score: 1

    The reviewer should have factored in the cost of the hardware. After all what good is an application without the hardware. Why did they choose to use a quad Xeon box? I'm estimating $15-20K for that which brings the cost of MySQL to about half the cost of DB2. Also how do the different engines compare running on different hardware? I know that MySQL runs much better on an Opteron box than a P4 box of the same price point. Is that true for the other database engines? Does DB2 perform better under Linux or Windows 2003? Etc etc.... There are just too many holes in the review to take it seriously.

  119. Re: Software company's solution to that loop hole by Borg_5x8 · · Score: 1

    Genius. This is my new defence. :D

  120. totally bogus by MemeRot · · Score: 1

    Of course they don't ever mention the issue of getting developers who know the product.

    How many DB2 developers are there out there compared to the other platforms?

  121. Re:Correctness isn't negotiable by MightyMartian · · Score: 1

    I've got pretty used to the anti-MySQL crowd around Slashdot. They will go quite out of their way to find bugs real or imagined. I've been using MySQL for five years now as the base of our company's custom billing software, which I originally wrote to work on top of Access. I've had one corruption in all that time, which, considering the hard drive died a week later, probably had nothing to do with MySQL at all. Providing you understand how to construct indexes and queries, the performance is quite good. Perhaps it's not as good as Oracle, but I find with databases that hardware plays a very critical role as well.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  122. And what about Sybase? by zardo · · Score: 1

    Yeah, and they didn't compare Sybase XE either, which from my experience is as robust as Oracle XE but allows more freedoms than Oracle XE. I use Sybase XE over MySQL for smaller projects because the MySQL query optimizer is a joke, and most "benchmarks" that show MySQL to be faster are doing real basic selects. Try joining three tables with foreign keys that form a triad and see how the databases perform, MySQL will most likely take a few hours while the commercial databases finish in under a second.

  123. yank the plug on mysql by Anonymous Coward · · Score: 0

    Mysql is great for development and for non-commercail sites...Over the past couple of years we have seen too many sites go down and DB's corrupt when someone hits the EPO(emergency power off) button at datacenters. The fact is under real load until recently it wasnt even a contender, and don't argue with me about your site and a Million page hits, Im talking real loads.
    I do all my fun projects on mysql, but when it comes to busines and production environments I run Oracle(Linux) and MSSQL. nuff said.

    1. Re:yank the plug on mysql by gujo-odori · · Score: 1

      We use MySQL and have 100% uptime of our system over seven years with a multi-terabyte database in the backend (our SLA with our largest customers is five nines, and we've never missed). Are you sure the problem is the database, not your applications?

    2. Re:yank the plug on mysql by Jamesday · · Score: 1
      The problem in two loss of power incidents, LiveJournal (EPO) and Wikipedia (two circuit breakers tripping) was disk controllers of two brands, both with battery backed up RAM, which didn't turn off the drive write buffers and lost data in spite of the battery backup. One of the vendors used to do that and removed it. It is quite helpful if the disk system doesn't throw away data it claims to have securely written.

      Both places had and have a one data center vulnerability and can't really expect five nines reliability, since that's above what a single tier IV data center can be expected to assure - limit is 99.995%. Both are planning to move away from that single site vulnerability. Wikipedia is still in two to three nines territory, and in a colo which is providing tier II-III capability, and likely to stay that way for two or more years.

      Both probably know what it'll take to get five nines in system architecture. Wikipedia, me included, certainly does, but isn't currently trying. It's still using donations mainly to keep up with growth on a high cost-effectiveness path, not a very high reliability path. OK enough for its route to the top few sites on the net funded by donations but you wouldn't want to do it with so little funding if downtime or less than ideal performance cost money.

    3. Re:yank the plug on mysql by Jamesday · · Score: 1

      Do remember that fire safety codes typically require a data center to cut all power, including all UPS power, if the EPO switch is used. That should take down any single-location site which is following those codes.
      It's not the database server but the fire requlations which mandate this behavior.

      Options include ignoring the law, operating in places with different law and using multiple locations.

  124. It's HIPAA, not HIPA by ezeecheez · · Score: 1

    Didn't anybody edit that before they printed it?

  125. They didn't test speed. by Anonymous Coward · · Score: 0

    Only features.

    They used the "lite" versions of expensive databases specifically to compare featuresets of semi-affordable databases.

  126. Re:Correctness isn't negotiable by Anonymous Coward · · Score: 0

    The "real value" isn't allowed to change until you commit or abort your transaction" (unless the database can prove you would never see the difference). Preventing clients' updates from interfering with each other's work is half of what a database is for.

    The other half is making sure that what you read matches what you last wrote. Early on the MySQL developers grew quite a reputation for being careless about both of these.

  127. Not really upset at all by rk · · Score: 1

    Just so's ya know. I just like to actually have the game if I'm going to have the name. That was the whole point of that second post... that was real overrated flamebait! Note how the supposed "flamebait" post got no replies, but you replied to this one!

    Hell, I don't care if anybody listens to me, and I'm not out to prove anything. I say what I mean and mean what I say (well, usually) and don't really care if I get modded up or down, I've got /. karma to burn. Sometimes, not all the time, I just like to stir the shit.