5 ms·
May I recommend http://www.postgresql.org/ http://www.postgresql.org/? :)
by wsprague 17y ago
May I recommend http://www.postgresql.org/ http://www.postgresql.org/?
:)
- wsprague 17y agoIt is funny to watch this get upvoted and downvoted in real time, as a religious war descends on my little comment...
- knuton 17y agoMay I seize the opportunity and ask why MySQL is the prototypical Open Source SQL database software (LAMP, etc.), when PostgreSQL is considered to be so much better? (This is a serious question.)
- stingraycharles 17y agoI think it's due to a different focus: PostgreSQL chose to be "correct" and feature-complete, while MySQL deliberately didn't implement the full SQL standard, and went for ease of use and, arguably, the best performance. You see this pattern all over the world, Unix versus Windows coming to mind. The best technical implementation of your software doesn't guarantee the best position in the market, even in a tech market.
- wheels 17y agoIn that sense I've seen it as similar to the BSD vs. Linux camps. BSD is correctness, Linux is (often sloppy) pragmatism. Usually the latter wins.
- elblanco 17y agoA pragmatic engineering approach often beats the theoretic "correct" approach in most applications.
- javanix 17y agoIt does occasionally. In my experience, however, sometimes improving a pragmatic approach requires doing things correctly from the ground up. Sometimes the performance gain is worth it, sometimes it isn't. But generally it is there.
- elblanco 17y agoI don't entirely disagree. What I've found is that insistence on "correctness" is often confused with insistence on "minutiae". I suppose that in my experience the latter is usually what people mean when they talk about the former. The result is often lots of wasted resources and time fussing with tiny esoteric details that the end-user will never notice. Correctness is certainly valuable. I've also seen projects go down long paths avoiding correct correctness due to time or resource constraints only to end up with an inferior product. I guess a better conclusion is that a good balance needs to be struck. And I suppose that's ultimately the pragmatic approach, if the "correct" approach is better, do it, if the "get it done" approach is better, do that instead.
- wsprague 17y agoThe trite answer: Because idiot MBA managers have heard of MySQL but not Postgres. (Sorry -- I couldn't resist.) The longer answer: When the internet took off, MySQL was a lot better than Postgres in terms of stability and speed, though not in terms of features. It grabbed marketshare and "mindshare" then, and it has retained them, even though now Postgres is its superior in terms of features, concurrency, and stability. Because of the marketshare snowball effect, it also remains far easier to hire a MySQL tech and to explain MySQL to a non-technical manager. MySQL also continues to lead in the realm of simple andd effective replication, which Postgres does not have yet, though they are working on it (furiously).
- xal 17y agoMysql has great replication support which everyone who does webapps requires. Postgres has bolted on solutions which all don't work well for different reasons. It's really good at all the things that webapps don't tend to use when they get big though. Postgres is far the better database in terms of correctness and sometimes even in terms of speed, it's just that the web use case doesn't need real databases but replicated (fairly dumb) data stores.
- mrinterweb 17y agoI have made plenty of web applications that did not require replication. I would guess that 90%+ of web apps do not need replication due to their low profile.
- compay 17y agoMysql has great replication support which everyone who does webapps requires Not everybody who does web apps needs replication.
- monos 17y agoi'm never quite sure how important replication is for a DB to succeed. up until recently i didn't need it, and now oracle provides master/master - so that's transparent for me. and i don't have to worry about how to setup the apps to be master/slave aware. who really is using mysql replication. and how interesting was a master/slave setup - the only kind of replication provided up until 4.1 (2004). i would imagine if you know howto setup your apps to work with only one master, you would know about postgres. would really be interested if any middle-sized (not slashdot) websites use mysql replication (which setup) and since when.
- fauigerzigerk 17y agoBecause MySQL was the first NoSQL in a way ;-)
- rbanffy 17y agoPerhaps, but not in a good one
- pmorici 17y agoMySQL is easier to use in that it has a shallow learning curve compared to PostgreSQL.
- wsprague 17y agoEasier to install... maybe. SQL is SQL though, so I disagree.
- pmorici 17y agoEasier all around. Have you ever used the MySQL Query Browser, or Administrator Client? you can view, edit create and delete all your tables w/o even knowing any SQL so it sounds like you agree.
- mahmud 17y agoPostgres has a GUI tool as well, but it's slow as molasses and has the table-view option in a tree menu, 4 levels down.
- antonovka 17y agoFirst mover advantage applies to open source mindshare, too. MySQL was faster and supported by PHP. MySQL stopped being faster in a relatively short time, by then MySQL already had the mind-share (and thus resource) advantage. Exact same situation as Linux vs. BSD -- an early boost (in that case, the AT&T lawsuit) led to a long-term lead, regardless of whether that lead was otherwise warranted.
- rbanffy 17y agoThe lead of Linux over BSD has more relation to the GPL and how it is business-safe (as in it's safer to donate source to a GPL project than to a BSD one) than the AT&T lawsuit. If company A donates software S to GPL project G, company B cannot take it and incorporate into its product P unless it's GPL and, thus, usable by A. The same safeguard does not apply to BSD projects, hence, you see companies contributing more to Linux than to BSD.
- antonovka 17y agoThe lead of Linux over BSD has more relation to the GPL and how it is business-safe (as in it's safer to donate source to a GPL project than to a BSD one) than the AT&T lawsuit. If it wasn't for the fact that, feature for feature, FreeBSD is generally on-par (or ahead of) Linux, that argument would hold more weight. In fact, for a non-service organization, it's safer to donate your source code to a BSD project because you don't have to donate all of it. See, for instance, Juniper Networks -- one of Cisco's larger competitors, they rely on FreeBSD to power their routing/switching products, and they employee a number of FreeBSD developers in the process. Quite a lot of BSD development is commercially funded, primarily by companies that rely on the code for their own products. Linux, however, sees considerable contributions from companies that rely on Linux for their service offerings (such as IBM) -- Linux has the mindshare advantage, and as such, a service company needs to support it.
- rbanffy 17y ago"FreeBSD is generally on-par (or ahead of) Linux" They are both fairly mature implementations of Unix. It is expected they shown little difference in feature set. "it's safer to donate your source code to a BSD project because you don't have to donate all of it." Why would you have to donate all of it? I can donate parts of a program to any project I want. What I shouldn't do in this case is to assign copyright to the project maintainer. Linux kernel developers don't have to assign copyright to the Linux Foundation. The case for Juniper is that they can simply adopt an OS, customize it as much as they want and give back to the developers that gave this to them whatever the developers they paid wrote that is not part of their secret sauce. I think for IBM the case is to make it easier to sell xSeries and zSeries servers if they run Linux better. As for the p's, I think they prefer to sell them with AIX. I don't think their service organization benefits much from their involvement.
- oink 17y agoBecause MySQL's cozy like PHP.
- tjpick 17y agoCozy like a bed of nails. So many sharp pointy bits that you barely notice. Just don't try to move or you'll get spiked.
- nfnaaron 17y agoBecause LAMP is a cool acronym. It "lights" the way. LAPP would be creepy in almost any interpretation.
- rit 17y agoHonestly the deal killer for me with Postgres has always been replication. I believe they're rolling out a replication package as part of the standard distribution soonish, but previously it was stated as "not a core feature". There were one or two commercial replication packages which I didn't get a chance to play with, but the "standard" replication for Postgres, Slony, is incredibly difficult to deal with. By comparision, MySQL's replication tends to "just work" (easier configuration, easier to diagnose & fix problems, setup, tweak, etc). It also had a lot to do with marketing and buzz; Postgres seems to have been happy to chug along in the background while a lot of big sites like Slashdot were pushing the tool they used. Keep in mind originally MySQL was not GPL and did not ship with RedHat, the default was Postgres. I recall when MySQL changed their licensing and RedHat started shipping them, it signified a pretty rapid change in what people were using. All things considered, everytime I use Postgres I'm fairly impressed. I've been able to pretty painlessly migrate Oracle based systems directly to Postgres with it's PL/SQL compatibility, and it's Python stored procedure stuff is useful.
- prodigal_erik 17y ago... except when MySQL's replication just fails. On more than one occasion, our DBAs have had to ask engineering what to do about records which differ between the master and some slaves. Something about updates failing at the slaves after they committed on the master, which as far as I'm concerned shouldn't ever, ever, ever be possible.
- rit 17y agoOh, I don't disagree MySQL's replication is a pain in the ass as well - but the barrier to entry is much lower and from the outward appearance (e.g. looking at it for the first time) it looks easy and functional. Slony on the other hand appears daunting from the first look.
- gaius 17y agoThe simple answer: Because Slashdot runs on MySQL. It's not such a bad choice for their app: very simple queries, and reads massively outnumber writes, 1000:1. Unfortunately that's about all it's suitable for.