Postgres Beats MySql, Interbase, And Proprietary DBs
Mike writes: "An independent organization tested Postgres 7 vs. MySql, Interbase, and two leading commercial databases using the ANSI SQL Standard Scalable And Portable benchmark and found that Postgres was the clear winner. In fact, Postgres was the only open source database to offer similar performance to the two commercial applications. The results are detailed here."
Even if there have been "a pretty huge amount of changes" as you state, it's still marked as a beta product. As for myself, I wouldn't use a beta product in a production environment until it's been marked as stable by the developers, no matter how stable other people might say it is. That's why I use MySQL v3.22 right now. If something is marked beta, there is more than likely a reason for it. It would be irresponsible of me to risk using it and risk losing customer's data. I'm sure other businesses and individuals can't afford to take those risks with their data either.
Prevent email address forgery. Publish SPF records for y
9 out of 10 people say Statistics can be made to mean anything you want.
2 out of 13 people don't understand statistics.
45 out of 51 statistics are made up on the spot.
3 out of 4 people don't know how to spell Statistics.
A Dick and a Bush .. You know somebody's gonna get screwed.
War is necrophilia.
>They don't whine about their competition not
>being "SQL compatible" (a debatable term in any
>event). They don't lie about how the competition
>"isn't relational." They don't sneer about how
>the competition is "just a front end to the file
>system."
Have you read the MySQL docs?
Their section on why not to use foreign keys at best makes me laugh, at worst makes me cringe. This sentiment is even shared by most of the MySQL fans I know.
They gloss over their lack of sub-selects with an example that doesn't require the feature.
They gloss over the lack of transactions and commit/rollback syntax by suggesting table locking, which simply is not practical in high volume environments. Moreover, their examples neatly omit the idea that you may need to lock a *LOT* of tables, stalling updates to most of the database in order to circumvent the lack of MVCC.
Whether you want to admit it or not, the drawbacks in MySQL are *VERY* real, and the MySQL documentation trys to play them off as minimal annoyances.
I find their lack of responsibility in this more offensive than a few causally posted insults.
...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.
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.
The Queue Principle
I read the article. I was asking rhetorically. My point is, they were running the TCP benchmark without the benefit of TPC's expertise. I'll wait until the TPC itself runs it. Also, the price/performance thing is hardware/software. Theoretically, that should give free(beer) databases an edge, right? hmmmmm, wonder why the top ten is MS SQL? could it be it's the best product for the money? Nah.....
---
DO NOT DISTURB THE SE
It was added a while back. And still, mysql (when using MyISAM) is a lot faster than competing databases. Sorry I've done my independant benchmarks in the "real-world".
Don't believe me, just test them out for yourself. MySQL opens a can of whoopass, but people just don't realize that I guess...
I really strongly encourage everyone to benchmark their database servers independantly, instead of trusting these "independant" companies like.... well we all remember MindCraft, can we trust these organizations?
Ever need an online dictionary?
A Dick and a Bush .. You know somebody's gonna get screwed.
War is necrophilia.
The tests were performed using ODBC drivers. ODBC drivers vary widely in quality but are always inferior to the native API of any given database. For Interbase they used the ODBC driver from Interbase 5. This is a notoriously poor performing driver. I've found Interbase to be as fast as SQL Server 7 and nearly as fast as Oracle 8i when accessed using native methods.
I'm no lawyer, but I would have to wonder if there isn't a constitutionally protected right to free speech that prevents this sort of "license" from having any force.
I do not have a signature
*IF* you are in a production environment, you need a *real* RDMS, NOT MySQL (a file system with a SQL interface).
PostgreSQL sounds cool, will look deeper for my next DB server.
Visit DC2600
Eve Fairbanks says I drive a hybrid!LOL
That is because it is not a REAL RDBMS.
Visit DC2600
Eve Fairbanks says I drive a hybrid!LOL
How do you edit those PDF docs?
Matt. Want XML + Apache + Stylesheets? Get AxKit.
In fact, I got the O'Reilly book on MySQL(don't get this one, get the New Riders book if you need to have a book.) and I found myself referring to the MySQL help file for most things. I certainly trust it more than the book for correct information.
No, Thursday's out. How about never - is never good for you?
This is pretty surprising to me. The reason I originally chose MySQL was because of Linux Journal's reporting of how it stacked up with Oracle and the other commercial DB's. Hmmmm...
--
Quantum Linux Laboratories - Accelerating Business with Linux
* Education
* Integration
* Support
*Condense fact from the vapor of nuance*
Moderators, start stocking up on your points, because it'll get ugly.
--
Ben Kosse
--
Ben Kosse
Remember Ed Curry!
- But mysql is faster! - who cares, mysql doesn't do transactions
- who cares, most web apps don't need transactions
- well i hope you don't expect to do anything important without transactions!
etc etc etc etc
At least MySql is GPL now so noone can go off on THAT. But seriously, I find this story interesting, but geezus, let's get another section for these types of story. like a Database section, or maybe Flamebait section.
sig:
sig:
See the "..for smart people" banners Wired runs here? Look elsewhere guys.
They make the point that AS3AP test is read-only and should have been a piece-of-cake for MySQL, if you believed MySQL's slashdot-enhanced reputation as the ultimate in web automation.
Instead, it's looking as though MySQL is only fast when it doesn't matter: when there aren't very many people using it.
The Postgresql people insist that the results of these benchmarks were completely unexpected... they knew that they'd improved things a lot, but they'd never made an attempt to measure it before. It's understandable to suspect that the "independant agency" was watching which side it's bread was buttered on, but it's also obvious that Great Bridge really needed to know this information, *someone* had to do these tests, and who else was going to pay for them?
It's all very well and good to take benchmarks with the proverbial grain of salt, but you can't just throw out data because you don't like the result.
This 'article' is nothing more than a press release from Great Bridge.
There may be some additional information learned by reading the results of the benchmark from
http://www.tpc.org/New_Result/TPCC_ Results.html
Although I am having a hard time finding any reference to Postgres on that page. Can anyone find any better references?
-k
The first "top ten results by price/performance" stuck strictly with MS SQL Server, which we all know doesn't run on Linux. Besides, how do you rate a product in price when it has no price? Postgres can be downloaded and used freely.
um... Not unless your hardware and personnel are free. From http://www.tpc.org/faq_TPCC.html
Q: What do the TPC's price/performance numbers mean?
A: TPC's price/performance numbers (e.g. $550 per tpmC) may not be what you think they are. When first analyzing the TPC price/performance numbers, most people mistakenly believe they are looking at the cost of the computer or host machine. That is just one component, and not always the major component of the TPC's pricing methodology. In general, TPC benchmarks are system-wide benchmarks, encompassing almost all cost dimensions of an entire system environment the user might purchase, including terminals, communications equipment, software (transaction monitors and database software), computer system or host, backup storage, and three years maintenance cost. Therefore, if the total system cost is $859,100 and the throughput is 1562 tpmC, the price/performance is derived by taking the price of the entire system ($859,100) divided by the performance (1562 tpmC), which equals $550 per tpmC.
Someone who was very familiar with Postgres and not very familiar with Oracle, Informix or whatever else might easily obtain that sort of result. A misconfigured database can creep along at a snail's pace.
--
As a matter of fact, I am a lawyer. But I play an actor on TV.
OTOH, Oracle can be slow if you don't configure it right. Which is one good reason to prohibit benchmarks :-)
This is very very true.
The native interface to Oracle is *much* quicker. Having used Native drivers to Oracle on ColdFusion machines I can definately say it works quicker than ODBC.
At my work we write scalable applications and in the near future I would like to sit down with a copy of Oracle, tune the hell out of it and spend a week optimizing the atabases, PostgreSQL and Oracle, and MsSQL 7.0 because Benchmarking just one system like a Database is not really telling, Stick it on one of my Cluster of ColdFusion machines and lets see if the DB can keep up with the rest of my Application.. THEN I will be impressed not until then.
I read the TPC Benchmarks I even know how they work, but they still seem useless to me because We cant afford some 70K / Year Oracle DB Admin to come and constnatly Tune our Databases for us, if I cant learn enough to get it resonably well configured in a certain time frame I will go with something that *CAN* handle the load, and if only Oracle can ( which I dont believe ) Then we would be forced to find a solution that performs, But I have a copy of DB2 as well and you guys would be very suprised at the little places support for Databases come from.
I have read and installed ColdFusion on Linux and in the documentation and release notes Allaire has instructions on how to set up Both MySQL *AND* PostgreSQL via ODBC, so its not like a native driver, but it is support and I find it rather impressive that a big company that is more or less leading the way for commercial web application development platforms reaches out to support both MySQL and PostgreSQL.
My opinon is if you cant do much with the database what good is it?
Jeremy
If you think education is expensive, try ignornace
Has anyone noticed that some open-source marketeers are beginning to really resemble their closed-source peers? This press release just reeks of FUD; how many times is the word "proprietary" snidely used? If it were "innovat*" this could have been written by a Micros~1 lackey - there aren't a lot of other differences.
I'm as big an open-source and free software proponent as anyone I know, just as opposed to proprietary code, and I've even specifically used and recommended Postgres in the past. And still I think that adopting these methods is not the way, because they represent a lot of what was wrong with the proprietary model. The MBAs who put this little exercise together have no idea what they're selling or why - they just want to sell it now, through any means and at any cost to the truth. The real virtues of Postgres, open-source, or anything else get lost in the hype.
I personally fell asleep halfway through reading that mess. I've only just now woken up, and dammit, I'm cranky.
-- Life is short. Forgive quickly. Kiss slowly. ~ Robert Doisneau
We paid for the test. Xperts worked as a contractor to Great Bridge. Look, this isn't vendor FUD. This is an open source company sharing its research with the open source community. Feel free to ignore the results if you find them somehow tainted. Our hope is that by releasing our findings, others will try the same tests. Regards, Ned Lilly VP Hacker Relations Great Bridge
Which probably explains why one of the biggest goals in the slashcode is database independence.
With 200,000+ users, slashdot is not exactly a small application anymore.
No, Thursday's out. How about never - is never good for you?
The MySQL online manual is very thorough. Print it, and it would be better than the books that are out there.
It was nice of you to give a URL to documentation, and then suggest that we print it; however, you give the URL of the "by chapter" HTML documentation, which would take a hell of a lot of clicking to print! On that subject, I've been searching high & low on MySQL's site for some time now, looking for a PDF version of the manual that I can download and/or print; there are hints several places on their site that such a document exists, but I can't find it. Can anyone help?
Thanks,
- Mike
PostgreSQL in the past was indeed clunky and slow. However, it has improved vastly in the past two years and the PG developers have worked very hard to correct problems inherited from the Berkeley times. Unfortunately PostgreSQL still has the old times fame but it certainly is a much much better product and in does not deserve that fame anymore.
Ummm, maybe you could read my post above that the price includes hardware, thus free(beer) databases should have an edge?
---
DO NOT DISTURB THE SE
The two industry leaders cannot be mentioned by name because their restrictive licensing agreements prohibit anyone who buys their closed source products from publishing their company names in benchmark testing results without the companies' prior approval.
Apparently, if you succumb to the MS, or Oracle virus (or whomever it was they tested), you're not allowed to talk about your experiences comparing them to other products. I wonder exactly how legal that clause is in the license....
D
- Existing apps, Oracle Financials comes to mind
- Support contracts and abundance of "educated" personnel. Though the "educated" personnel thinks in categories of using "sqlImport" and other stuff intsead of perl two liners for data import and uses half a year for stuff that takes 15 minutes and does not want to f... learn (there are few exemptions of course). But it is still some personnel. To use and to hold. And if you stay strictly within the limits of applications and methods where Larry's vision have put you now this personnel is worth its money.
But the reasons you quoted are complete shit...Baker's Law: Misery no longer loves company. Nowadays it insists on it
http://www.sigsegv.cx/
We like Postgres. But it couldn't get us home when we needed it to.
bart
I'm really sick and tired of the flaming directed at MySQL for no other reason than that it is successful.
The proponents of Postgresql have completely lost any credibility with me. Their unending whining about MySQL's limitations are topped only by how they duck the touchy issue of Postgres performance.
Today's article is supposed to address that. So Great Bridge plants a deliberately biased "benchmark" (oops, mortal sin, I used the B word) which, unsurprisingly, puts the competitors at a disadvantage by artificially forcing down their performance via ODBC drivers so they will match Postgres' slug-slow performance.
And what we have is a PRESS RELEASE about a BENCHMARK. Can it get any lower than that? Shame on Postgres and shame on Great Bridge. When MySQL does comparisons, they publish entire tables showing the features for each database in the test, they show the run results, and they make the source code available.
They don't whine about their competition not being "SQL compatible" (a debatable term in any event). They don't lie about how the competition "isn't relational." They don't sneer about how the competition is "just a front end to the file system." By the way -- many are now arguing that it is better to run Oracle, DB2 and other systems that have a native disk mode through the file system anyway -- see the very informative Slashdot discussion on this a few weeks ago.
No, Monty and the MySQL folks just keep doing their thing, improving an already good product and sticking to a clearly charted development course. They have responded to the market and GPLed their code and are adding other features. When they get to subselects I'll probably be using it.
That's right, I'm not even a MySQL user these days. I still use R:Base, everyone's favorite database to piss on in the early 1990s, just like you losers are pissing on MySQL now. Only problem with R:Base (aside from it not being open source, I'm still trying to get their attention on that) is that it has virtually no marketing. But it is rock-solid, as ANSI92 SQL compatible as anyone, supports all the features of Postgres and then some, and runs like a bat out of hell.
If the Postgres crowd will stop flaming, whining and lying, I will start taking Postgres seriously again.
-------
Bill Gates Is My Evil Twin.
My suggestion for you would be to download a program like WebCopier(you can find it at tucows) so you can download the whole directory at once, no clicking required. I'm not sure what the Linux equivalent would be, but there's undoubtedly something on freshmeat. Then do a global search and replace from the mysql site to your own site or directory. Besides, wouldn't you prefer HTML to PDF? :)
No, Thursday's out. How about never - is never good for you?
If you just want to use it (and not admin it), O'Reilly's Programming the Perl DBI has some info on accessing a PostgreSQL DB (hint: it's not that different from any other DB when seen through DBI). Oh yeah, MySQL & mSQL, also from O'Reilly has a little bit about it (but not very much at all). I guess readmes, man pages and HOW-TOs are your friends for the next couple months.
If you're really curious, throw it on a test machine and (if possible) "port" some apps to use Postgres instead of MySQL or whatever. You probably won't reach any real conclusion (or do nearly enough work to justify moving to another DB for a production environment), but the effort will very likely get you very familiar with how it works, how to set it up, how to admin it, its performance, its quirks, etc. That's both a good and a bad thing, BTW... :-)
-B
Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.
They ran the tests through ODBC, meaning that the performance of the driver (or lack thereof) becomes a huge bottleneck. All this benchmark tells us is that Postgres has a well-optimized ODBC driver. It says very little about the underlying performance of the RDBMSs in question.
-- CompTechNews Message Board: http://comptechnews.com/ --
The article/press release/marketing FUD does not lend itself well to peer review, which is as important to technical journalism as it is in the scientific circles.
Here are the questions that came to my mind:
Of course, they may not want to reveal these informations for fear of peer review. *sigh*.
--
Quad Xeon machines are doing around 25,000 transactions per minute on the real tpc tests (here) so for a 2-cpu machine to do 300 per minute is not terribly impressive. I think it's probably the trivial hardware that was holding those test back, though, rather than postgres per se.
With only two disks the tests were almost certainly disk-bound, which would explain the striking similarity in the TPC-C results for all three vendors. I doubt any of the database systems really got a chance to hit their stride.
So the bottom line is that we still don't know what postgres can do given reasonable HW, by which I mean at least 4 CPU's, 2GB memory, and 16 disks.
Hello, Great Bridge?
Hmm... I may have to take another look at Postgres. I've been using MySql in the name of speed and because, for what I'm doing these days, I don't really need Postgres' more advanced features. I had heard that Postgres was slow as hell and a serious resource hog, but I'll have to do some testing of my own. Is there a Postgres admin here who'd like to tell us what kind of resources Postgres demands? After all, the horror stories I've heard might have been coming from people trying to run it on a 386 with 6 megs of RAM.
--
Proud member of the Weirdo-American community.
It's one thing to claim to be enterprise ready as a databse product. It is quite another to be one.
Before I get started, I should hasten to mention that I work on developing DB2 UDB and therefore anything I write is biased and should be viewed as such :-)
Enterprise-ready is one of those phrases which gets bounced around a lot. But what does it mean for relational databases? In my opinion, it at least includes the following:
At this point, I don't know what the score is for PostgreSQL on the above. Any expert care to comment?
Cheers,
Toby Haynes
Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
Sadly, the docs are not free. Now, I'm not really whining about shelling out the $40 or whatever for the 'interbase handbook' or whatnot; my complaints are these:
Timeliness. Programs CHANGE! Open projects change QUICKLY! You must have open docs, or at least docs not committed to paper, to revise them.
Sheer quantity of docs! Ever used Oracle? Oracle8: The Complete Handbook is not all you need! You inevitably end up buying the whole goddamn bookshelf! RBDMS's are complex beasts! With that in mind, closed docs means that such a project can't be called 'free' after all.
I guess it's 'Raymond Open' not 'Stallman Free'.
Bullshit! If that were "fair" then Consumer Reports would have nothing to do. Buying competing products, and pitting them against each other under identical circumstances is a time-honored tradition. You're even allowed to make TV commercials about it (to wit, the "Pepsi Challenge" ads are nice examples, as are any which have statements like "FooWidget outperforms BarWidget 2-to-1 on {whatever}", which happen all the time. It'd be VERY hard to enforce that clause of the license, methinks. D
It's a pitty that users new to database concepts and database-backed websites are misled to believe that MySQL is a robust database product. It's NOT ! It wasn't designed nor written to be.
Without
- Transactions (recently partially added in MySQL)
- Procedural languages (PG supports at least 3: PL/PGSQL, PL/Tcl, PL/Perl)
- Subqueries (e.g: SELECT foo FROM bar WHERE bar IN (SELECT bar FROM foo2) )
- Multi-Variant Concurrency Control (absolutely essential for websites - Readers don't wait for writers and writers don't wait for readers)
- Referential Integrity
- Much of the SQL92 standard
MySQL should only be used in applications that did not require any security or where the integrity of the data is not important (why would you want a database of inconsistent data?)The features that I mentioned above are crucial to any database product. Without them you will be spending much more time and effort trying to implement in the application level, things that should be handled by the backend.
Look at the Sourceforge bug reports page and you'll notice that most of the problems they face are due to their poor choice: MySQL. I am not saying that MySQL does nat have its space... it does, but it's not in the enterprise and it's not in important data.
Quit whining about the ODBC deal. Stick to the facts: without these features MySQL is very limited.
People who scream "FUD" without reading the article really annoy me. Mind the allcaps, please; But I feel it is necessary, so that this actually gets through some of the skulls out there.
"THE TWO INDUSTRY LEADERS CANNOT BE MENTIONED BY NAME BECAUSE THEIR RESTRICTIVE LICENSING AGREEMENTS PROHIBIT ANYONE WHO BUYS THEIR CLOSED SOURCE PRODUCTS FROM PUBLISHING THEIR COMPANY NAMES IN BENCHMARK TESTING RESULTS WITHOUT THE COMPANIES' PRIOR APPROVAL."
I benchmarked Oracle and Microsoft-SQL against one another for box weight (that is, how heavy the software, packaging, and associated manuals are) and found that the differences are scale-dependent. Overall I found that Oracle was heavier.
Go ahead, guys, sue me. Good luck; you'll need it.
There's no such thing as free speech. Haven't you noticed that the First Amendment to the Constitution reads:
Libel, slander, copyright trademark or patent violations, licensing agreements, saying posting or printing anything that someone with more money and more lawyers than you doesn't like...Free speech is a dream. --jbEveryone seems to be missing the fact that it is a press release by a company providing support/etc for Postgres. Now, I don't know about you, but this raises the "benchmarketing" alarms for me.
Not to say that this isn't true. However, as I browsed the release, I noticed things like "1-100 client connections", which tell me that there is a lot of maneuvering room to pick the best values.
Jason PollockAccording to those benchmarks, postgres is very impressive. I'd like to learn more about it.
I liked the New Riders book on MySQL. Is there a similar book from any publisher for postgres?
Or maybe some good web sites?
Torrey Hoffman (Azog)
Torrey Hoffman (Azog)
"HTML needs a rant tag" - Alan Cox
Bartwol had it right -- it was a combination of memory leaks and having to take the db offline to Vacuum it.
I have yet to see a database that doesn't require a large amount of "rigamarole": some of it nightly, some of it weekly, and maybe even some of it annually. When you're dealing with something as complex as a modern RDBMS, maintenance is a given. A good DBA will automate most of it, with notification of exceptions, of course
Well, if you were running Oracle, once the sucker is running it never comes down -- not for backup, schema changes, moving tables to different disks -- nothing. It takes some expertise, to be sure, but it all makes sense.
You're right that there's a lot of work in a production database -- capacity planning, performance analysis and tuning. A lot of it's kind of fun. On the other hand, things that I consider rigamarole are when the admin has to do stuff that should be the system's jobs: freeing memory pointers and reusing disk space.
It sounds like the memory leaks have been fixed, and what remains is the vacuum process. For applications that don't need to run 7x24, this is not so bad.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
also, i'm all for postgres, but doesn't it seem funny that their business is based on postgres solutions, and now they come out with this "independant benchmark" claiming that postgres is the best?
This could be another attempt at "benchmarketing" ;)
-Doviende
"The value of a man resides in what he gives,
and not in what he is capable of receiving."
"The value of a man resides in what he gives,
and not in what he is capable of receiving."
--Albert Einstein
This reads more like an ad than a benchmark. Then again, it wouldn't be tough to beat MySQL. Maybe the two 'leading closed source' databases were MS Access and FoxPro.....
Icebox
Borland has just recently released its source code and so what we have now is an open-source, royalty-free, Borland-quality database to use and abuse.
Download links are:
Client and server source code
Server Linux binaries
From personal experience, Interbase is perfect for a tight budget situation where you need to server a medium-size userbase.
--
Kiro
Er... I really can't comment, other than to say that it's not IBM, Informix, or Sybase ...
Why can't you comment? Is it because of restrictive EULAs that won't let you disclose the results of benchmarks?
I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
There's another missing feature that one expects from a real database: stored procedures. Yes, postgreSQL has user-defined functions, but those are intended only to return a single value. Yes, they can return an ``aggregate'', so you can effectively return a single row, but if you need to return a table, forget it.
There are two edges to the stored procedure sword: no two databases appear to implement them in the same way, so if you contemplate changing databases, it is more ``portable'' and ``modular'' to package such processing in your portable and object-oriented application language libraries, thus obviating the need for stored procedures. On the other hand, if you're more likely to change your language than your database, then putting your logic into your database makes a lot of sense.
The fundamental problem is that, as a standard, SQL isn't. A real standard would cover the whole system, including protocol for connection, C and/or language independent API, authentication, authorization, mechanisms for extensions (e.g., stored procedures), mandatory data types, and more. Put it in a series of RFC's, and then we'd have a real competition. There is no motivation for the big commercial database companies to do any of this; once the open source market begins to dominate, however, there may be some progress. Look for real standards for databases in about 2020.
...against DB2, Oracle, or SQL Server.
Probably the 2 "commercial databases" were 8 year old copies of Informix and Paradox or something similar...
DrLunch.com The site that tells you what's for lunch!
This isn't surprising - everything I have ever read/seen/experienced about MySQL says that it's a pretty fast and simple database for smaller applications, but isn't very scalable (both in terms of features and performance).
I am quite surprised that the Postgres results are almost 3 times that of proprietary databases. That seems kind of fishy - surely the big proprietary databases aren't THAT slow.
But either way, it confirms what lots of people already knew: MySQL is a nice, simple fast database for smaller applications. But for larger stuff, there are better RDBMS' out there.
They didn't do the test because MySQL doesn't support the SQL standard. Is there something wrong with a benchmark biased against non-conformant programs?
Most people who know much about MySQL know it doesn't have transactions and is best used as a read mostly write some database. It's fine for that. It is not fine for big systems.
--
Infuriate left and right
Do any other RDBMS' license agreements have such clauses?
Informix does.
--
As a matter of fact, I am a lawyer. But I play an actor on TV.
Let me preface my remarks by stating that I am a huge PostgreSQL fan. I personally believe that the added features that you get with PostgreSQL are very important, and so I am not very interested in MySQL.
That being said the benchmarks in question definitely play to PostgreSQL's strengths and MySQL's weaknesses. The AS3AP (which is the test where PostgreSQL was pitted against MySQL) involves transactions. PostgreSQL has some very sophisticated support for transactions (MVCC) and MySQL has their kludge interface to Sleepycat's DBM. That alone would explain the numbers.
Which only goes to show what everyone has been saying forever. If you don't need transactions or subselects then MySQL will make you very happy. If you do, well then, you might want to try another product.
Ahh, it hasn't taken long for the MySQL wwenies to crawl out of the woodwork.>[?
PostgreSQL 7.0 is the current production release of PostgreSQL. Try getting your facts right.
--
My name is Sue,
How do you do?
Now you gonna die!
7.0 is the stable release of Postgres, not the "bleeding edge" version. You get that from CVS.
--
My name is Sue,
How do you do?
Now you gonna die!
The reason MySQL was slower was because they used the ODBC drivers. The MySQL ODBC drivers are known to be significately slower then the native drivers. Although I do agree it is probably the best way to test a large number of databases using ODBC drivers, I would like to see the results of all the databases tested using native drivers.
-Tripp
Was it not www.tpc.org that ran these tests? In that case, I don't put much stock in them. Take a look at the top ten results by price/performance or even the complete results by database vendor shows no mention of Postgres. I'll believe it when I see these results ratified by the TPC.
---
DO NOT DISTURB THE SE
Something I think many people, benchmarkers included, forget is that the drivers are important too. What I mean is, if I am going to use a piece of hardware/RDBMS/etc... then what drivers I can use with it are going to be an integral part of my overall experience with the product.
If one DBMS/3D Card has better drivers, even though it is "slower in theory", then that means that my overall experience will be a better one than the "theoretically faster, but with crappier drivers" product.
What does this mean? Trying to equalize products on drivers is often an exercise in finding which product has the most tuned driver. IN the case of Postgres, it appears their ODBC driver is tuned much better than the others. However, very few people I know use ODBC drivers for MySQL, and not many use them for Oracle either. They all use the native drivers. Thus, this benchmark doesn't mean anything to them, because a non-real-world situation was benchmarked.
I wish people would perform real-world benchmarks: i.e., run what people would actually run. That's one thing that I really like about the gamer-oriented hardware review sites. They post a bunch of meaningless BusinessMark2000 and AppMark2k scores, but they also go in and show you how fast the actual games will play on the hardware. That is CRUCIAL to my purchasing decisions. RDBMS vendors should benchmark one database with its best-performing driver vs. another database with its bets performing driver. Then we could really get an inkling of an idea as to how the thing will really perform in the field.
Testing with the same drivers only looks fair; in reality, as in this Postgres benchmark, it was likely the deciding factor to making Postgres "trounce" the competition.
A few comments... The most noticible and glaring issue is the "independant study" was (surprise, surprise) commissioned by Great Bridge, and great bridge's reason for existance is to sell support and services for postgres. Not the strongest indicator of impartiality. The entire press release is designed to sell postgres, not to provide a fair comparison.
Issue two. They compared the bleeding edge postgres (7.0) with the old-as-heck mysql (3.22) - they're now up to revision *22* of the development series for mysql - that's a pretty huge amount of changes. I would have been much more impressed with this if they had ran the comparison between 3.23.22 and 7.0. As with everything, folks, don't believe benchmarks, especially ones in press releases. Believe real-world tests. I've used both, and I'm using MySQL 3.23.22 for my site.
If you take a look here you'll see there's one in the works. However, the author has been kind enough to post the book here :)
--
Mando
The article points out that the companies prohibit publishing benchmark results when you buy their product.
--
As a matter of fact, I am a lawyer. But I play an actor on TV.
I actually had read enough of the AS3AP test to assume that you ran the multi-user tests alongside the single user tests. Other than test 2 of the multi-user tests (Information retrieval) PostgreSQL should have killed MySQL. The second that you start combining writes with those reads MySQL's performance decreases dramatically.
Which is basically why I use PostgreSQL. I have found that I can even get PostgreSQL nearly up to MySQL's pure read performance simply by tuning the DB, indexing it properly, and vacuuming. Just the addition of subselects is worth the upgrade. To say nothing of stored procedures, triggers, or rules. Used correctly these mechanisms not only speed development, but they allow you to access your data quickly and easily. For example, complex queries can be made extremely fast simply by coding in the necessary stored procedures.
Combine PostgreSQL's many strengths with a top-notch development team and the most useful mailing lists I have ever encountered and you have a winning project.
http://www.postgre sql.org/mhonarc/pgsql-general/2000-06/msg00390.htm l
I have yet to see a database that doesn't require a large amount of "rigamarole": some of it nightly, some of it weekly, and maybe even some of it annually. When you're dealing with something as complex as a modern RDBMS, maintenance is a given. A good DBA will automate most of it, with notification of exceptions, of course.
I'd be surprised if your installation (you don't say what you chose) doesn't have a lot of maintenance associated with it, even if cron's doing all of it for you.
--
--
E_NOSIG
OK, this is great news, but performance isn't everything. I didn't go with Postgres for one of my projects last year for a couple of reasons.
The first and biggest reason is that some people who ran it said was that it wasn't as stable as the commercial databases. There was some rigamarole you had to do every week or so like rebooting the daemon or running some utility or another to keep the system from losing its mind. Sorry I can't recall better, but this was a year or so ago. In any case once I set a database server up and running I don't want to have to do anything with it unless something changes in its environment. Does anybody remember this?
Also, this is really more of a nit, but Postgres also lacked some important SQL constructs like outer joins and foriegn keys. OK, you can get around this, but the solutions are ugly and this also makes porting stuff a pain. Last time I checked, Foreign keys had been done, but while outer joins were on the list of features to add no work had started.
It would be nice if it supported all ANSI SQL intermediate language constructs. This would greatly facilitate porting to Postgres.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
It's a rather interesting insight into how badly IBM has done it's database marketing that whenever your 'quasi-technical man in the street' lists databases, noone seems to remember db2. Charles Miller
--
The more I learn about the Internet, the more amazed I am that it works at all.
Any tests that you might have done prior to 6.5.3 are ridiculously outdated at this point. And the difference between 6.5.3 and 7.0.2 is quite noticeable.
PostgreSQL has come a long way since the versions that you are talking about.
Actually, it depends. If you're talking about raw speed then it's often hard to beat MySQL since it lacks most of the features that slow down databases. MySQL has a reputation for being fast, but it doesn't have a reputation for being a replacement for a true DBMS.
MySQL didn't take part in the TPC-C part of the test, because MySQL can't handle TPC-C. It doesn't implement enough of SQL2 for that. :)
In my professional opionion, MySQL needs to drop the My part and adhere better to the SQL part. At least that would make my life easier.
There was a comment on the article at the bottom that gives a link to the original story, which has some pictures, you can find it Here
"The first time I got drunk, I got married. The second time I bought a chimpanzee, after that I stayed sober" Arian Seid
Transactions, yes.
Stored procedures - sometimes yes, sometimes no. There are advantages (increased speed) and disadvantages (decreased flexibility, portability) to using stored procedures. Some shops always use them, some never use them, and the rest mix & match as they see fit. Point being, there definitely are "Real World", well-written db systems that don't heavily use stored procedures.