Slashdot Mirror


MySQL Developer Contests PostgreSQL Benchmarks

Lucas Marshall writes: "Developer Shed has an article written by the main MySQL developer Michael "Monty" Widenius in response to Great Bridge's press release reported here on Slashdot on Monday. He makes some pretty good points about fair benchmarking and software competition."

177 comments

  1. Re:show me the numbers by Ded+Bob · · Score: 1

    Interestingly, he does not compare against PostgreSQL v7.0. :)

  2. So... by rm+-rf+/etc/* · · Score: 2

    Perhaps you should change your statement to say that MySQL is not a RDBMS, as an RDBMS != database. A database is simply a collection of data organized for easy retrival. Hell, most anyone will agree that MySQL isn't an RDBMS (cuz it's not...), but they're next response, and mine, is likely to be "So what?"

    1. Re:So... by Erik+Hollensbe · · Score: 1

      well then... this argument and all these flames should not even exist.

      Most of us working with DB's know that MySQL is a glorified CSV data handler with network functionality.

      The point is, is those benchmarks tested RELATIONAL databases. MySQL could have at least entered teh gamut had it at least supported a standard set almost 9 years ago for RELATIONAL databases.

      This is what pisses me off. The people defending MySQL need to do a little more reading and a little less writing, "I'm right because that's what I've been told!".

      -Erik-

    2. Re:So... by MikeBabcock · · Score: 2

      You're right in saying that MySQL's speed should not be tested against full RDBMS solutions without a qualifier saying that they provide more functionality than it does. However, even if you were to write an external piece of software in C to handle the functionality you need from Oracle for your MySQL backed database solution, you'd most likely (feel free to test it) still be much faster than Oracle.

      When I use MySQL, I add the functions I need as per the documentation. If I need some form of atomicity, I implement it in my software. My software + MySQL becomes my full database package. That's what most people using MySQL are wanting out of it, a back-end database solution.

      That said, the benchmarks are still valid (if tested properly) because a programmer can decide "do I need speed, or the features available in a full RDBMS?" and then choose appropriately.

      --
      - Michael T. Babcock (Yes, I blog)
    3. Re:So... by Erik+Hollensbe · · Score: 1

      LOL! (someone who sees the parent to this at 0 should moderate this post up)

      I agree - in fact, I am taking a job in mysql/perl next week over an oracle/perl job. MySQL has it's uses, but has no domain in this benchmark, which is what all this bickering is about.

      In fact, I personally think the only reason it got included was to PREVENT this discussion, which of coures, a lot of good that did.

      -Erik-

  3. Re:Now that is the way for the companies to settle by dash2 · · Score: 1
    Ladies bring your laptop, first team to develop and record all the male audience members name and phone numbers wins.
    Nude mudwrestling would develop my member pretty fast.
    ----------------------------------
    What are the weapons of happiness?
  4. Re:That Widenius guy should learn English by TheSnakeMan · · Score: 1
    could you have written that article in Finish[sic]? Or indeed any other language other than English?

    No, I couldn't have. But knowing that, I wouldn't have tried, either.

    --

    They're putting dimes in the hole in my head to see the change in me.

  5. Re:Hardly. by Pathwalker · · Score: 2

    Here's a practical example.
    Let's say you wanted to set up a slashdot style message base. You could start out with the following:

    -- Posted Stories

    CREATE TABLE "my_comments" (
    "text" lztext,
    "id" SERIAL,
    "date" timestamp DEFAULT 'now()'
    );

    -- User comments
    CREATE TABLE "user_comments" (
    "text" lztext,
    "section" int4,
    "name", char(60) default 'anonymous',
    "mail", char(60) default 'none',
    "web", char(60) default 'none',
    "parent" int4 DEFAULT 0,
    "id" SERIAL,
    "date" timestamp DEFAULT 'now()'
    );
    create index user_parent_index on user_comments(parent);
    --(unique indices are implicitly created on the id fields by the SERIAL type)

    Ok - posted stories go in my_comments,
    and the user replies are stored in user_comments,
    with user_comments.id being a unique id for every reply, section indicating the story to which it is
    a reply, and parent indicating the comment to which this is a reply (to allow threading).

    Let's say you run into problems with users editing
    the URLs used to access this system, and they start leaving random comments scattered in hidden places in the system. Let's suppose you want to stop this:

    ALTER TABLE user_comments ADD CONSTRAINT user_section_constraint FOREIGN KEY (section) REFERENCES my_comments (id)
    MATCH FULL
    ON DELETE CASCADE
    ON UPDATE CASCADE
    DEFERRABLE;

    There - now all replies have to be to a valid story. You also have the advantage that if you delete a story, or change the ID of a story, all of the comments get either deleted or updated as part of the same transaction.
    --

  6. Re:this dude needs a grammar checker by maeglin · · Score: 1

    I'm sure he probably has excellent grammar.. in his native language.

  7. Joke? by ccoakley · · Score: 1
    And of course, in the real world, nobody ever actually inserts and selects at the same time.

    I don't get this. Are you trying to be funny? If so, explain your Try to find legitimate things to complain about.

    A common query I do (on a MS SQL Server 7 system) is something of the form:

    INSERT ... ; SELECT @@IDENTITY AS ID

    Our database is heavily interconnected, as our system models the decision making process of a number of people. That being the case, you often need to input a record with all of the required fields, then do some analysis on the ripple effects before refining the data stored on the inserted record. Nearly any fuzzy logic system is going to want to do that. Also, it seems that web sites might want to use a similar query for logging user activity durring an active session.

    Now, to be a little more on topic: There is a LOT to be said about tweaking SQL statements for a benchmark. A few months ago, I had a query that took over three minutes to execute, but was able to rewrite it as three seperate queries that extracted the same data that took a total of 10 miliseconds to execute. Oders of magnitude difference, all because I wanted a bunch of nulls to appear (the three queries generated a two dimensional coordinate system and left nulls out but ordered the data so that the nulls could be inferred). I've run into a number of instances that were similar. Some types of set processing are inherently faster than others.

    --
    Network Security: It always comes down to a big guy with a gun.
    1. Re:Joke? by MikeBabcock · · Score: 2

      No, its more comparable to Lamborghini saying 'well, Ford only wins in those car magazines because they have three cup holders and we don't have room for those. But we're faster.'

      Of course people drink coffee while they drive, but Lamborghini drivers are more interested in a small car with raw speed than having such luxuries.

      Keep things in perspective.

      There are many, many uses for a very fast select database that doesn't do frequent inserts (if you can't think of any, consider the site you're on right now).

      --
      - Michael T. Babcock (Yes, I blog)
    2. Re:Joke? by SuiteSisterMary · · Score: 1

      Hmmm. I don't know if slashdot actually keeps the user comments in the database, but I'm assuming yes. That's an insert, and they're fairly frequent.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    3. Re:Joke? by SuiteSisterMary · · Score: 1

      Sarcasm must be a lost art. OF COURSE most people do selects and updates and inserts on the same table. The data has to get there somewhere. I was lambasting the guy for whining that "the only reason PostgressSQL people use that particular thing for their tests is because MySQL doesn't do it well." That's like Ford saying "The only reason GM keeps touting the fact that their cars can go over 2 kilometers per litre is because oursc can't, so it's a worthless benchmark of car efficiency."

      --
      Vintage computer games and RPG books available. Email me if you're interested.
  8. Re:Doth he protest too much? by Evangelion · · Score: 1


    Solaris isn't meant to run on x86. That's mostly a PR Port.

    Solaris is for running on Sun boxen. It's good at what it does (even if it's stock install is a bit under-featured - install the GNU tools as soon as you boot it up =).

    If you're building a network or application platform, your OS should either follow or dictate your hardware choice - they should never be chosen independantly. If you need to run servers under Solaris, that means you get Sun boxen. If you need to run servers on x86 boxen that you've already bought, you choose *BSD (or Linux, if that's your thing).

    Putting Solaris on an x86 would be the same as putting Linux on a Sparc - yeah, it will work, but why bother?

    --

  9. Compaq Test Drive - Oracle on Linux for yourself by paled · · Score: 1

    Compaq offers test drives on 8-way servers for free (registration required). Oracle offers testing on the Internet Appliance Platform for free for Partners.

    What do you think about a LUG pooling spare hardware to put together 1 big box (yes, you'll hit the 1 CPU wall) but you need at least 8 hard drives and 1 GB of RAM to really take an Oracle DB out for a run - kinda like never getting above 3500 RPM in third gear.

    Oracle 8i Release 2 Standard Edition now supports 4 CPUs. I can't wait until Intel releases their commodity 4-way chipset this spring (too bad AMD can't jump past them on that one).

    --
    .
  10. Re:That's absurd by Khazunga · · Score: 1
    The really big point, is that most developers ignore problems that may arise from concurrency.

    In most situations where MySQL is used, it shouldn't be, because it can't handle concurrent connections, because it is missing ACID features, namely A nd I.

    Ignoring a problem doesn't make it go away.

    --
    If at first you don't succeed, skydiving is not for you
  11. Hardly. by oGMo · · Score: 3

    The "last line of defense"? Hardly. See the Functionality missing from MySQL section.

    Summary:

    • No sub-selects (these "might be" available in 3.24)
    • No SELECT INTO.
    • No transactions. (Unstable development software does not count. If you have someone who wants to commit their data to an unstable version of a database, get a new DBA.)
    • Stored procedures and triggers. ("We want to add this in the future")
    • Foreign Keys (there are given "reasons NOT to use FK's" which scare me considerably if the developers of a database actually believe this!)
    • Views (again, "in the future")
    • "--" for comments (because they happen not to like this! Well, screw the standard, who needs one, right?)

    MySQL has no referential integrity. (Under some definitions, this excludes it from even being considered a RDBMS.) It certainly lacks PostgreSQL's object-oriented capabilities, which are highly useful, such as table inheritence.

    PostgreSQL has all of the above features, and has had them for some time (with the exception of FK's, which are new to 7.0). It is stable and well-tested. MySQL developers are still working on these features. I'd say MySQL has quite a way to go before it reaches PgSQL's "last line of defense".

    --

    Don't think of it as a flame---it's more like an argument that does 3d6 fire damage

    1. Re:Hardly. by mortonda · · Score: 1

      wow... :P Well, I see I have a lot to learn... thanks!

    2. Re:Hardly. by mortonda · · Score: 1

      For those of us that haven't done much with databases... what do foreign keys do?

    3. Re:Hardly. by alexhmit01 · · Score: 2

      A reference to a primary key. However, a foreign key supports integrity because you know that the item with the primary key is there.

      Delete the primary, delete things referencing it. It's great, you don't have to putz around trying to maintain consistent data.

      The answer of let the client do it is naive. It means that you can't allow more open access to the backend, only controlled client. Also, if the machine dies (someone shoots the powersupply?) in the middle of a bunch of delete and you get these orphaned entries.

      We're using Slash (MySQL based) and a database system some "consultants" did for us that is MySQL based... I want to cry.

      The lack of Views has resulted in a simple join taking 30 seconds. We're stuck building a View (generating a table every day) to optimize this.

      The list of missing features is painful. And no, I won't run the Development version.

      Converting to Postgres for much of our functionality is going to happen over the next month or two.

      Alex

  12. Good idea, but difficult by twit · · Score: 2

    It's a good idea to test platform vs. platform to figure out benchmarks. However, part of my paid employment is DBA work, and I've come (with painful time and experience) to realize that a great deal of your database's performance is a matter of tuning and configuration.

    That said, you can set up a very generic, very simple system to test the performance of various RDBMS. It will give you an idea of the minimum performance which you can expect, but it won't give you an accurate idea of what those RDBMS are capable of when running at peak performance.

    Finally, database choice is, in the commercial terms, almost always dictated by factors other than pure performance. Availability of quality staff (tech support and DBA's) is a big one, since labour is more expensive than hardware. Software compatibility, even terms of the RDBMS license. Pure performance seems to be the third or even fourth criterion.

    JMHO

    --

    --

    --
    There is no premature anti-fascism. -Ernest Hemingway
  13. Can the ODBC drivers really be the bottleneck? by doom · · Score: 2
    Quoting from Michael "Monty" Widenius:
    The way to set up the databases in a test is also very crucial for the performance of the database. The article doesn't mention anything about this or even with which ODBC driver they used the different databases. The defaults for MySQL is for a database with moderate load and it should take very little resources. MySQL also have two ODBC drivers, one slow with debugging and one fast. It should be very nice to know how they actually did use MySQL. To get any performance from Oracle, on has also to tune this a lot; The ODBC driver for Oracle has also very bad performance; This is a common known fact; No one runs a critical system with Oracle and ODBC.
    I relayed the suggestion that the trouble with MySQL's performance might be in the ODBC driver to the postgresql development team. They insist that this can not be the case. I'm going to take the liberty of quoting Thomas Lockhart: "If it were due to the ODBC driver, then MySQL and PostgreSQL would not have had comparable performance in the 1-2 user case. The ODBC driver is a per-client interface so would have no role as the number of users goes up."

    They also make the point that the AS3AP test is a read-only test and should have been a piece-of-cake for MySQL, if you believed MySQL's slashdot-enhanced reputation as the ultimate in select-oriented web apps.

    (Myself, I find this whole situation imensely amusing. MySQL has been sticking misleading benchmark results up on their web site for ages, and now they're whining that someone else has stolen their trick...)

    1. Re:Can the ODBC drivers really be the bottleneck? by PigleT · · Score: 2

      ODBC drivers vary. I used to work for a company purveying fairly rapid ODBC (and other connectivity) drivers, and we just avoided benchmarking altogether saying "go run your own"; probably this was a fairly wise move, all things considered ;)

      I notice that neither the original article nor the MySQL refutation talk in *any* detail about "tuning"; did PostgreSQL have its -F argument set on the postmaster, as that has given me a 4-fold speed improvement on mostly-insert/update applications demanding speed?

      I'd agree with the 'horses for courses' thing, of course. The `advertising' is badly done, but publicity can't be all that bad. And postgresql still *is* a very reasonable database for a lot of applications regardless of the quality of the plug.

      ~Tim
      --
      .|` Clouds cross the black moonlight,

      --
      ~Tim
      --
      .|` Clouds cross the black moonlight,
      Rushing on down to the circle of the turn
  14. Postgres (from a new postgre user) by peterdaly · · Score: 3

    I don't know how fast postgres really is. I am in the process of switching a few gig databases from MS SQL/IIS/php to Linux/PostgreSQL/php. Let's not get into an "internal war" over these benchmarks. To me, a "enterprise user", all that really matters is postgreSQL can compete with commercial systems for gig+ DB's.

    Based on my requirements, and the need to have SQL 92 support (to port apps from larger systems, etc) mySQL and Postgres fall into different leagues. For sites that do not require the complex queries I do on a regular basis, mySQL is fine. That is what most Slashdot/php developers will ever need. I am having a hard enough time "betting the farm" to a free DB, that I know supports all the SQL I use.

    There is a common mindset that benchmarks are biased, no matter who does them, or why. They are more to prove a product capable then to compare two products to one another.

    Frankly, I'm impressed with how fast postgres can pull an 8k record out of a 1 gig table. It blows MS SQL server away for some things, while the boat rocks the other direction for "select DISTINCT field from table". (The same 148,000 record table.)

    I liken the PostgreSQL benchmark to the Mindcraft study (The postgresql support company payed for the benchmarks.) While the actual performance figures of mySQL/postgresql many not be "fair", postgresql will fill a role for me a can't quite bring myself to use mysql for, and the next choice would be IBM DB2/Linux, which lacks good php support, and has much higher fees (to say the least!)

    I hate mySQL users who have never used anything else saying "mySQL rul3z!", which I know will start to soon filter in (and down I hope) to this discussion.

    -Pete

    1. Re:Postgres (from a new postgre user) by protovirus · · Score: 1

      It seems odd to me that you should hate MySQL users exclusively when they brag about what they use. MS SQL...well it sucks (and yes I have used it in production). Oracle is well...bloated and complete overkill for most web work. Many of it's 'features' just get in the way. MySQL is great for select oriented web work but when I hit a few million queries/inserts a day on anything I am responisble for...you can bet your ass it will be using Oracle especially if it requires transactions (and people...sorry to tell you...regardless of what you have been told...not everything needs transcations. There was a reason TCX left them out). I will have to try PostgreSQL again soon, but the last time I checked it out it ran badly(that was a while back...admittedly). I see no reason to flame MySQL for it's lack of features over and over. The people at TCX have created a fine product and I am sure that newer versions of PostgreSQL are much better than previous releases. This doesn't mean I am going to go back and port everything over to PostgreSQL. They actually ran this test on a single processor pc?

  15. Nag nag nag by mholve · · Score: 1

    My mother always told me to run the vacuum() once in a while too...

  16. Benchmarks usually flawed by AlienHosting · · Score: 1

    Benchmarks are usually flawed. The author conducting the tests probably has a preference. I care about how a database works in the real world for what I AM TRYING to do. All SQL Database Servers have benifits in some areas also they have weak ends. Ignore the Benchmarks.

    --
    www.alienhosting.com --- $9.00 a month webhosting.
    1. Re:Benchmarks usually flawed by pergamon · · Score: 1

      well, frankly, i would like to see a good benchmark.

      i'm building a huge site which will have a ton of data stored in a database. i don't need much in the way of functionality beyond simple joins, sorting, etc. so i'd like to see which of the choices i have (mysql, postresql, interbase, oracle are the ones i'm considering) will let me do what i need (and all of those will) the fastest...

  17. Re:I think a contest... by pohl · · Score: 1

    I swear, nobody learns to pool connection objects.

    --

    The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

  18. Re:Telling quote from the article. by pdw · · Score: 1

    And of course, in the real world, nobody ever actually inserts and selects at the same time.

    There are a fair number of applications, especially web-based ones, where selects will be far more frequent than inserts. It depends entirely on the application.

  19. Independent testing by dizee · · Score: 1

    The logical method of independent testing is to allow the developers of each platform to set up their respective database with whatever tweaks they want, so that you assure that it isn't the tester's fault that the benchmarks are skewed (such as the original Mindcraft test where they like had the Linux box set up all retarded with only 64MB memory enabled, etc, etc).

    Then the independent party runs the actual benchmark. Assuming that the independent testing party is TRULY independent, you should get fair benchmarks.

    Note that that still doesn't mean one is better than the other than real-world applications, because somebody's real-world application isn't going to be someone else's real-world application.

    Real-world is a stupid phrase, since it involves too many ifs.

    Like I said in an earlier post, you really need to test them yourself.

    Mike

    "I would kill everyone in this room for a drop of sweet, tasty beer."

  20. Re:You should drag it out anyway by SuiteSisterMary · · Score: 5

    ACID stands for Atomicity, Consistancy, Isolation and Duribility. Atomicity means, basically, a transaction. A series of commands are issued, then either commited or rolled back. All happens, or none happens. The classic example is doing an update on Joes_Account_Balance to subtract 100 dollars, then failing to do the update on Suzys_Account_Balance to add 100 dollars. The transaction failed, so it should be rolled back so that the 100 doesn't get removed from Joe. Consistency means that the database must always be in a valid state, and that usually means rules are enforced. If there's a database rule that states that any subtraction of 100 dollars from an account needs to add a record to the audit table, so you subtract 100 dollars from Joes_Account, but the audit table cannot be updated due to disk full/network break/act of Gods/whatever, then the subtract needs to be rolled back, or not happen in the first place. Isolation means that users don't see other users. If two people are both doing multi-stage updates to Joes_Account, user one doesn't see the fact that user two just did an insert, and an update. Durability means that if bad things happen, the database survives. Logs, backups, that sort of thing.

    --
    Vintage computer games and RPG books available. Email me if you're interested.
  21. Re:show me the numbers by peterdaly · · Score: 1

    It is my understanding these benchmarkes are of an older version of PostgreSQL (I didn't see a version number.)

    7.0X is supposed to having major performance increses over the older 6.x versions.

    -Pete

  22. Shut your whining piehole. by Pinback · · Score: 1

    Of course Monty doesn't like the test results, they're unfavorable to his product.

    I get tired of seeing MySQL always be the test case in turorials. Postgres needs more coverage.

    Come on, MySQL isn't even under the GPL.

  23. Re:show me the numbers by Jason+Earl · · Score: 2

    Yes, the MySQL folks have created their own set of benchmarks because they do poorly in the standard benchmarks created by the rest of the industry.

    The reason for this is quite obvious, as Monty himselfs says in the article:

    MySQL 3.22 is for example not very good for mixed inserts + selects on the same table

    So because MySQL does so poorly on the TPC standard benchmarks, they created their own. Now, if the PostgreSQL guys can be considered biased for using industry standard benchmarks, then I can't imagine the word for MySQL's benchmarks. Whatever the word might be, it would have to be far stronger than simply "biased." First of all MySQL's benchmarks run as one single process. In other words, if your "real world" consists of multiple clients then MySQL's benchmark is nowhere near "real world."

    In other words MySQL's benchmarks are customed tailored to highlight MySQL's strengths, while ignoring the strengths of most other databases.

    I have said it once, and I will say it again. If your database is going to be mostly read-only, and if you aren't worried about the myriad of features that PostgreSQL has that MySQL doesn't, well then, you would be better off using MySQL. If, on the other hand, you will be both writing and reading from your tables (at the same time), or if you need transactions and ACID capabilities then PostgreSQL is a far better choice.

    The sad part (for MySQL anyway) is that PostgreSQL can be set up so that it competitive as a read-only database. It takes a little more work (clustered indexes, disabling fsync, etc.), but it is do-able. If you need PostgreSQL's features, however, MySQL is not going to get you there.

  24. Re:MaxSQL by Anonymous Coward · · Score: 1

    AFAICT foreign keys and other relational integrity constraints are still on the back burner. So far all they're claiming is that MaxSQL adds reliable tables.

  25. Benchmarks inherently flawed by Anonymous Coward · · Score: 3

    I have a large distrust of most benchmarks anyway, as they usually want to test under "real world" conditions that, in practice, are almost never real world.

  26. Re:Speaking Of Independent DB benchmarks by Kragen+Sitaker · · Score: 1
    "Carnage4Life" wrote:
    As can be seen from this story these tests involve several thousand transactions per second and not several hundred as reached by this Great Bridge sponsored benchmark.

    Throughput claimed in the article was 440,880 transactions per minute, or 7348 transactions per second. This was on a cluster of 32 IBM Netfinities, so that's 230 transactions per second per Netfinity. Furthermore, according to another post in this thread, those were all four-processor machines --- presumably because otherwise processor speed would have been a bottleneck --- so we have 57 transactions per second per processor.

    I'm not saying, of course, that database benchmark numbers scale linearly as you add CPUs. I'm only saying that the fact that IBM can get 7000 transactions per second out of DB2 on 32 servers costing $14 million does not demonstrate that you are a bonehead if you can only get 300 transactions per second out of Oracle on a single PIII-600 costing $20,000 or so.

    I still suspect that the benchmarks were unfair, but they do show PostgreSQL is getting faster.

  27. Stop this pointless FUD-ing by sparcE · · Score: 2
    I'm totally sick of the flamewars. What we need to see is some real testing of these damn systems. I've yet to see a solid recommendation for *either* postgres or MySql from a really reputable source (sorry, the fact that /. uses MySql isn't enough for me). By this I mean someone who's been using one or the other in production with *lots* of data and heavy traffic. Various FUD rumours abound about both databases--i.e., that data gets corrupted in large databases in Postgres, and that MySQL will let you somehow screw up your data if you use their pseudo-transaction features. I really hate to let such Micro$oft-like tactics keep me from using these databases in production.

    I agree that Great Bridge's study was at best badly presented. We need better studies and better testimonials about these rather vital open source products, so that we can start crushing Oracle and SQL server with Open Source. The flamewars we're getting instead are just pointless and counterproductive. At least KDE and Gnome don't go around FUD-ing the stability of each other's software (well, maybe some).

    LONG LIVE OPEN SOURCE MOVEMENT AND THE SOFTWARE COMMUNISM!

  28. Re:MySQL Connection Failed by pryan · · Score: 1

    No one sees the irony?

    It's a necessary part of your daily intake of ideas.

  29. let the article speak for itself by The+Mad+Hawk · · Score: 1

    Am I the only one who had trouble reading the article because the MySQL server on the article's host site had stopped working? Quite an argument for the stability of PostgreSQL, I should say.

    1. Re:let the article speak for itself by not+cool · · Score: 1

      I wondered the same thing. I exchanged emails with a devshed guy and he said it wasn't mysql that slowed things down. He claimed that the main site uses php/mysql but the forums use perl (not mod_perl) and flat files.

      That would explain it don't you think?

      --
      not cool, not a nerd, still here, still interested
  30. Re:Be honest. by Baki · · Score: 1

    I wonder why especially those Mysql users are always so fanatic/religious about their database. That makes me very suspicious.

    Just take the right tool for the right job, but people that claim their tool/religion/ideology is the One True Way make me stay away from their thing.

    If normal, rational reasoning doesn't work and one has to resort to fanaticism, there is usually something wrong.

  31. show me the numbers by B1ood · · Score: 2
    statistics are almost always twisted to show one side of an argument. but yet, i wonder why this developer didn't show us some of his own numbers rather than just discussing how unfair the previous benchmarks were. i'd really like to see the developers of the major SQL compliant db's submit what they would like to see in a benchmark and then agree on a test set.

    B1ood

    --
    Note to self: pasty-skinned programmers ought not stand in the Mojave desert for multiple hours. -- John Carmack
    1. Re:show me the numbers by Spoke · · Score: 1

      Your "numbers" on the mysql site don't even include the latest release of Postgres (7.0.2) which contains many significant speed improvements. Meanwhile, and alpha version of mysql is being used. Your "numbers" as such are rather useless at this point in time. I really wish moderators would look at the information in posts first before modding them up.

    2. Re:show me the numbers by pergamon · · Score: 1

      well, i can't claim to know the motivations for this omission, but my guess is that the cause is lack of time rather than trying to hide anything. in any case, i too would like to see that comparison.

    3. Re:show me the numbers by MrBrklyn · · Score: 1

      I'm not sure what you mean by "Why didn't he show the numbers". MYSQL has a bunch of Benchmark results in the docs and the testing methods. He also had said that Postgres has a fatal BUG which prevented Postgress 7.0 from being tested.

      What more do you want than full disclosure and honest assesment?

      Ruben

      --
      http://www.mrbrklyn.com/amsterdam.html http://www.brooklyn-living.com
    4. Re:show me the numbers by Sendy · · Score: 1

      A quote from the article:
      "One thing that also is interesting is that they don't mention which PostgreSQL version they are using. It's very unlikely that they did actually test PostgreSQL 7.0 as this has at least one very fatal bug in the index handling which made it useless for benchmarks (at least when we did a test run on it)."

      That is probably why.

      gr
      Sendy

      --
      GNU guru and mainframe hacker
    5. Re:show me the numbers by nconway · · Score: 1
      There are a couple problems with the MySQL benchmarks - I'm not saying the Postgres benchmark were perfect, but they're FAR better than these. From the page:

      As some entries are posted to us from anonymous MySQL users we can't guarantee that all benchmarks are completely accurate

      Okay, these are MySQL users for one thing. As anyone who has seen the Slashdot SQL flamewars, MySQL users tend to be quite rabid when it comes to their choice of RDBMS. At least the Great Bridge results can claim to be from a reputable database company (not a professional benchmarking house). Xperts Inc. have a reputation to uphold. I wouldn't be surprised if more than a few people fudged the results. I wouldn't be surprised if some of the MySQL people chose to fudge the results a bit. At the very least, they would probably choose to concentrate on the aspects of RDBMS performance that MySQL exceeds at.

      Because these benchmarks are from MySQL users, we know they all have at least 1 skill - MySQL administration and/or use. We don't know if they know *anything* about any other databases. It stands to reason that many MySQL fans would spend a couple weeks optimizing their database for a production environment, then stick a stock install of Postgres or DB2 on the same machine and benchmark away.

      Finally, these results are anonymous. While I'm all for freedom of speech, this is one area where authentication matters. Oh wait - I think I'll just submit some anonymous numbers to MySQL.com - it looks like Postgres is 10x faster than MySQL for pretty much anything on my computer!. What's that? I disabled my L2 cache and under-clocked my CPU for the MySQL tests? Nonsense! (end sarcasm)

      I don't think the MySQL.com results are definately biased, but they are definately worse than the Great Bridge results.

    6. Re:show me the numbers by Ded+Bob · · Score: 1

      Oops. I missed that. :)

    7. Re:show me the numbers by ackthpt · · Score: 1

      statistics are almost always twisted to show one side of an argument

      That's why some folks say, "There's lies, damn lies and statisitics.

      Helps to know who's running them, what their setup is and how impartial they are.

      Vote Naked 2000

      --

      A feeling of having made the same mistake before: Deja Foobar
    8. Re:show me the numbers by ichimunki · · Score: 1

      Why would you use 7.0, when they are up to 7.0.2? Surely a fatal bug in index handling has been fixed.

      --
      I do not have a signature
    9. Re:show me the numbers by yomahz · · Score: 1
      We will update our benchmark comparison web page with PostgreSQL 7.0.2 shortly, to give another picture of this story.

      Taken from the 2nd paragraph in the article.
      --

      A mind is a terrible thing to taste.

      --
      "A mind is a terrible thing to taste."
    10. Re:show me the numbers by pergamon · · Score: 1
      he *DOES* show numbers. check the website:

      http://www.mysql.com/information/b enchmarks.html

    11. Re:show me the numbers by Christopher+Thomas · · Score: 4

      Following the links from the page with the article, I find MySQL's site with their own benchmarks of MySQL vs. Postgres: http://www.mysql.com/information/benchmarks.html .

      The same page contains benchmarks against other popular databases as well.

      NOTE: Pay attention to the numbers, as well as the bar diagrams. The bars are all clipped at the right side of the chart, which is misleading for a few rows.

    12. Re:show me the numbers by synx · · Score: 1

      well considering that postgresql 7.0 is at least 3-5 times faster than the 6.5 release, there is plenty of reasons not to use the 7.0 release. 'oh, its beta still, and we dont test beta' - just fudge factor again... everyone does it.

      but still, from a basic rdbms design perspective... mysql loses out. sorry, it just does, well im waiting with excitement for the sleepycat 'transactions' to fail miserably. yes!

  32. The Real Problem is Compatibility by pryan · · Score: 2

    Why do people take their benchmarks so seriously?

    It is because people view choosing one software package over another as a serious commitment to one software package. Indeed, this is how the world operates, but this is not a good thing. I wouldn't mention this, but the adapatation layers necessary to obliterate the distinctions are inefficient themselves! How yucky can this situation get?

    Choosing one software package over another, such as MySQL over PostgreSQL, should not make it difficult later to switch. This is where the focus should be instead of bitterly crusading under the banner of one package over another. Even with the best of evaluations, a choice represents a judgement over a fixed set of data, both current facts and speculated future facts. It is, in effect, establishing a constant choice in a dynamic environment. Obviously the choice will be soon invalidated.

    If MySQL is the best choice now, and in the foreseeable future, the unforseeable future will silently sneak up on you and invalidate all your hard won conclusions. Loyalty to one software package is based on merit, and merit changes over time. Instead of investing so much time with benchmarking to get people to create brand loyalty under the guise of merit loyalty, effort should be directed to making the transition between software packages seemless.

    Benchmarks should always be carried out through an adaptation layer. When software packages do poorly when compared with each other through this abstracted layer, it is up to the authors of the packages to optimize their code against the abstracted layer, not to bitch and moan about how unfair the world is and if someone would take the time to perform specialized tweaks on their package it would have run much better.

    If PostgreSQL makes significant optimizations to the backend that would double the capacity of my application if only I were using it, I want it to be as easy as possible to make the switch. I do not want to violate the abstraction of the layer between me and the backend, because I'll just get trapped. If I allow this to happen I may as well have written to the native interface of the backend and plunge myself to the hilt where I get better performance and screw the opportunity cost of other packages improving or new ones coming down the pipe.

    I would prefer effort be focused on making the ODBC drivers more efficient. The value in having competing database systems is to be able to switch between them based on merit and have the transistion be as painless as possible. Any time I see a battleground based on brand loyalty I see a situation where people are directing effort in the wrong places.

    If it were more painless to switch software packages, there would be less bickering and more sharing.

    </rant>
  33. Yes and no, but MySQL is being marketed as more... by FallLine · · Score: 4

    I agree, MySQL has its uses. It is, in some instances, a vastly superior tool to the alternatives. MySQL's problem, however, is largely created by themselves and their zealots. They have effectively billed MySQL as a replacement for commercial RDBMSs. That is equivelent to marketing a swiss army knife as a be all and end all replacement for every tool it offers. Yes, it looks something like it. It functions something like it. But that doesn't mean it is it. Nor does it mean that the swiss army knife has even 1/10th the engineering as the devices it replaces. That is essentially what MySQL is, an overglorified swiss army knife where people _might_ want to use an RDBMS. ...It's lighter, it's cheaper, it's quicker in some cases...but that doesn't mean people haven't made horrible mistakes by employing it. I can understand how many developers and database types get a bit annoyed with this....

    PS: What exactly does "improving at open source speed" mean? If it means that you think MySQL, or for that matter any truely open source developed RDBMS, will ever be able to go toe to toe with the likes of Oracle or Sybase, then I'd take your bet any day. No previous Open Source project has ever taken on something of this size and complexity, and come out on top. So please don't tell me about this much fabled "open source speed" until it is a reality.

  34. Of COURSE these benchmarks don't mean anything... by SuiteSisterMary · · Score: 1

    MySQL isn't a database. It's a filesystem with a SQL frontend. Hence, the benchmarks are worthless anyway.

    --
    Vintage computer games and RPG books available. Email me if you're interested.
  35. Re:Developer Shed a pr0n site? by Anonymous Coward · · Score: 1

    The pop-up is there to remind you that Javascript should be switched off.

  36. Re:Doth he protest too much? by rho · · Score: 2
    Solaris isn't meant to run on x86. That's mostly a PR Port.

    Never heard it put that way .. a PR port ...

    It (x86 Solaris) works okay -- I'm just not much of a Solaris guru. The main killer was I couldn't get Netatalk (Appletalk services) to compile under x86 Solaris 8, and I'm not enough of a guru to figure out what went wrong. So *pfffbbbllt* -- away Solaris went.

    --
    Potato chips are a by-yourself food.
  37. Be honest. by CodeRx · · Score: 4

    How many of you are just reading the comments on this article for the inevitable mysql vs postgresql vs commercial db flame fest? :)

    1. Re:Be honest. by Vladinator · · Score: 1

      Sadly, yes - that's me! I don't understand either yet. Once I'm done with Learning Perl, I'm getting ORA's MySQL book.


      Fawking Trolls!

      --

      "Going to war without France is like going deer hunting without your accordion." - Jed Babbin

    2. Re:Be honest. by rob1imo · · Score: 1
      That?s the wrong book to get. If you have been following /. for the past couple of months, you should remember the review of New Riders MySQL, where many people testified to it being the better MySQL book, if you are going to buy one (plenty of documentation is available online, too).

      Any article about GNOME or KDE is fun, as is any article about any one of the three P?s -- Python, Perl, and PHP are guaranteed flamefests, too. The DBMS flame war is just heating up now.

      I read the comments just for the flame war, too. You see Scott? We?re not that different. I am even male and have brown hair! It just happens that I'm not a hazel eyed, four times married, 30 year old, 241 pound fatass!

      --

      --

      --

    3. Re:Be honest. by KilobyteKnight · · Score: 1

      How many of you are just reading the comments on this article for the inevitable mysql vs postgresql vs commercial db flame fest? :)

      I'm reading this for the intelligent, thought provoking discussion which is sure to follow... err.. OK, you're right.

      --
      When will Windows be ready for the desktop?
    4. Re:Be honest. by holzp · · Score: 1

      okay. you caught me. doh!

    5. Re:Be honest. by ndfa · · Score: 2

      not completely true... this article is not trying to start anything. I mean you really cant compare Oracle and Informix to something like Access or MySQL. They are not even trying to aim at the same market. PostgreSQL with its enhancement in features still fall short of some of these commercial db's, and that cause it still has the feel of an academic DB! A very nice DBS nonetheless!! But lets not try to say companies with Tera bytes of data can switch over! That said... PostgreSQL team is doing some great stuff, and MySQL remains strong in its position as a fast lightwieght DBS.

      --
      Non-Deterministic Finite Automata
    6. Re:Be honest. by drq · · Score: 1

      i suppose. but the reality is mysql doesnt hold a torch to postgres and interbase.. not to mention other. can we say ATOMIC. nugh said. Q

  38. Re:Benchmarks by Lozzer · · Score: 1

    A couple of hours to download, install, setup test and tune Oracle? That'll be the day.

    --
    Special Relativity: The person in the other queue thinks yours is moving faster.
  39. Didn't we expect this to happen? by icqqm · · Score: 1
    Same with Linux/WinNT benchmarks, or Apache/IIS benchmarks, each side will argue until they're blue in the face. How many of us read the first article and thought this was the end of it? Nobody agrees with benchmarks, because almost by definition they put everything in black and white terms. X is faster than Y. The Y-supporters say "no, that's not true! Look at what you've forgotten!".

    Of course, not that I'm complaining.

  40. Re:Get off your lazy asses by JamesGreenhalgh · · Score: 1

    Then why bother reading all the replies?

    --

    --
    ALL YOUR BASE ARE BELONG TO US!
  41. I think a contest... by kjj · · Score: 2

    is a great idea. See how well a Slashdot test server holds up when running Postgres.

    1. Re:I think a contest... by Erik+Hollensbe · · Score: 2

      You have other things to consider here.

      MySQL does not support subselects or stored procedures, so I imagine a good grunt of hte work is done in the perl code.

      Translated directly to postgres or any other REAL database, this will probably be in favor of mysql.

      now, if you set up the code (and the database) to utilize the power of these databases, especially utilizing subselects within the message code, you would find that postgres or oracle or any other database with these features would put a nasty taste in the mouth of the average mysql user.

      I still find it funny that no one has an argument for mysql other than "it's faster".

      Well, tell me WHY, and try and give me a reason other than the fact that it doesn't have transactions (which are FASTER if you use them right), or "extra features" to bog it down.

      Again, mysql vs DBD::CSV would be an equal comparison.

      Erik

  42. Re:You should drag it out anyway by Anonymous+Coed · · Score: 1
  43. Re:Ahh the wonder that is benchmarking software! by ndfa · · Score: 1

    well actually that was one of the problems with PostgreSQL... they dont have too many publications or guides on usage. The doc's are there, and are adequate, but MySql does have a lot more out there! HOWEVER, i do belive that a book is becoming available soon for postgreSQL!
    But in general its always the same thing , "look we got it to go so fast"... and then they hide how they did it..... hmmm how about opensourcing your freaking testing / tweaking ehh!

    --
    Non-Deterministic Finite Automata
  44. Use whatever works best for you by localman · · Score: 3
    If I was moderating I'd mark myself as "Redundant" but after all the trash talking over yesterday's article I feel it needs to be reiterated:

    Use whatever works best for you.

    Postgres is a fine solution for many things; MySQL is a fine solution for many things. I hope they both get better and better. Now why in the world would anyone get upset at the particular database choice someone else has made for themselves?

    I must admit that the infomercial style press release by the Postgres people made me cringe. I would of course still consider using their database, but I would no longer trust their claims; I'll do the research myself. The MySQL team has always been very forthcoming with the strengths and limitations of MySQL, so I'll give them a little more credibility for now. I guess once you've hired a marketing team, you've gotta start slinging FUD, even if you're open source. Oh well.

    In any case, I'm very glad that both databases are making strides to build a better product. I will continue to use and appreciate both.

  45. X is faster by Rotten · · Score: 1

    Accelerated X is faster than Accelerated Y. Tested in similar conditions and hardware. specially rendering in 2 bits (black and white) by the way, I have a benchmark article I wrote. Anybody wants it?

  46. MySQL and PostgreSQL *both* useful by ryarger · · Score: 5

    Take a close look at what you are writing people. Especially those who have said "MySQL is useless in the real world." I can't imagine any sane definition of "real world" that doesn't include Slashdot.org, countless e-commerce sites and other non-Web applications.

    Of course MySQL has limitations! Of course it does not meet the definition of an RDBMS! It meets the needs of a significant set of *real world* problems with great efficiency.

    PostgreSQL meets a different, but overlapping, set of problems with ever increasing speed and efficiency.

    They are both open source.
    They are both improving at open source speed.
    They both rock.

  47. Re:Ahh the wonder that is benchmarking software! by Erik+Hollensbe · · Score: 1

    The best way to learn postgres?

    Buy an oracle book. Seriously. Then compare it to online docs, for the most part syntax is very similar...

    Oracle has some (major) features that Postgres doesn't, but postgres is catching up rapidly.

    Erik

  48. Speaking Of Independent DB benchmarks by Carnage4Life · · Score: 4

    I posted this yesterday but probably no one read it due to the fact that it was one of the latter posts (past 400). Anyway here goes...

    According to the original article the names of the proprietary databases benchmarked were not given because it violated licensing agreements. Flawed benchmarks like this are the reason why.

    As someone who has downloaded, installed and used Oracle 8i, IBM's DB2 and Borland's Interbase I can testify that configuring any of these DB's properly is a non-trivial task that can easily be messed up by someone who has no idea what he/she is doing. Using non-native drivers, not indexing tables properly, improper tablespace sizing, choosing an improper number of data files, improperly managing data blocks, etc can all lead to creation of a suboptimal database application performance.

    Most of the major DB companies provide DB's for independent benchmarking from organisations like the Transaction Processing Performance Council. As can be seen from this story these tests involve several thousand transactions per second and not several hundred as reached by this Great Bridge sponsored benchmark. I suggest that someone with a deep pockets or a vested interest in seeing Open Source DBs succeed should enter PostgreSQl or MySQL in these TPC-C tests.
    The Queue Principle

    1. Re:Speaking Of Independent DB benchmarks by jallen02 · · Score: 2

      I said this before but I think its important enough to say it again.

      Those TPC Benchmarks are not going to provide you a whole hell of a lot of useful information if you are using PostgreSQL or an open source database.

      That leads to this:

      You need to analyze something and see if it can meet your needs.

      It can be quite difficult without some sort of real world gauge to determine if a total port of your application to something like PostgreSQL will meet your needs so...

      The best thing to do honestly is seriously and rigourusly test these things for yourself. Things like the TPC benchmarks are just rigged pissing contests to me, its not data I you can effectively use when there are just so many factors besides who can toggle a number to be bigger than another companies.. It just dont help you out

      A *real* world test for me is going to be spending two of three weeks porting most of an application to PostgreSQL strapping it into a staging cluster and running a stress test utility on it. Who cares about TPC marks if the database backend holds up to the load my production environment currently experiences. Who cares if when I test it for scalability it scales? I really wish I could find the time to do such a test because when you do things like this the things you learn along the way generally 'make/break' a product in your mind as to whether or not its usable.

      Thats all, is reading a simple OR complex benchmark gonna tell me how productive im gonna be writing Stored procedures in PostgreSQL? Is that benchmark going to tell me the amount of tuning time required to get a database to the point where it could perform at said level? Is it going to tell me anything? No not really.

      They are just numbers that are very weakly linked to some words. *sighs*

      I know im bringing up a lot of points so here is the correlation.

      Benchmarks are more in theory not in practice. If you have a serious project you cant just use benchmarks to guide your way, you have to use products you are effecient in and products that meet your needs and or potential needs.

      I just get real worked up over benchmarks like this, they just dont matter, as Pete pointed out on a previous post, Its apples and Oranges when your talking ANSI92 compliant and Not ANSI92 compliant. Its just such a mindbendingly unfair benchmark. I dont really even believe there is a safe way to benchmark databases except for your own testing. I will stop rambling now :)

      Jeremy


      If you think education is expensive, try ignorance

  49. Re:That Widenius guy should learn English by pdw · · Score: 2

    That article looks like it was written by a 5-year-old.

    Or indeed someone whose first language is not English. Someone from Finland for example.

    This man clearly has taken the time to learn English - could you have written that article in Finish? Or indeed any other language other than English?

  50. Re:Doth he protest too much? by ananke · · Score: 1

    that's how it should be done. linuxexpo 97 or 98 had vi vs emacs war. paint ball war :)
    that's how you settle things down, the manly way!
    of course, vi team won 4 out of 5 games [30 ppl on each team], and it was only because half of the vi team went to help emacs team, since we felt sorry for them :)
    imagine:
    microsoft vs linux! participants:approx 30,000 on each team; area: 900 acres of some woods/swamp land! god, that would be fun. [you could add air attacks, etc to spice it up:)]

    --
    --- d'oh
  51. Re:That Widenius guy should learn English by frost22 · · Score: 1
    This man clearly has taken the time to learn English - could you have written that article in Finish? Or indeed any other language other than English?
    With all due respect, Monty's article came across as advanced whining. This is no language issue.

    And before you ask me the same stupid question, yes, I could. I speak my native German quite well, and I also could try translating my answer to Latin or Classical Greek. So go and find some other excuse.

    f.
    --
    ...and here I stand, with all my lore, poor fool, no wiser than before.
  52. Re:I don't get these statements ... by Baki · · Score: 2

    When MS-SQL/Oracle etc is overkill, then maybe Mysql is more appropriate. But I think that in many cases where mysql is appropriate (i.e. no concurrent access, only small queries) one could have made the same using direct file-based storage, using DB (hash) files etc.

    I've built quite large applications using Perl and it's AnyDBM_File hashes. (one administers networks, addresses and generates DHCP and DNS files for 40000 nodes, has been running for 4 years without any changes, fixes or intervention now).

    Many who claim Mysql is so fast and a real RDBMS would be overkill for their app, should question whether Mysql itself wouldn't be overkill either, and whether a simple (hash)file-based solution wouldn't do even better. DBM files (bsd-db, ndbm, or whatever variant) can be used from many languages and are really fast. The latest versions derived from bsd-db (though no longer free) even have transaction support.

  53. Re:Why MySQL or PostgreSQL won't get TPC-C results by sailesh · · Score: 2

    Our TPC benchmark involves a _single_ instance of DB2 running on a partitioned MPP system (shared-nothing). You only tune a _single_ DB2 - our configuration isn't like Microsoft's SQL Server where you have a bunch of different database server instances each of which have to be separately tuned. Our optimizer has deep knowledge of all the various nodes of the environment.

  54. Even more: Official PR on benchmark methodology by szap · · Score: 3

    Great Bridge just released a Press Release (pun not intended) here (http://www.greatbridge.com/news/p_081620001.html) regarding the software, tuning, etc. used in the benchmark.

  55. Re:More info: make your own conclusions by MS · · Score: 3
    So, well, the commercial databases could only be:
    • Oracle, which is without any doubt the "biggest" one
    • MS SQL, which is the only one "preferring to run on NT"
    BTW:
    I use Porstgres on FreeBSD since 1996 and MySQL on Linux since 1998 without any problems: easy to set up, fast and reliable...
    But I also administer an online store (one of the biggest here in Italy) which uses IBM DB2 on NT4.0 since 1997: there exists no combination which gave us more headaches, and the last week was a real nightmare: We had to reboot the whole server (not only the hanging services) about every 2 hours and did reinstall from scratch 3 times in the last 2 days... The system still is unstable - we do not know why. We are now loosing millions of lire a day due to lost sales because the server is down... One thing is sure: we will switch to Linux.

    :-)
    ms

  56. Re:ACID is a lousey definition of a Database by Rumble · · Score: 1

    Hey, don't diss the pope. Considering his position, and all of the historical momentum of his position, I think he did a pretty good job. You must keep in mind that not all Catholics in the world are as sensible as you or I.

  57. How much impact does MyODBC have on throughput? by dhogaza · · Score: 1
    Monty's own slide presentation on "optimizing MySQL" claims that the ODBC driver is 19% slower than the native driver.

    Not hardly enough to account for the benchmark results.

  58. Read the version numbers! ;P by szap · · Score: 3

    Oh, forgot to emphasize a very, very important part of the 2nd PR (as I posted before): The version numbers of the databases (BIG HINT):

    What versions of the databases did you use?
    1. PostgreSQL - 7.0 release version
    2. Proprietary 1 - 8.1.5
    3. Proprietary 2 - 7.0
    4. MySQL - 3.22.32
    5. Interbase - 6.0

    Very nice workaround for the EULAs, dontcha think? :P

    P.S. I really should learn to spell postgreSQL properly...

    1. Re:Read the version numbers! ;P by abischof · · Score: 1
      • 2.Proprietary 1 - 8.1.5
        3.Proprietary 2 - 7.0
      So, for us DB-newbies in the crowd, what databases do those version numbers correspond to?

      Alex Bischoff
      Interested in building a roof over your cubicle?
      ---

      --

      Alex Bischoff
      HTML/CSS coder for hire

    2. Re:Read the version numbers! ;P by Amokscience · · Score: 2

      Oracle and MS SQL I believe.

      --
      Fsck cluebie moderators. I'll say what I want, offtopic or not. And fsck having to qualify every bloody statement just
  59. Re:More info: make your own conclusions by langzi · · Score: 1

    Hmm.. if its causing you so much trouble,why consider reinstall for 3rd time?? You should have switch after 2nd time. Try calling the MS Tech support? I'll bet the answer is "switch to MSSQL" (Actually this is by szap) -lz

  60. Re:Of COURSE these benchmarks don't mean anything. by MikeBabcock · · Score: 2

    Yet another person who seems to believe that 'database' has some form of strict definition requiring that it be what is commonly refered to as an MVDB (multi value data base).



    <P>As it is, MySQL offers the basics required to be considered a SQL database -- it responds to SQL requests internally. It does not use external applications to store data or index it or search it. It does the SQL functions (and others) itself. It does not support a couple of SQL functions which are supported in a different manner.</P>

    <P>How can it NOT be defined as a database? It may not be as thorough a database _platform_ as Oracle or Pick, but it is definately a database application.</P>

    <P>PS, I work in a <a href="http://picksys.com">Pick</a> office.</P>

    (Hmm, should've been moderated down to a troll)

    --
    - Michael T. Babcock (Yes, I blog)
  61. Re:Of COURSE these benchmarks don't mean anything. by MikeBabcock · · Score: 2

    Yet another person who seems to believe that 'database' has some form of strict definition requiring that it be what is commonly refered to as an MVDB (multi value data base).

    As it is, MySQL offers the basics required to be considered a SQL database -- it responds to SQL requests internally. It does not use external applications to store data or index it or search it. It does the SQL functions (and others) itself. It does not support a couple of SQL functions which are supported in a different manner.

    How can it NOT be defined as a database? It may not be as thorough a database _platform_ as Oracle or Pick, but it is definately a database application.

    PS, I work in a Pick office.

    (Hmm, should've been moderated down to a troll)
    --
    - Michael T. Babcock (Yes, I blog)
  62. ACID is a lousey definition of a Database by MrBrklyn · · Score: 1
    No Transactions the Database is not relational?


    What non-sense, and this is essentially why Microsoft keeps winning the software wars. A relational database is a database where data is related in a series of tables.


    MYSQL is a fine RDBMS which does a great job and can be a drop in replacement for Access, Foxpro, Paradox, etc. These are the programs it can replace at very reasonable cost and little overhead. Given time it will likely have ACID complience as well.



    It's time to learn that usability is REALLY important to the end user and the developer. And the MYSQL team actually supports the product on their mailing list. I've never seen a question go unanswered.



    If anyone needs a cluestick poke, I think it's some of the DBA's of the world who religiously beleive in their own Dogma. I doubt even the Pope suffers from this form of mental illness.

    --
    http://www.mrbrklyn.com/amsterdam.html http://www.brooklyn-living.com
    1. Re:ACID is a lousey definition of a Database by MikeBabcock · · Score: 2

      If I may re-iterate what you said without the improper use of RDBMS, it would be:

      No transactions [means] the Database is not relational?

      [This is] non-sense, and [...] is essentially why Microsoft keeps winning the software wars. A relational database is a database where data is related in a series of tables.

      MYSQL is a fine RDBMS [ed. Relation Database, not RDBMS] which does a great job and can be a drop in replacement for [most of the features of] Access, Foxpro, Paradox, etc. [if an external programming language is used].

      These are the programs it can replace at very reasonable cost and little overhead. Given time it will likely have ACID complience [sic] as well.

      It's time to learn that usability is REALLY important to the end user and the developer. And the MYSQL team actually supports the product on their mailing list. I've never seen a question go unanswered [ed. as opposed to Pick Systems].

      If anyone needs a cluestick poke, I think it's some of the DBA's of the world who religiously beleive in their own Dogma.

      [ed. Unnecessary religious wise crack removed]

      There.
      --
      - Michael T. Babcock (Yes, I blog)
    2. Re:ACID is a lousey definition of a Database by SuiteSisterMary · · Score: 1

      Sir, you yourself seem to have problems telling the difference between a Relational Database, and a Relational Database Management System. I notice that you use the terms interchangeably. Before you try to look like you know what you're talking about, know what you're talking about.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
  63. That's absurd by dizee · · Score: 3

    Feature set and ANSI SQL compliance aside, if it does what you want it to do (because a lot of us don't need reverse inside black hole pineapple upside down cake joins with recursive subsubsupersubselects), and you benchmark it yourself and you find one to be faster than the rest, for god's sake, use it and be proud, just don't flame other people's choices, because a good decision should be based on THEIR needs, not yours.

    Mike

    "I would kill everyone in this room for a drop of sweet, tasty beer."

    1. Re:That's absurd by Erik+Hollensbe · · Score: 1

      Again, you're missing the point.

      The point here is that some mysql developer got peeved because his program didn't make the grade for the test.

      The fact is, is that the test was rather fair and equal - in fact, from what I read it's a pretty standardized test.

      Do you complain when the valedictorian at your college/high school does better on the SAT's than you? No, because, he probably deserved it. The SAT is a test of knowledge, then performance.

      Just like these tests.

      -Erik-

    2. Re:That's absurd by dizee · · Score: 1

      I'll give you that, I see where you are coming from. Yes, for the test, Postgres is far more robust than MySQL, and would, in my opinion (flamesuit on), deserve to do far better in such tests where feature set and ANSI SQL support was a factor.

      The point I am trying to get out is that making a real-world choice of database based solely on benchmarks, tests, and the basic principle of the sum of a database's worth by feature set is absurd.

      Independent test or not, simply looking at a bar chart and picking the one with the longest bar is as good as an unresearched spin-the-bottle decision.

      On a side note, I never took the SATs, but I did make better on the ACT than my valedictorian, I just didn't care about school ;)

      Mike

      "I would kill everyone in this room for a drop of sweet, tasty beer."

  64. I don't get these statements ... by Pfhreakaz0id · · Score: 2

    From the article:(I use Oracle here as an example, as they press release implicate that they are using Oracle for testing; If not, they are not testing against the proprietary database leaders).

    Did anyone read my comments here? If not, check out the tpc.org site. Look at the top ten results by price/performance and the top ten results by database vendor. Gosh -- MS SQL hands down. So why is it taken as an article of faith by many on sladhot that Oracle is the best? (what happened to "the best tool for the job?") Oracle is a fine database, but I can't in good faith reccommend it to a client when MS SQL is SO MUCH cheaper and faster.
    ---

    1. Re:I don't get these statements ... by General_Corto · · Score: 3

      That's a very novel argument... until you actually look at the price of the systems involved in that top ten information. For the price-performance list, none of the top ten costs less than $350,000, and the most expensive is well over $800k. I wouldn't say that it's a particularly useful guide for those of us that have a more earthbound budget.

      As for the 'top ten by database vendor' results... number one comes in at a measly $3.6 MILLION. Oh. Like my company can afford that. Number 2 is the same. Number 3 is, well, cheap in comparison, at $2.2 million. In fact, the cheapest system came from Sun, only cost (only!) something over $550k, and was running some Fujitsu software.

      All in all, I think it proves that benchmarks, at least the ones that you're looking at, can be *very* flawed.

    2. Re:I don't get these statements ... by Malcontent · · Score: 2
      I think people like oracle because it's more stable and scales better. You are probably right though you can save a lot of money and get almost as good uptime using ms-sql. OTOH you can save even more money and get almost the same performance (and a few new features) and use postgres. I think this is the point. MS-SQL server is overkill for most small to medium applications and businesses it costs too much and it only runs on NT which adds even more to the cost. Using POstgres on linux you can save thousands of dollars. If you use oracle on linux or solaris you get to get out of paying a per seat license on the NT server (the hidden cost of ms-sql server). At that level sql server and oracle are pretty even on the pricing.

      A Dick and a Bush .. You know somebody's gonna get screwed.

      --

      War is necrophilia.

  65. Re:Doth he protest too much? by Evangelion · · Score: 2

    Note the word 'Experimental'.

    Do you honestly think that anyone is going to trust thier customer's data, money and confidence to an 'experimental' database?

    Until it's stable, it may as well not exist from the user's point of view.

    --

  66. Re:Actually... by Erik+Hollensbe · · Score: 1

    Um...

    Are you really that (expletive) stupid to put your customers' information on a database that the DEVELOPERS call 'experimental'?

    If transaction support is really what they say it is, the transactions should be FASTER than autocommitting everything. Autocommitting takes time to write each and every piece of data, which slows the DB down. When filling a DB, I like to commit every 1000 rows or so, and the process takes under a minute for around 30,000 under the DB's that I currently use (oracle and postgres, in that order).

    -Erik-

  67. Re:Ahh the wonder that is benchmarking software! by ndfa · · Score: 1

    funny you say that cause right now i am reading through Oracle8 (The complete Reference)!! Only thing is that we are using Oracle8 at work!! Cant complain cause i get to run a few Sun 420's!!

    --
    Non-Deterministic Finite Automata
  68. Re:You should drag it out anyway by coolgeek · · Score: 1

    Am I the only one who thinks the word arsdigita is latin for "thumb up your arse"? Please be kind, this is intended as HUMOR.

    --

    cat /dev/null >sig
  69. Re:Yes and no, but MySQL is being marketed as more by ryarger · · Score: 1

    What exactly does "improving at open source speed" mean?

    The Gimp (less than two years stable) vs. Photoshop (over a decade)
    Linux (8 years old) vs. Unix (approaching 30)
    Apache (4-5 years old) vs. Nothing

    There's nothing to bet on, it's real and it's here now. Open Source works on large projects just as well as small.

    If you need more proof look at the subjects under discussion. As recently as 18 months ago there would have been no discussion about the performance of MySQL vs. postgreSQL. PostgreSQL was an experimental toy for database theorists and everyone knew it and that would never change.

    However, while postgreSQL has always been Free, MySQL was just non-free enough to discourage many new developers. Now postgeSQL is on a par with MySQL in performance while supporting a much greater feature set. Has any closed-source RDBMS even come close to that pace of change?

    Now that postgreSQL and MySQL are both Free, the pace will only quicken.

    <crystal ball>
    In 5 years, the majority of new DBMS installations will be free software. This could be combination of postgreSQL and MySQL. This could be some new project. This could also be Oracle, after Larry wises up to the fact that his money comes from the support contracts and opens the code. Whichever, it will be free.
    </crystal ball>

  70. Now that is the way for the companies to settle it by jhines · · Score: 1

    Female, nude, mud wrestling/coding competition.

    Ladies bring your laptop, first team to develop and record all the male audience members name and phone numbers wins.

  71. Re:Of COURSE these benchmarks don't mean anything. by MikeBabcock · · Score: 2

    Again, an RDBMS does not exclusively equate to a database system. Sure, MySQL is not an entire platform, etc. I work with Pick every day; I'm aware of RDBMS features. MySQL is also used by about half of our office and considered by Pick programmers to be a database system. Why wouldn't it be? Software is written in C, PERL and PHP that use SQL calls via the MySQL API. Which part of MySQL fails to be a database? Not a complete relational database management system (please, find on the MySQL site where it claims to be one), but a simple database solution.

    You _do_ realise that there is a difference, right?

    --
    - Michael T. Babcock (Yes, I blog)
  72. Benchmarks are what they are . . . by werdna · · Score: 3

    Like all statistics, they are often interesting and provocative, but are almost never sufficient to judge which of several applications would be best for a particular application.

    Monty's reference to "lies" and deceit in his article are troublesome and uncollegial -- while there was certainly a goodly amount of gloating in one press release, I would have been far more impressed with an impassive, nuts and bolts, criticism of the ANSI benchmarks than the unfortunate essay here.

    One thing for which I have found Benchmarks useful is to prove concept -- that the application can, at least, run the Benchmark.

    In this regard, there is one benchmark that I find quite persusasive at the moment: MySQL generates zero --that's 0.000- transactions per second. It is my hope that they will soon turn to implementing this important feature, so that we may then compare apples to apples.

  73. Re:Of COURSE these benchmarks don't mean anything. by MikeBabcock · · Score: 2

    On another note, are you aware of ReiserFS at all? It is a filesystem on top of a modified (non-relational) database system. It uses many database tricks, to be more accurate, to make file sorting, finding, opening, etc. faster than a normal filesystem. With ReiserFS, one could implement, for example, something like the Pick filesystem right on top of it using files, directories and metadata files (or inodes). Pick already does this with its own internal filesystem. Why does 'putting a SQL front-end on a filesystem' not make for a SQL database? Sure, its not an enterprise application type RDBMS, but its sufficient for much textbook database work.

    --
    - Michael T. Babcock (Yes, I blog)
  74. Not just those MySQL users. by Migrant+Programmer · · Score: 1
    Especially those MySQL users, hmm? Now, I don't really have a preference, I use MySQL for some situations, PostgreSQL for others, or another database for another situation..

    However, you have to look no further than the PostgreSQL HOWTO (the author calls it Database-SQL-RDBMS HOW-TO, take that as you will) to find religious fanaticism..

    http://www.linuxdoc.org/HOWTO /PostgreSQL-HOWTO-4.html

    I won't even talk about the "What is PostgreSQL" section. =)

  75. Re:That Widenius guy should learn English by pdw · · Score: 1

    With all due respect, Monty's article came across as advanced whining. This is no language issue.

    Erm - the title of this thread is "That Widenius guy should learn English" - that sounds like a language issue, although I take the point that he may be whining like a 5 year old.

    In fact, I think he is saying exactly what we might expect him to say, under the circumstances. The Postgres people posted a silly, one sided press release based on some undisclosed figures. Predictably, the MySQL people have now posted a response, and actually have some figures on their website. We all carry on, safe in the knowledge that benchmarks tell you nothing :-)

  76. Not that other database! by abdulwahid · · Score: 2

    I hate this attitude that people have of always wanting to put down that other database. It doesn't have to be that way. Both Postgres and MySQL are storming databases. They are both OpenSource and they are both developing (in there own way) at a nice speed.

    I think that when we develop OpenSource database applications we should, wherever possible, seperate out the database layer to allow users to decide which database backends to use. This is what makes applications like TWIG so great.

    We should be happy that we have two good Open Source database systems. We should push the development of both and give support to both. Of course they both have advantages and disadvantages so individuals should evaluate these based on their own requirements.

    --
    perl -e 'print $i=pack(c5, (41*2), sqrt(7056), (unpack(c,H)-2), oct(115), 10);'
    1. Re:Not that other database! by ichimunki · · Score: 1

      This is my favorite comment so far. I mean, DUH. Isn't the beauty of the original benchmark that it shows on midrange systems that an Open Source database kicks ass? I think it would be obvious that there are certain drawbacks to MySQL. One of them is not the lack of popularity or available examples of it in action. Maybe it would be better if MySQL were allowed to focus on what it's good for and get even better at it and if postgreSQL were able to work on the things that it's doing well. Then, no matter what type of database need you had, there'd be an OS solution that was hands-down winner in that area.

      --
      I do not have a signature
  77. FUD: MySQL/Postgres benchmarks by jfroebe · · Score: 1

    I do not believe that the numbers listed at the link http://www.mysql.com/information/benchmarks.html are in any way real. Why? Look at the version numbers of the commercial DBMSs. They are old versions and most likely not configured optimal. Don't forget that posting these so-called benchmarks are in violation of most commercial DBMS licenses - permission must be sought and looking at the link, it doesn't appear that it was granted or even requested. IMHO, the link is misleading and wrong (FUD).

    I suggest that people go to the official TPC-D website (http://www.tpc.org) and view the real TPC-D benchmarks. The group that oversees the benchmarks have strict rules that the DBMS vendors must comply to.

    j

    --
    No one has seen what you have seen, and until that happens, we're all going to think that you're nuts. - Jack O'Neil
  78. Re:Ahh the wonder that is benchmarking software! by Erik+Hollensbe · · Score: 1

    heh, you must be having a long month or two, hehe.

    -Erik-

  79. *ENOUGH* already! by Anonymous Coward · · Score: 2

    Okay, time for a lesson in reality. Just because one hears someone say that it _can't_ be a REAL database unless it conforms to the ACID principles, does not one an expert in the database field. Before jumping all over Monty for sticking up for his baby, you really need to look at the bigger picture. He admits to the shortcomings of MySQL. MySQL started life as a simple data warehousing app. It turned out to be damned good at what it did - a light-weight database server. Since then, partly through the requests of people like Slashdot, me and others, the developers of MySQL decided to expand the scope to be a complete database server. MySQL does a great job at what it's intended for - light-weight database applications. Sure, you can run your slashdot clone just fine on a Sun E12000 with Oracle Enterprise, but it's a little overkill. Being able to choose the right tool for the job is necessary. Saying that MySQL is useless because it doesn't perform to the level of other databases in every area is plain ignorant. Knocking Monty for sticking defending MySQL's (well established) place is ignorant. Knocking the English of a foreigner whose language you do not speak is ignorant. Thinking your data isn't "safe" with MySQL because it lacks transactions is ignorant. Calling one database engine a 'file system' (and inferring that another is not) is ignorant. _Please_ do a little bit of homework before making such statements. MySQL is *not* on par with Postgresql or the others big ones in several important areas, but it is getting there, and I can assure you that it is going to be damned good. I use MySQL, PostgreSQL and Oracle every day. Each has its application. Understanding how to size and implement these databases is key. The bantering I see here (and on every other MySQL vs PostgreSQL story on /.) tells me that most do _not_ know how and when to implement each system. There are, in fact, statistics about the performance of MySQL. See: http://www.mysql.com/information/benchmarks.html. A feature comparison is at: http://www.mysql.com/information/crash-me.php A good overview of the project is at: http://www.mysql.com/information/index.html Love, Jerry Bell mutex@syslog.org

    1. Re:*ENOUGH* already! by kaisyain · · Score: 1

      What's the point of saying "MySQL does a great job at what it's intended for" while simultaneously saying it is getting to be on par with other databases?

      If MySQL's niche doesn't include those other features why are they being added? And if the users needed those features in the first place, why did they go with MySQL?

  80. Shades of Mindcraft's mindgames by kjj · · Score: 2

    This all reminds me of the Mindcraft mess somewhat. Along those lines perhaps Postgres people should set up the Postgres system and MySQL people should set up the MySQL system. Many people are talking about how slow Postgre is but there has supposedly been a huge increase in performance with 7.0. Anyway benchmarks many times are flawed because of those who set it up usually know one system better than the other, or perhaps go as far as tilting things in somone's favor with all manner of config tricks and hardware choices. It would be nice to see a civil benchmark contest where the parties would agree on some reasonable hardware. Even in the final open Mindcraft retest with Linus and others present, Microsoft and Mindcraft got their way with really high end stuff. No tests on older hardware were allowed. Some people don't think scalability is a two way street but in it really is. Scaling down can be just as important (sometimes more) than scaling up. From the original benchmark page it looks like this test was done on higher end equipment. Who knows. Maybe MySQL would kill Postgres on a lower end K62-300 with only 128MB or ram.

    1. Re:Shades of Mindcraft's mindgames by Erik+Hollensbe · · Score: 1

      Read the other argument that I have written.

      MySQL is not in the same class as Postgres or pretty much any other RDBMS. In fact, it's not even really an RDBMS.

      The problem with the mindcraft issue was the fact that it was fairly one sided, and that both applications could complete the tests but only one (NT) was truly optimized to take advantage of them.

      But the fact is, is that the test used was one that has been in existence for some time and not just used for this test. The only factor was the hardware, which remained the same on all platforms.

      The test itself, was with the ANSI SQL *standard*, something that has been around since 1992. No amount of tweaking mysql is going to give it full functionality.

      You shouldn't have to shrink the size of the basketball court simply because someone has shorter legs...

      -Erik-

  81. Why MySQL or PostgreSQL won't get TPC-C results by GGardner · · Score: 3
    TPC-C is a massive benchmark, requiring a massive effort. I've heard anecdotal evidence that is costs the big RDBMS vendors 6 figures for each run. However, there are a couple of specific reasons why MySQL and PostgreSQL will never see TPC-C results.

    First, TPC-C requires transactions That's what the T is for! MySQL doesn't support transactions. So, it's right out.

    Next, to get decent TPC-C numbers, most vendors need a TP-Monitor sitting in front of the database. Seeing as the commercial TP-Monitors ain't cheap, and there are no open source TP-Monitors, that sort of rules out an all open-source TPC-C number.

    Finally, to simulate the thousands of concurrent users that TPC-C requires, one needs an awful lot of hardware just to drive the test -- the top scoring IBM DB2 results used 128 CPUs for the servers and 196 CPUs for the clients. Can you imagine how much time was spent tuning this beast?

    Just as a final note on how expensive this is, note that there are no published TPC-C numbers for the existing commercial RDBSes running on Linux or BSD. Given Larry Ellison's famous hatred of Microsoft, and how much he'd love for Oracle on Linux to outperform Oracle on Windows, doesn't this say something about the expense of running these tests?

  82. acronyms ahead! by rob1imo · · Score: 1
    IOW, YMMV...

    --

    --

    --

  83. Please, don't let us get into dung slinging by CaptainZapp · · Score: 2
    Well,

    I glanced over the article and it sure has valid points. Like specifically each database has it's weak points and it's strength and that benchmarks can and will be ultimatelively unfair.

    Nothing new here.

    I worked for over 4 years for a major database vendor (the competition would deny that) and the amount of dirt throwing and mud slinging going on in this area is unbelievable. The then major competitor (Oracle, powering the Internet - or so they claim) explicitely prohibits benchmarks by end users (customers) in their EULA (so I was told on /.) now go figure...

    What's my point ? Very simple, let's be very careful when it comes to whack each other in the Open Source community in terms of Gnome is better then KDE, Postgres is better then MySQL or even SuSE is better then Red hat all of the above applies vice versa of course.

    Hey, maybe I watched too much Casablanca and believe in ethics, honesty and not whining und trashing others that do a good job, but - yeah - I think it's important to respect each other or even join forces.

    --
    ich bin der musikant

    mit taschenrechner in der hand

    kraftwerk

  84. Re:Of COURSE these benchmarks don't mean anything. by MikeBabcock · · Score: 2

    Where does MySQL claim to be an RDBMS?

    (and/or)

    Where is a database defined as only being an RDBMS?

    --
    - Michael T. Babcock (Yes, I blog)
  85. I disagree... by FallLine · · Score: 2

    I disagree. The Gimp, though quite neat for something free, is not nearly as complete as photoshop...and photoshop isn't quite of the same complexity of a full featured RDBMS. Apache is neat, but look at what it needs to do. Sure it's fast and effecient, but it doesn't have that critical mass of complexity. Linux? Not terribly impressive. Easily modularized. Not exactly innovative--it's been following everyone else's lead....in fact, All of these projects have been pretty much.

    What about Mozilla? Virtually stagnant.

    Whether or not you agree, I recognize a significant difference between these types of projects and truely innovative and complex ones. While I don't refute the unique value of Open Source in some instances, I know it falls short in many others. For that argument though, I'll let time tell. Don't say I didn't warning you...2..3..years from now, Open source will largely be in the same place it is now, commercial/propietary software will be alive and well.

  86. Re:There Ain't No Fair Benchmark by MikeBabcock · · Score: 2

    Just for the sake of anyone wanting a good reference for proper benchmarking, see The Benchmark Handbook (now readable online).

    --
    - Michael T. Babcock (Yes, I blog)
  87. Re:Are we surprised? by scrappy · · Score: 2

    The benchmarks being disputed here were *NOT* sponsored by PostgreSQL ... they were sponsored by Great Bridge, which is a third-party support company whose first Open Source project they have taken on to support is PostgreSQL ... That would be like Progress running benchmarks on MySQL being the same as being sponsored by MySQL, which is not the case ...

  88. Re:MS SQL performance by Drestin · · Score: 1

    Liar!

  89. Monty is just Jealous... by rmello · · Score: 1

    Somebody should tell Monty to go improve their toy database-wannabe product instead of ranting on the web.

    BTW, and making MySQL a front-end to Berkeley-DB is a nice way to make it even a bigger kludge. Changing its name to "MaxSQL" to disguise that kludge and lure users is genious. Did you learn that at Redmond?

  90. benchmarks? by radar+bunny · · Score: 1

    OK, this is my opinion and I'm sure others will disagree, but im kinda tired of benchmarks-- especaily of software. When it comes down to it, anyone can spend enough time and energy proving any piece of software or hard ware is better than another. Personally, I'm a fan of heisenberg and his uncertainty principle. I know her was talking about particles, but since so much of quantum physics comes into play in the production of computers doesn't that suggest that they (and the software they run) is subject to some of the same principles.

    --
    "I mean, All you can definately say about a fellow who thinks he's a poached egg, is; He's in the minority." James Burke
  91. My response to their response... by Wdomburg · · Score: 5

    >As they haven't released any information about
    >the test or even the results one can just assume
    >that they have done a test that doesn't have
    >anything to do with the real world :(

    "In the AS3AP tests... Postgres peaked at 1127.8 transactions per second with five users, and still processed at a steady rate of 1070.4 with 100 users... MySQL reached a peak of 803.48 with two users, but its performance fell precipitously under the stress of additional users to a rate of 117.87 transactions per second with 100 users."

    The test is standard, so the definition of what it entails is easy to come by and they provided what the results were. So your above complaint really has no substance to it.

    However, I do agree there should have been more information - namely the software configuration.

    >PostgreSQL has of course also a lot of weak
    >areas, like slow connection, slow insert, slow
    >create/drop tables, running long multiple
    >transactions where you get a conflict
    >at the end (in this page/row locking is better)

    Yes, Postgres is slower to connect, though not grotesqely so.

    Yes, Postgres is slower to do inserts, but updates and inserts don't block. So though MySQL may be impressive if you bench insert speed without considering its impact on overall performance, in real world applications you'll see very different behaviour.

    I'm not sure exactly what you're refering to when you mention "conflicts" at the end of transaction blocks. This is one area where I find MySQL falls short, since a) it has no transactions and b) it doesn't have the framework for transactions (e.g. multi-version concurency control, etc).

    >We here at MySQL has always tried to design very
    >fair test that no one can misinterpret or lie
    >about.

    Unfortunately the benchmarks MySQL uses are all single client load, which is completely meaningless in a production environment and covers up the weakest parts of MySQL (e.g. all selects stalling while an insert or update is happening).

    >It's a shame that Great Bridge funds a test that
    >is solely done to confuse users instead of
    >telling the truth; PostgreSQL is good in some
    >areas, and bad in others, just like all other
    >databases.

    I fail to see where they state what you are claiming they did. They merely point that a) on the AS3AP test, using the current production release of MySQL with its ODBC implementation, the performance was lackluster, and that MySQL currently lacks the feature set to run TPC-C.

    >The article doesn't mention anything about this >or even with which ODBC driver they used the
    >different databases.

    As opposed to the benchmark on the MySQL website, where they make no mention of how the databases were compiled, what limits were set, what version of Perl was used, what version of DBI was used, what version of the DBD drivers were used, what hardware platform it was run on, what operating system it was run on, etc, etc.

    And futhermore they are benchtesting an alpha product against a faily old stable release (6.5 being current over a year before these benchmarks were posted, with a half dozen released in the meantime).

    >I also don't agree with the argument that they
    >are not testing MySQL 3.23 as this is still
    >marked 'beta'. We have here at MySQL a completely
    >different release schedule on our versions...
    >Compared to our release schedule, PostgreSQL 7.0 >would be called alpha.

    Nice way to imply that the Postgres team doesn't properly beta test. Fact of the matter is that the 7.0 release spend many many months in its alpha/beta/gamma cycle.

    There were a couple bugs that slipped through the cracks, but the subsequent releases resolved all known issues, and came very promptly (15 days between 7.0 and 7.0.1, and then 3 days between 7.0.1 and 7.0.2).

    As for the development cycles being different, I agree. Though I would go the other direction. The goals of the 7.0 development series were much less ambitious than those of the 3.23 series of MySQL has; e.g. replication, two new backends, transaction support, a real locking mechanism, etc. Not to mention that they stopped adding new features to 7.0 about 6 months ago, whereas MySQL is continuing to add features (and change existing features) of 3.23.

    >The net result is that the posted test is about
    >as wrong as you can do a test, the important
    >thing is just to get the people that reads that
    >page to understand that.

    Funny, I would say the epitomy of both misleading and incorrect testing would be the sql-bench suite run by MySQL.

    1. Re:My response to their response... by MemRaven · · Score: 3
      In case anybody's interested in the benchmark that they ran, it's AS3AP, which is a pretty independant benchmark. I VERY seldom see anybody run it, but it's here:

      http://www.benchmarkresources.com/handbook/5.html

    2. Re:My response to their response... by GlowStars · · Score: 3

      Other resource for information on AS3AP:

      http://www.cwi.nl/~kwakkel/pythagoras/testpilot/ Da.html#REF80734

  92. Re:Actually... by Wdomburg · · Score: 1

    >MySQL, starting with 3.23.15, has transaction
    >support. Given, 3.23 is a beta series, but it's
    >been in beta for quite a while, it should be
    >fairly stable. Transaction support has been in
    >the 3.23 series since this May.

    Yes, 3.23 has been in alpha/beta for a while, but as you point out, transaction support has only been there since 3.23.15, or a mere 8 experimental releases.

    Yes, its been in there since May, but do you think that three months is nearly enough time to integrate an entire new table type, add support for transactions, and properly test it? And this while other experimental features are being added?

    And finally, I would have issue with the scalability and reliability of a table type (BDB) in a multi-user environment when it was designed primarily for embedded single-user databases.

  93. Re:Telling quote from the article. by Wdomburg · · Score: 1

    >And of course, in the real world, nobody ever
    >actually inserts and selects at the same time.
    >
    >Try to find legitimate things to complain about.

    Really? I do. The applications my company runs do. Any sort of e-commerce site does. Slashdot does.

  94. try 'update' by fence · · Score: 1

    What the hell is "replace", can't find it in any SQL standard books.

    Try looking under "update".
    ---
    Interested in the Colorado Lottery?

    --
    Interested in the Colorado Lottery or Powerball games?
    check out http://colotto.com
  95. Benchmarks by dizee · · Score: 3

    What's the saying? If you want something done right, you have to do it yourself, right?

    Benchmarks are worthless, even if they are from a supposed "independant" or "unbiased" source.

    Benchmarks are just that - benchmarks. They are supposed to be used as a guide.

    Really, if you want real-world benchmarks of open-source or freely downloadble databases (even free version of Oracle), download them, set them up, follow the instructions for tweaking the installation for the best performance, plug some sample data in and find out for yourself. If you truly care about the quality of whatever you're developing, this simple couple of hours should be well spent.

    My $0.02.

    Mike

    "I would kill everyone in this room for a drop of sweet, tasty beer."

  96. Ahh the wonder that is benchmarking software! by ndfa · · Score: 2

    Some extremely valid points. In particular you need to remember that all tests were using ODBC drivers! This can be one hell of a bottle neck for performance since each DB is very different!
    The article doesn't mention anything about this or even with which ODBC driver they used the different databases.

    The Great Bridge article did not mention in any detail what sort of transactions were being used on any of the DB's, what specific versions of the ODBC drivers were being used, with what OS and what tweaking! I rememeber that a lather large update into Infomix was tweaked by an Informix engineer using from 14 hours to 6 hours!! This was running EU10K's with nothing else on those beasts.... so there is always a lot of room for tweaking a DB's... Benchmarks MUST therefore be taken with a big chunk of salt.

    --
    Non-Deterministic Finite Automata
    1. Re:Ahh the wonder that is benchmarking software! by marauder · · Score: 1

      It's hard to take any benchmark, or any study in general, seriously unless it sets out the methodology well enough that someone else could run the same tests himself. I use postgresql for several websites and I would love to get the kind of performance that was reported in the benchmark. Something along the lines of "our tests report that postgresql stomps on other databases, and here's how you can make your own postgresql installation do the same" would be so much more useful and credible than "postgresql is better, we've got a couple of numbers which prove it."

  97. That is a non sequitur... by FallLine · · Score: 2

    That is a non sequitur. Innovating and meeting already "met" needs are not mutually exclusive. i.e., The operating system need is "met", yet there is much room for improvement. Linux has done very little innovative. I'm not saying this is necessarily a bad thing, but rather I am pointing out that Open Source simply can't trumpet innovation as one of its strengths with a straight face. Nor can it hide behind your excuse. It does not necessarily follow that just because innovation has been lagging, that once X happens, innovation will occur. There is no obvious basis for that, and you certainly do not present an argument for it.

    Innovation is much much more than mere thought, and the desire, to create something new. It generally involves a certain amount of blood, sweat, and tears. No open source project has demonstrated this ability in my opinion. The fact that most of these "succesfull" Open Source projects are either relatively trivial, simple, or following someone elses lead does not make for a good counterexample for Open Source's ability. What's more, beyond the mere the lack of empirical examples of this capacity for exertion, I see fundamental problems with Open Source development as it is popularly envisioned and fleshed out. i.e., the notion that 100 people contributing part time is better than, say, 10 working full time, or the notion that 1 million people who can "fork" and work in many different...even larger teams.. can necessarily achieve the same product or better product as a single team around one leader and one vision....

    Yes, I think there will be times when Open Source can offer unique value to this world that propietary software cannot. But that is different from the bulk of proprietary software today. I think the _real_ growth of Open Source will be more a process of addition, of creating new areas for software, than a replacement of much propreitary software. I view Open source software like Perl as being something special...Not in that it can go head to head with the major propietary languages/compilers, but rather in its ends and means. It can do a lot of really cool stuff with its modules and what not, in a way that the current propreitary model does not and cannot....

    ...gotta run

  98. Doth he protest too much? by rho · · Score: 4

    I dunno -- I like Postgres better cause I need transactions. MySQL wouldn't work for me as well.

    OTOH, I like it a lot when nerds take punches at each other. Kinda like mud wrestling, but without the swinging breasts.

    Maybe a Postgres/MySQL Nerf fight?

    --
    Potato chips are a by-yourself food.
    1. Re:Doth he protest too much? by karmma · · Score: 1
      MySQL 3.23.15 includes experimental support for Berkeley DB, a transaction safe database handler.

      Check out this article at mysql.com.

    2. Re:Doth he protest too much? by rho · · Score: 2

      I *LOVE* FreeBSD and OpenBSD. The ports tree is the best damn thing I've ever used. I use Linux for the Postgres DB, though, because I found it to be slightly faster (I think it's a SMP thing -- Linux seems to be just a bit faster).

      But it's telling that I use a FBSD box to do all my work on it...

      But, Solaris... I DID have x86 Solaris on the box when I was testing it, and I did NOT like it. Was it fast and stable? Sure. But, I wasn't weaned on Solaris -- my first "real" Unix was Slackware. I did some poking around on SunOS boxes in college, but mostly for playing MUDs. I could telnet and IRC, but that was about it. I'm more used to how Linux/BSD does things than Solaris. They seem to put things in funny places to me.

      But make no mistake -- if Linux fails me, and I can't make FreeBSD do what I need it to, I'd slap Solaris on that bitch and pay my friend, the Solaris Guru to admin it.

      --
      Potato chips are a by-yourself food.
  99. Telling quote from the article. by SuiteSisterMary · · Score: 1
    MySQL 3.22 is for example not very good for mixed inserts + selects on the same table and that is also the only thing we ever have seen PostgreSQL users test in their previous tests when PostgreSQL comes outs as the better.
    And of course, in the real world, nobody ever actually inserts and selects at the same time. Try to find legitimate things to complain about.
    --
    Vintage computer games and RPG books available. Email me if you're interested.
  100. Re:MySQL Connection Failed by rmello · · Score: 1

    Not to mention that MySQL's site is SOOOOOOO slow. Table locking not working as well for you dear Monty?
    Have you heard of Multi-Variant Concurrency Control? You should go work on that instead of crying on the web about benchmarks.

    Talking about Benchmarks, the one in mysql.org (or .com) is THE most misleading benchmark in the entire industry.

  101. Are we surprised? by vertical-limit · · Score: 2
    Now, I'm not trying to start a MySQL / PostgreSQL flamewar at all -- I think both projects have their own merits and uses -- but is this supposed to surprise us? Of course the MySQL developers are going to cast asperions on benchmarks that show them coming out ahead. Likewise, if PostgreSQL had lost to MySQL and the commercial databases, the PostgreSQL developers would have slammed the tests. No one wants to come out looking inferior.

    The only benchmarks we can trust are those that are totally independent. (The benchmarks being disputed here were sponsored by PostgreSQL.) I'm not accusing benchmarkers of being dishonest, but the only way we can be assured of impartiality is to run completely independent tests. We shouldn't care what the developers say -- we need to know what the users are saying.

    1. Re:Are we surprised? by pheonix · · Score: 2

      The only benchmarks we can trust are those that are totally independent. (The benchmarks being disputed here were sponsored by PostgreSQL.) I'm not accusing benchmarkers of being dishonest, but the only way we can be assured of impartiality is to run completely independent tests. We shouldn't care what the developers say -- we need to know what the users are saying.

      That's one of the problems. I don't know that you can even trust independent benchmarks completely. Every place I've seen benchmarks I've seen at least a few questionable ones. I think it's important that anyone looking for hardware OR software realizes that they need to average as many benchmarks and reviews as possible to get a vague sense of the reality of the product.

      Aside from that, the article sounded alot like "he said she said". Of course neither company will like the other's benchmark if it makes them look bad. End of story.

  102. Re:Of COURSE these benchmarks don't mean anything. by ndfa · · Score: 2

    Flaimbait Alert!
    With that def. one can say that all ANY database is a file on the filesystem (or part of the fs) with an SQL frontend!!!

    --
    Non-Deterministic Finite Automata
  103. Re:learn to spell Monty by cerridwen · · Score: 1

    Third language or 25th, couldn't he have had someone proofread the thing?

    I refuse to read this article on the grounds that it offends my grammatical sense.

    --
    ............ i am the princess you are the cheese
  104. Some comments on Monty's critique ... by dhogaza · · Score: 1
    Right up front, I see this in his list of things that Postgres is poor at:
    ...running long multiple transactions where you get a conflict at the end (in this page/row locking is better)
    Since Postgres implements row-level locking, this comment makes no sense to me. And of course MySQL isn't at all good for running long multiple transactions - it doesn't support transactions at all. What's his point?

    We here at MySQL has always tried to design very fair test that no one can misinterpret or lie about.
    Their comparison table of Postgres vs. MySQL features has had many errors from the beginning, and despite requests from the Postgres folk Monty never corrected them. Thus Postgres users like myself remain unconvinced that fairness is uppermost in their mind.

    The way to set up the databases in a test is also very crucial for the performance of the database. The article doesn't mention anything about this or even with which ODBC driver they used the different databases
    I just peeked quickly at MySQL's benchmark page and see absolutely no mention as to how they set up Postgres or the various commercial databases. It seems strange that Monty makes this complaint given that his page lacks this data, too.
    MySQL also have two ODBC drivers, one slow with debugging and one fast. It should be very nice to know how they actually did use MySQL. To get any performance from Oracle, on has also to tune this a lot; The ODBC driver for Oracle has also very bad performance; This is a common known fact; No one runs a critical system with Oracle and ODBC.
    A poor ODBC driver - besides being a strange thing to brag about - might account for poor performance in single-user tests, but it doesn't account for the fact that MySQL progressively gets worse under load. Any driver penalty ought to be constant per query. MySQL falls apart under load, this is no secret, and the Great Bridge benchmarks should surprise no one.

    If the ODBC driver were the cause of MySQL's degradation under low, then the tests with (presumably) Oracle would presumably also show it degradating similarly under load. Which, of course, they don't. The "real" RDMBS systems scale reasonably well, while MySQL performance drops quickly as the number of simultaneous users increases.

    As to why MySQL perhaps performs poorly in these tests under light load, another explanation might well be that even MySQL's benchmarks show Postgres beating MySQL on a JOIN test. Most real-world work with databases involve queries which JOIN tables, and the real-world benchmark suite used very likely penalizes a database engine which performs poorly on JOINs. As is the case with MySQL.

    Of course, the "fair" MySQL tests on their benchmark tests are single-user tests. This doesn't represent the running environment most folks putting up web pages aspire to. When I put up a web site, I'm hoping for many simultaneous users, not just one. MySQL's "fair" tests hide the fact that MySQL falls apart under load by "fairly" not including tests with multiple users.

    One thing that also is interesting is that they don't mention which PostgreSQL version they are using. It's very unlikely that they did actually test PostgreSQL 7.0 as this has at least one very fatal bug in the index handling which made it useless for benchmarks (at least when we did a test run on it).
    They ran it using standard Postgres 7.0, which I and many other folks associated with OpenACS have been running for months with no problem.

    I hope Monty had the common courtesy to submit a bug report on this "fatal bug" they ran into.

    Threads also gives MySQL better scalability than processes, that PostgreSQL uses, so we are very confident about the future.
    Probably not particularly true under Linux, where the threads implementation isn't exactly stellar.

    It will speed start-up overhead, but anyone in their right mind using an RDBMS in a web environment uses persistent, pooled connections anyway and start-up time is in practice not an issue. The AOLserver database API supports persisten pooled connections in C, Tcl, Java and Python (the latter two are in pre-release form) in a database-agnostic way, so it's particularly not an issue if you choose your webserver intellegently.

    The net result is that the posted test is about as wrong as you can do a test, the important thing is just to get the people that reads that page to understand that.
    Given the crap that passes for comparative testing on MySQL's page, and the extremely misleading comments regarding the usefulness of transactions, foreign key constraints, etc, Monty should reflect upon the old saw "he who lives in a glass house should cast no stones".
    1. Re:Some comments on Monty's critique ... by jslag · · Score: 1

      . . .under Linux, where the threads implementation isn't exactly stellar.


      I thought it was more the case that processes under Linux are stellar in comparison to proprietary OS's - so, under Linux, thread-based progs really aren't any faster that process-based ones. (whereas on an OS like NT, a process-based app is useless, so everything has to be multithreaded)

  105. Interesting tidbit from the Great Bridge PR by dhogaza · · Score: 1
    Those convinced that the tests were rigged might find this interesting:
    With "Proprietary 1," we split the data and the index across two drives, to boost performance. Memory parameters were tweaked as well to allow more simultaneous users to connect.
    Now ... Postgres doesn't have any in-the-database way to split indices and data across two drives, a major shortcoming for those with huge databases in particular (and something that will change in the future).

    Performance generally is improved by this strategy because the two platters can independently access the index and data, minimizing latency caused by head movement.

    If they were trying to cheat, they wouldn't've done this split while at the same time leaving dat a and indices on the same platter while running Postgres.

    Since Great Bridge's focus is to make Postgres competitive the commercial database world, it's rather funny to see these Slashdot threads so focused on MySQL, and Monty's taking the benchmark results almost personally.

    They took pains to do some tuning on "Proprietary 1 8.1.5" (i.e. Oracle) but ran MySQL "out of the box". It's clear their major targets are Oracle and MS-SQL, not MySQL.

    As to why they didn't use the latest "alpha" version of MySQL, I know for a fact that they started this benchmarking effort quite some time ago. Note that they ran Oracle 8.1.5, not 8.1.6. Also note that they ran Postgres 7.0, rather than the current 7.0.2.

    And, for that matter, RH 6.1 rather than RH 6.2.

    This reflects when the tests were run, not any intentional effort to exclude the latest and greatest MySQL (or Postgres or Oracle, for that matter). In fact, given the above data, most Slashdot readers should be able to pin down when they started benchmarking to at least the nearest week!

    1. Re:Interesting tidbit from the Great Bridge PR by jslag · · Score: 1
      Postgres doesn't have any in-the-database way to split indices and data across two drives, a major shortcoming for those with huge databases in particular (and something that will change in the future).


      I was just looking into this a few days ago and became briefly alarmed - but it's really not that big a deal; if you're using RAID, this is taken care of you by the RAID hw/sw. If you're not, then you can simply move files from pg's data directory to another drive, and symlink to them. This allows for tuning with a fine degree of granularity (figure out exactly what table / index / etc. goes exactly where) - seems like the main downside is that you need to shut down the db before relocating files.

  106. I am shocked! SHOCKED! by electricmonk · · Score: 1

    ...In other news today, Microsoft is contesting the claims of the latest benchmark that showed Linux to be a faster server OS.

    C'mon folks, the only purpose benchmarks serve is to present a set of select statistics that help the advertising department of one company or another (or, in this case, rabid fans of open source projects.). Why does anyone care anymore?

    --
    Friends don't let friends use multiple inheritance.
  107. Black Box Testing by _anomaly_ · · Score: 1

    It seems as though the major benchmarks released as of late have been questionable at best. Maybe people doing these benchmarks need to take a long hard look at their approach to the benchmarking process. You could apply the black box testing method to benchmarking in such a way that you test/benchmark "easy" data, "typical" data, "extreme" data, and "illegal" data.

    --
    "I have no special gift, I am only passionately curious." - Albert Einstein
  108. Is there a site with comparative review of OSS? by Drashcan · · Score: 1
    This discussion raises interesting issues, certainly for people new to open source software, Linux in particular, who in many cases would like to start with teaching themself the best product available at the moment.

    Hence my question: Is there a website which provides comparative reviews of open source software or more simply put, which says which freely distributed software, not necessarily open source, is the crème de la crème for the Linux/FreeBSD platforms?
    Before one could find such reviews on the LinuxWorld website. Right now there is a terribly expensive and I do not know whether very objective, monthly publication called Linux Format (its website just contains Slashdot-like news).

    Singing Skunk, singing false, so lonely!

    --
    The nice thing about Windows is: it does not just crash; it displays a nice little dialog box and let's you press 'OK'
  109. Re:Actually... by dizee · · Score: 1

    I hope that wasn't directed at me.

    Nowhere in that post did I say "you should throw away any database you are using now and use the beta version of MySQL because it has transaction support!" I don't care about transaction support nor do I care if anyone else cares about transaction support, I was simply stating a fact.

    I don't pretend to know what you use your db for, but I have several databases under MySQL, one of them has a table that has over 7 million rows (RADIUS logs), and it preforms quite well for what I need it for.

    Let me reiterate, it preforms quite well for what I need it for.

    Mike

    "I would kill everyone in this room for a drop of sweet, tasty beer."

  110. Just between you and me.... by chris.bitmead · · Score: 1

    The better of the two proprietry dbs in the test was Oracle. The lessor of the two was MS-SQL.

  111. What about DBMaker? by bitr8 · · Score: 4

    All this talk about DB's for linux, but nobody ever talks about DBMaker (www.dbmaker.com). It is a free database for linux, just not open source. It has support for PHP - PERL - PYTHON - ODBC - JDBC, excellent documentation, and supports transactions, locking, triggers, proceedures, and etc.

    I have not had the time to evaluate it in depth, but plan to in a few weeks. Soon I will have to make a choice between MySQL, PostgreSQL, and DBMaker. Has anyone had good results with DBMaker?

  112. [Re:show me the numbers] Good ones, this time. by Christopher+Cashell · · Score: 1

    Yes, but these benchmarks are essentially worthless.

    The newest benchmark listed on that page that includes PostgreSQL and MySQL is dated October 5th, 1999. I'm afraid that just doesn't cut it. That's several minor releases and one helluva major release behind on PostgreSQL, and prolly somewhat behind on MySQL releases, as well.

    I saw mention in some comments that this was most likely due to lack of time, and that's prolly true, but t hat doesn't make these benchmarks any more valid.

    Additionally, as quoted on that page:

    As some entries are posted to us from anonymous MySQL users we can't guarantee that all benchmarks are completely accurate, so we suggest that you run the benchmark yourself on your favorite database.
    This also invalidates these benchmarks entirely, as far as I'm concerned. As the MySQL author stated in his article, unless you can do a benchmark correctly, including full discloser of information on all accounts of the testing, then it is less than worthless. These pretty much fall into that catagory from what I can tell.
    --
    Topher
  113. MaxSQL by KFury · · Score: 4

    I'm surprised that in neither of the MySQL vs Postgres SQL stories has anyone commented on the near release of MaxSQL.

    MaxSQL, made by the mySQL folks, will have transaction support, long the last line of defense in postgresSQL's "we're better because" flamewar.

    Frankly, the next year is going to be very interesting for the open source SQL market, and not so good for the big players. (I hear Informix had to lay off hundreds on the peninsula last week).

    Kevin Fox

  114. Re:You should drag it out anyway by nsane · · Score: 1

    So postgres isn't an ACID database. More like ACI.

    --
    i have misplaced my signature.
  115. Re:Of COURSE these benchmarks don't mean anything. by SuiteSisterMary · · Score: 1

    I'm sorry, do I actually have to drag out the ACID definition of a RDBMS, and point out all the places where MySQL does NOT meet the criteria, and hence can NOT be defined as a Relational Database Management System, or even a Relational Database? Try to understand what you're talking about afore ye sling the troll accusations, bucko.

    --
    Vintage computer games and RPG books available. Email me if you're interested.
  116. Actually... by dizee · · Score: 1

    MySQL, starting with 3.23.15, has transaction support. Given, 3.23 is a beta series, but it's been in beta for quite a while, it should be fairly stable. Transaction support has been in the 3.23 series since this May.

    Of course I speak with no authority, because I haven't used any of the 3.23 series simply because I don't really need transaction support (although I'll admit I should be using them).

    Mike

    "I would kill everyone in this room for a drop of sweet, tasty beer."

  117. There Ain't No Fair Benchmark by Christopher+B.+Brown · · Score: 3
    The problem which these guys have all huddled around without actually saying is that there's No Fair Benchmark.

    If you visit TPC.org , you will find that they don't have one benchmark, but rather about four, with substantially different purposes:

    • TPC-C is intended to determine throughput of a transaction processing system in creating transactions;
    • TPC-H measures performance on what is intended to be an "ad-hoc DSS environment."
    • TPC-R measures performance on "business reporting," intended to be more like "typical DSS reports."
    • TPC-W measures performance on a "web transaction" workload.
    These are all substantially different kinds of workloads. Just as MySQL and PostgreSQL are substantially different kinds of database systems.

    The notion that there can be a comparable benchmark between the databases is something of which people should disabuse themselves.

    If you need to have high performance transactional behaviour, I would point out that ODBC is NOT the issue; regardless of whether the SQL-CLI drivers suck, the important point is that neither database fully supports the industry standard SQL/XA or X/Open DTP and XA standards.

    Serious transaction systems commonly use transaction monitors like BEA Tuxedo or Encina, interfacing via XA to a relational database (like Oracle, Sybase, DB/2, Sleepycat DB, TimesTen, ...). From that perspective, MySQL and PostgreSQL are both still "toys," although SDTP - A Multilevel-Secure Distributed Transaction Processing System outlines how an XA interface to PostgreSQL was constructed in Common Lisp for use in a set of applications running on FreeBSD.

    If you build a benchmark based on an application exercising the strengths of MySQL, it will probably perform badly when used with PostgreSQL, and vice-versa.

    Take these systems seriously when they start supporting things like XA, and when BEA makes Tuxedo available for use with them.

    --
    If you're not part of the solution, you're part of the precipitate.
  118. this dude needs a grammar checker by TheSnakeMan · · Score: 1

    I can appreciate the fact that he wants to refute the benchmarks; he may even be right about everything. I don't know, it's not my area of expertise. But what I do know is that if you are trying to debate an issue, in order to present your argument successfully, it is best if you can do it with good grammar.

    This article had a whole bunch of grammar mistakes that probably would be caught if there had been an editor involved. Ah well, the one thing the web doesn't usually provide us with; someone to help control content.

    --

    They're putting dimes in the hole in my head to see the change in me.

  119. More info: make your own conclusions by szap · · Score: 4
    See the The posgres-general mailing list for more info regarding the benchmark, esp. comments from the Great Bridge Hacker Relations guy (Ned Lilly). In short:
    1. The proprietary RDBMS tested "were not IBM, Informix, or Sybase".
    2. One "other" propriety RDBMS "prefers to run on NT"
    3. Every RDBMS tested used ODBC, so every RDBMS is handicapped by it ("apples-to-apples" comparison).
    4. The test system specs: single 600MHz Pentium III, 512MB RAM, 2x18GB SCSI hot-pluggable.
  120. Re:i'm sorry by drq · · Score: 1

    nothing like someone who takes up space with a worthless comment like "Sorry for the flame, but it has to be said and I will keep saying it until people do some homework"... offering no real commentary or opinion. my opinion... mysql is not enterprise. it has along way to go. Q

  121. Uh? by kuroineko · · Score: 1

    I don't consider MySQL to be anything more than
    a spreadsheet with SQL interface. I absolutely
    disagree with what Monty and the gang say about
    DRI and other basic RDBMS concepts.
    However. It is good when people `take it personally.'
    Comparing MySQL to PostgreSQL is apples to oranges,
    these two are too much different. PR from Great
    Bridge is a pure marketoid mumbo-jumbo and it
    severely undermines the reputation of PostgreSQL.
    PG used to be the only option for small
    businesses that want something robust but can't
    afford an industrial DB. GB's PR indicates that
    suits are taking PG over and one can't be sure
    about it anymore. Too bad. And too pity. This PR
    won't bring new developers to PG project, neither
    it'll make people give up `that other DB' and
    start porting to PG like hell. These two goals
    can only be achieved by product quality and reputation.
    Your average MBA just doesn't get it. PG used to
    be perfect in making new friends, but I wouldn't
    bet this will remain the same.

    --
    KuroiNeko
  122. Re:Of COURSE these benchmarks don't mean anything. by ndfa · · Score: 1

    I agree that MySql does not implement many of the features that an RDBMS should... heck I belive transactions are still not there yet. But if we were to drag out Elmasri or some other book we would surely find some problems with other just the same! The benchmarks are of course still trash!

    --
    Non-Deterministic Finite Automata
  123. Re:Developer Shed a pr0n site? by karmma · · Score: 1

    If it was a pr0n site, there would be 14 pop-ups when you close the window - not just one when you open the window... erm... or, so i've heard.

  124. i'm sorry by Erik+Hollensbe · · Score: 2

    you know, i haven't even read this yet.

    Because, it's just going ot be some silly bickering about how his program wasn't benched because it DIDN'T MEET THE MINIMUM REQUIREMENTS.

    You know, I can write a template parser in perl in 5 minutes - it handles one tag: INSERT. Bench it against cold fusion on a load test, and it might win. Bench it on a feature test, and who do you think will win?

    But of course, that gives me a wonderful reason to complain because my program is not even up to snuff with the "ANSI CFM Standard" (humor me here), therefore it doesn't even finish the test much less pass it.

    Comparing MySQL to Postgres or Oracle is like telling a 3rd grader to take a calculus exam.

    Sorry for the flame, but it has to be said and I will keep saying it until people do some homework, look at the feature set, and compare it to the ANSI SQL *STANDARD*. If they've still got a reason to complain, well, I feel for their employers and especially those who may do sensetive transactions through their databases.

    Erik

  125. Re:Of COURSE these benchmarks don't mean anything. by pergamon · · Score: 1

    he never asserted that it did meet any definition of any sort of database or DBMS.