Re:What I'd have to know to use it:
on
An Online ID Registry
·
· Score: 4, Informative
The answer is No, there is no tracking. All it does is store encrypted data that only you can read, and you can pass tickets to other users which are also encrypted (and can only be read by that user). So this is really not a distributed login system, or a tracking system, it's just a way of confirming that someone is who they say they are. See the White paper for details.
This is not really the same as MS Passport, that is a single-signon system, this is simply a way to verify that someone is who they say they are. The Online ID Registry is not for logging into third party websites.
I am still trying to figure out what to move to from RedHat 7.3. This is a very solid version that I am using, and I have it pretty much dialed in to do what I want. Since RedHat abandoned their users, I have resolved never to touch their products again (and yes, I was quite happy to be paying them for updates, I'm no freeloader). Anyway, I have looked at Debian as the main contender, but it seems to be perpetually stuck in older versions. I know it's entirely possible to mix and match to get what you want with Debian, but Woody is simply too old for me and I don't want to have to install testing or unstable just to get newer packages. I'm currently using the Progeny transition service, but that won't last forever... so, any suggestions? Is slackware a good candidate for switching from RedHat 7.3? Is it very different (I know a lot of the differences may be small, but it's the small details that kill ya when you're trying to get your server back to where it was before the re-install...). Also, I am a little nervous about a distribution that seems to depend on one person. What happens when Patrick decides to move on and go do something else, or just retire? Is there someone else who can take up the slackware cause with as much dedication and knowledge as he obviously has? I don't want to be left out to dry again, searching for another distribution...
Does anyone have any insight on the Dual License model used by MySQL AB? They apparently make MySQL available under both a commercial license and GPL.
So, in theory, the community at large gets to use MySQL "for free" (thus giving MySQL a large user, test and debugging base), while commercial clients that desire accountability and support can get the commercial license (thus paying for all the developers and, I guess, millions of free users). It sounds cockeyed, but apparently it's working for them. Isn't this a good possibility for Open Source projects to make money while still remaining true to the spirit of the GPL?
I will be switching to Debian, but just not quite yet. Why?
I looked at Debian stable ("Woody") and found it to be too old for me - I need the 2.4 kernel at least for my workstation, and I need the same basic system running on my workstation as my server, so that testing has some validity. For example, the USB support for reading my Zio! CompactFlash reader just isn't there in 2.2. I don't wish to mess around with combining stable and unstable - my systems are running pretty well at this point, and I don't really relish taking a giant step backwards to Woody. Sarge will be a lot closer to what RH 7.x is now.
I had two subscriptions to RHN for 7.3, which I have now switched to Progeny for support.
So: If you're using RH 7.x, try subscribing to Progeny and waiting until Sarge becomes stable before switching, it seems like a safe path to me...
I am using Red Hat 7.3, and would like to move to Debian. But Debian "stable" (Woody) is just too old for me - I need the 2.4 kernel (for USB capabilities and performance, among many other things). Debian "testing" (Sarge) has 2.4, but it (according to the Debian docs) doesn't receive as high priority for security updates. I don't wish to "roll my own" set of packages from stable/testing, so what to do?
Well, I am assuming that Sarge will be moved to Stable sometime in the next year, so all I have to do now is wait it out with RH 7.3 until that happens - so, I have subscribed to Progeny to tide me over. It seems like the perfect solution, if you already have stable systems using RH and don't want too much of a change too soon. I get the feeling that Sarge will be much closer to 7.x than Woody is, so when Sarge comes out it should be less painful in terms of package versions.
Plus, the Progeny support costs the same as RHN did - $60/year. And you get to give a big message to RedHat by taking your money elsewhere.
Well, it is relevant if you're running a mod_perl enabled server, even if the file being served is just text. It still has to be processed by the mod_perl processes, which are relatively heavyweight. Whereas, the lightweight front end apache processes can be much more numerous, and don't have the same processing penalty. I learned my lesson when my original Spambot Trap article was published on slashdot - that was text-only too, but the server was slashdotted because of the fact that every httpd process was mod_perl.
One thing for sure - the old server is performing nicely under the load. I put in a front-end reverse proxy (apache + mod_proxy) a while back to improve performance, and it seems to be very effective. The server is still responsive under the load, and no problems at all so far.
Well, apart from the odd flame here and there...;-)
Sorry if I'm mistaken about Windows XP. I just seem to remember reading about this in the computer press around the time that XP was coming out - they were saying that XP would be a lot better because of the millions of lines of new code (and I seem to remember something about it being pretty much a rewrite). I can't find the reference now, of course. I assume there are quite a few people out there who know a lot more about Windows than I do, this was just from memory.
You know, it's quite funny how people will "spin" the truth to suit their own position... my only point, all along, has been that MySQL does work. Very well. Just about the only thing that people like Cajal seem to be able to do is to go out of their way to say that it's a toy and good for nothing much. This leaves me philosophizing about the possible causes for such attitudes.
I can only guess that such animosity exists because some people have chosen to use one tool, they have some knowledge or education about relational theory, and so they feel very threatened when they find out that some other tool, which doesn't adhere to all of their proudly held theoretical beliefs, is much, much more popular and widely used... why, this is a threat to their world view. It might mean that their rigid, fundamentalist, purist approach to the world might be, well, misguided to say the least. No, MySQL doesn't have all the bells and whistles that some other databases do. I freely admit this. But (and this is the part that you apparently seem unable to grasp) all I am saying is that it is an extremely capable database for many, many tasks. What more is there to say, really? It works very well. Large companies use it extensively. I have used it extensively for over four years now. I've had absolutely no problems with it. So I find it offensive when people keep popping up whenever MySQL is mentioned, to denigrate it as a toy, not a "real" database, simply an SQL interface to the flat file system, etc. I find it tiresome that these zealots (there is no other word to describe them, really) find it necessary to slam MySQL at every opportunity. They don't just argue the relative merits, no, they actively slam it as being not worth using at all. This is the main reason I call them zealots and religious extremists. Such people classicly take extreme positions that exclude all other viewpoints, and moreover when challenged or disputed they become rather violent (if only in print) about it.
I believe (and this is just a theory) that these people have a particular kind of rigid, ordered techie mind that requires order in all things. If they find out that some tool does not follow all the theoretical constraints of the relational model, then they find this something akin to sacrilege. These people, in effect, have the technical equivalent of a religious fundamentalist view of the world. They cannot countenance for a second the possibility that it's not actually always necessary for a relational database to support stored procedures, or subselects, or even transactions. No, if it doesn't adhere to their equivalent of the Holy Bible of Codd, then it is an abomination and must be cast out. The parallels to a religious viewpoint here are really interesting - you see the same aggressive criticism from the anti-MySQL crowd that you see from the religious fundamentalists of any religion toward the less strict denominations.
You might argue that we're talking about technical, solid, logical issues here rather than amorphous religious beliefs, but really we're not. It's obvious to me from personal experience that MySQL works perfectly well as a database, in fact it is quite a wonderful tool. Simple, fast, extensible, widely supported and growing in features. It now supports transactions, and the latest versions support subselects and stored procedures. This is all great to have - but it was never necessary in order for MySQL to be a truly useful database tool. How can you not read my previous post, with all these companies and projects who use MySQL for large projects, and still say that it's "not a real database"? Why on earth would NEC, Sabre, Slashdot, Yahoo! and all the users who voted for it on Linux Journal (for six years running!), the millions of other users - why would all of these use such a thing if it was so crap? You (and Cajal) in turn actually refuse to address this inconvenient fact. You simply ignore it, and tell me I'm being "irrational". How bizarre.
Actually, I was trying to wrap up a seemingly endless thread in a slightly humorous way. But since you insist on keeping this thing alive in a way that is clearly inflammatory, let's take a closer look at this "loser" of a database called MySQL.
It's in heavy use on millions of installations around the world. NEC is using MySQL to power its Global Navigator Management Information System. For the sixth year running, the readers of Linux Journal voted MySQL "best database". Sabre uses MySQL to power its Air Shopping products, mission-critical enterprise services that "conduct online travel searches for Sabre Holdings customers such as Travelocity, airlines and travel agents worldwide.". Slashdot uses MySQL. Yahoo!'s Jeremy Zawodney seems to think that MySQL rocks. Yes, all these links are dredged up from the MySQL AB site. No, it's not propaganda - it's real companies, using MySQL to do real work. Simple as that. Sorry if this interferes with anybody's purist views on just how a database should be - I am not denying that MySQL has its share of bugs and design flaws, but my original point (and one that seems totally lost on the religious fundamentalists) is that the story is not that black and white. MySQL works very, very well as a real database, in many, many applications. No doubt PostgreSQL does too. Hopefully both will get better... but I am truly sick and tired of these people dragging out the same old list of "gotchas" for MySQL (which you could, let's face it, build for *any* product if you were just plain obsessive enough about it - which is apparently the case for the anti-MySQL database fundamentalists).
I think the main problem I have is that while the fundamentalists can point to a list of bugs and gotchas, all I can point to is a feature list that just keeps getting better (transactions, subselects and all the rest is now in there), and a set of very successful, large, competent companies, and millions of other installations that work reliably all day, every day. It's not as dramatic to say "it works" as it is to point up problems. MySQL is clearly being actively developed, and no matter what people say about "problems" with error codes (issues which I have never experienced myself, in four years of heavy, daily use) - no matter what the fundamentalists rant about, it's clear that MySQL works extremely well. Go tell Yahoo!, NEC, Sabre, Slashdot, and all the millions of other users that it's "not a real database". Go tell them that they are ignorant and clueless about what a database should be. Whatever.
I agree about the commercial pollution. Here's a thought: How about a search engine that *only* catalogs non-commercial websites? So it could use whatever strategy for ordering results, but the main criteria for being included is that the sites must not be selling anything. Might be hard to enforce (would need a large network of volunteers, I think), but it would be a cool thing that would get back to the roots of the internet and totally avoid the corruption that occurs currently.
Of course, if it became successful then the spammers and manipulators out there would inevitably try to pass off fake "non commercial" discussion sites (which are really just infomercials for products)... but I think this is something that a "real" person could spot fairly easily (but maybe not!)... so, for example, how about a website that "discusses" digital cameras, doesn't sell anything, but it gets swamped with shills for various companies? Tough problem...
Still, it's something to think about. I don't think such a thing could be automated, since real people will always tend to find ways around systems. Any search engine that becomes successful based on some automated algorithm will eventually inevitably be corrupted by smart people. So, you need real people to avoid this - and the only way for that to scale is to use a large army of volunteers (sort of like the dmoz.org, I guess). But the difference with dmoz could be that the sites don't just get catalogued, but actually crawled too.
Even better (thinking as I type here) - how about making it a switch, so you could opt to look only for sites selling something, or only for sites which are non-commercial? Then you have the choice. It would still take a lot of work, but the concept would put us, the users, back in charge (and, I think, be extremely popular)...
Hah, I knew you couldn't resist one last shot! Attaboy! Hey, here's an idea: How about we save people a lot of time and just summarize the next few posts:
Cajal: MySQL sucks! ngunton: Nuh uh! Cajal: Uh huh! ngunton: Does not! Cajal: Does too! ngunton: You elitist, arrogant snob! Cajal: You ignorant MySQL weenie! (ad nauseam)
Um, do I have that about right?
(sorry for putting words in your mouth, dramatic license, I'm sure you'll understand)
We've both stated our positions on this matter, dude. Let's give it a rest now, eh?
Relax, move on, try to let go of your hatred. It's really not healthy (sorry, couldn't resist one... last... barb...
I think your continued posting just demonstrates my original point, which was that there are most definitely religious zealots out there who seem to hate MySQL with quite amazing fervor, simply because it doesn't conform to their own notions of relational purity. Thanks for demonstrating this so effectively!
You point up quite a few "gotchas" in MySQL that do, I admit, seem to be bugs. Whether they are active design flaws or simply outstanding bugs, I have no idea. Fact is, I have never had to dig that deep into the product, simply because I have never had any such problems with it! Believe me, if the thing was as rife with errors and evil as you seem to be suggesting, then I (and millions of other people) would never use it. If MySQL exhibits so many showstoppers, then why on earth would companies like Yahoo!, Sabre, Cox Communications, the Associated Press and NASA all using it? Of course, you'll reply, these companies aren't using MySQL for anything critical. Truth is, I just took five seconds to drag those names off the MySQL website - I have no idea what they are actually using it for. But why would they bother using it at all if it was so crappy? Answer: It's not really that crappy. It's a pretty good database, with flaws, admittedly, but it does work very well for many, many applications. I don't doubt that you could probably pick any product apart and come up with a similar set of "gotchas" to the famous "MySQL Gotchas" page. I think the fact that this page exists at all simply further demonstrates the level of religious, righteous rage that seems to be directed against it... listen, if I was coming into this cold, with no knowledge of MySQL, then it might give me some pause to hear about the Gotchas. But I have the advantage of having actually used the thing for the last four years, on a daily basis, and thus I am in a good position to say with some degree of certainty that MySQL does actually work very, very well.
I really feel sorry for you that you apparently feel the need to put down MySQL at every opportunity. I can see from your other recent posts (here's one, and another, and yet another) that you seem to actually have something of a crusade going on here. Ok, so I've posted quite a bit recently too, but it's not quite the same - I am posting in relation to a thread which I explicitly started. You seem to delight in digging around to find anything that anyone says in relation to MySQL and immediately jumping in to slam it.
Let's consider what we are both saying here. I am simply saying that MySQL is not a heap of crap, based on my own experience of years and the fact that millions of other people use this product very successfully. I'm not trying to say anything negative about anything else, just attempting to offset the bile that spews forth from people like you. You are trying to say that MySQL is in fact a steaming heap of faeces, due to "all these things that it does wrong and all these errors that it doesn't report and all these features that it is missing". Consider what you're saying here! Isn't it even a tiny, tiny bit likely that you're just being a little bit too purist about all this? Can't you accept the remote possibility that, just perhaps, you've gone somewhat overboard in your condemnation of MySQL? No? Oh well.
Ok, so I tried to finish this off in a pleasant way in my previous post, but I guess that didn't work, so we have to resign ourselves to yet another reiteration of MySQL's shortcomings and reasons why there's no possible way that all those millions of people could actually be using MySQL in their applications and products - why, we must all simply be mistaken! It must all be a huge mirage, put out by the evil overlords at MySQL AB! Shame on us all for using such a crappy database, and shame on me
Sorry, but you keep on stating your opinions as if they are fact. MySQL does not "sort of" work, it *does* work, no question about it. You don't like it, and you've stated your reasons why for posterity, and I have the feeling that I could state my feelings on the subject until I'm blue in the face and still neither of us would budge one inch.
Fact is, I don't just say MySQL works because it's popular (though the fact that it *is* the most popular open source database in the world should give you some pause) - I say it works because I know this from personal experience. I have been using it every day, for the last four years. It has *never* failed on me. Sure, it has some features missing that other databases have, and it may not have all the belts and braces of other tools, but it really does work very well, believe me. PostgreSQL had problems with stability until recently, all tools do, but I wouldn't say it was a heap of shit just because of that. PostgreSQL has its uses, and so does MySQL.
Listen, you don't like it - I get it. We don't need to go around in circles. But what I don't understand is your obvious hatred of MySQL... it's just a tool, and I am telling you that it does work, for me and for a lot of other people too. Why get so religious about it? This is like Christians who insist that theirs is the One True Religion and everybody else's religion is just plain wrong. Ok, so here we're talking about specific features rather than relative merits of my heaven vs your heaven, but the point is that a database is for storing and accessing data. MySQL allows you to do that. Does it have all the features of other databases? No. Does it work very well for many, many real world applications out there? Definitely.
By the way, it's incorrect to say that MySQL "never" passes an error. It does. I think what you're referring to is cases where MySQL attempts to make reasonable assumptions in situations where different clients may have varying ways of making a query, and "default" behavior can reasonably be triggered in case of ambiguity. This has honestly never caused me a problem - in fact, you could even make a case for this being more "fault tolerant". MySQL does issue errors for real problems.
If you don't like something because it lacks some features, then fine. But please, learn to deal with the fact that not everybody shares your purist view of the world, and moreover it grates to hear that the tool I use every day is "a toy" or "not a real database" just because it doesn't come up to your own arbitrary standards. I've no doubt that we could argue until the next year, but I hope we can put this thread to sleep now and just accept that we disagree. Anyone following this should have been able to get the gist of the arguments by now, so any more would just be repetitive (too late!)...
Have a happy new year, best wishes for your data integrity, may none of your transactions need to be rolled back, and may all your foreign key constraints be satisfied...;-)
Oh, I'm sorry. I thought standards-compliance meant actually implementing code that conforms to the published SQL standards, not just saying that you will do so in some mytical, unreleased future version. My mistake.
So now you're just being childish. Before you said that MySQL were abandoning the SQL standards, I corrected you, and now you sniff that well, it's not all done yet. Pathetic, really. You are descending into the realms of shrill "everything and anything the other guy says must be wrong, no matter if he has any actual points"!
Listen, you're very welcome to dislike MySQL. The way in which you seem intent on breaking down my post bit by bit and trying to make out that I am totally, completely, 100% wrong about everything under the sun really just says more about you and your religious hatred of MySQL than anything else.
Tell me, if MySQL is not a real database, then how and why are so many people using it on a daily basis to, well, manage their data? Whatever your views on data integrity, transactions, truncations etc, this glaring fact must be more than a little inconvenient. If the thing didn't work (and work rather well) then people simply wouldn't use it. I understand totally how infuriating this must be to purists who think that everything must be totally theoretically correct and complete and neatly tied up before it can be even considered... but, sorry, this just isn't the way the real world works. Truth is, MySQL is very much good enough for many, many applications.
I will grant you that Monty has perhaps emphasized speed as a priority over completeness. However, I still don't think that he "created a mindset based purely on speed". People who are creating applications simply want the fastest, simplest solution that will do the job - and MySQL fills that niche admirably for a huge number of people. Why go for something which is much more complicated and slower if there's just no need for it? Sure, you can make all the arguments about the quirks of MySQL and the lack of this or that standard feature, but it all comes down to this: MySQL does the job, very well, sufficiently, for a large number of people.
I suppose you can look at it a bit like Perl: Many people dislike it for being "messy" and inconsistent, and lacking in many of the belts and braces that enforce good practices in other languages (e.g. strong typing). However, Perl is enormously useful for all sorts of applications, because it is fast (to program, if not the fastest running) and simple to use. You can write a one line "Hello world" program in Perl, as opposed to the equivalent monstrosity in, say, Java. Yes, many people dislike Perl intensely, but it does the job, and does it well. There's even an acronym - LAMP - Linux, Apache, MySQL, Perl (or PHP). People use these tools to do great things. To try and imply that MySQL is "not a real database" is just ignoring the realities. And to pretend that all these people are not managing real data is also being more than a little blinkered!
Listen, I'll readily grant that PostgreSQL has many features that MySQL does not. It (and other databases) will probably catch up to MySQL in speed terms (if it hasn't already). MySQL, meanwhile, will add features and try to fix all the bugs that seem to be quoted regularly here on slashdot (not that I actually notice or am affected by any of these special cases on an everyday basis)... all this does not in any way mean that MySQL is a "toy". There will always be areas in which one is better than the other, but MySQL is now, and always will be, a real database, used by real people, for real work. Sorry! Just a fact.
MySQL AB have not eschewed compliance with the SQL standards, as you can see for yourself from their documentation. To quote: "We aim toward full compliance with SQL-92/SQL-99; there are no features we plan not to implement."
Your first line, regarding "mythical" PostgreSQL advocates, is really laughable. You must be blind not to see them every time MySQL gets mentioned (even when the subject has nothing whatsoever to do with PostgreSQL)... now, I don't mind people comparing features and saying that they prefer PostgreSQL because it has x and y and z and MySQL doesn't. However, there is a line here in terms of being obnoxious and insulting, and this is what I object to. People who say that MySQL is not a real database, or that it's just a toy, or that it can't be trusted with anything - this is just wrong. Sorry. Wrong wrong wrong. MySQL may not have all the advanced features of PostgreSQL, but that doesn't mean it's a heap of steaming feces! That's just too extreme.
I know that a lot of the stuff that has been said on *both* sides of the debate has been controversial, and honestly I don't know enough about the details to know who started it or even who's right or wrong about the details. All I know is that we have two Open Source databases, and I've been using one of them for a number of years now, without any problems, to take care of reasonably complex databases - and so I *do* have direct experience of MySQL. It works very well. If you don't like it because of certain features lacking, that's fine - you're perfectly free to dislike it. But I wanted to counter the people who put it down in a way that I simply find objectionable. It doesn't mean that I buy into any of the previous baggage floating around regarding what's been said in the past, but if the only reason people are saying such things is because of perceived injustices of the past, then they should be open about it - otherwise they are being disingenuous, dishonest and falling victim to the same unjust behaviour that they are claiming to be so sore about themselves. Saying "MySQL is a toy" or "MySQL is just an SQL interface to a flat file system" is a different kind of criticism to "MySQL AB has spread untruths about PostgreSQL in the past".
Incidentally, why should it be a "disservice" to the database community to "dumb down" a database? Should databases remain the pure hallowed domain of database wizards who understand normalization and relational theory? Why shouldn't developers have access to a tool which performs well and does the job that is required for many, many cases? MySQL AB haven't "created a mindset" based purely on speed, they just made a product that was extremely easy to use (for developers, not end users) and it "just works". So then they realized that people wanted more stuff like transactions and subqueries *sometimes*, so they put that in... I don't see anything wrong with this incremental approach. MySQL 4 involved substantial code changes, I think, so they are obviously not afraid of redeveloping when it makes sense for new features. This is true for any project.
You may find the features you list essential, but realize that other people do not. Doesn't mean they are uneducated yokels, just that they don't need it. They can learn about this stuff and get into using databases without immediately running into all the complexity that is included with the more advanced packages. Later, if they find they need something that is not included, then they can move over to use something else like PostgreSQL - but people aren't really doing this in reality, because MySQL is "good enough" for most things. It's not perfect, but it certainly does the job and is being used by lots of people around the world. This may grate, but it's important to realize that this popularity is not due to people being led like sheep - it's because MySQL *works* and it works rather well.
I was referring to certain of the zealous advocates of PostgreSQL, not the developers. Of course this sort of thing would have been visible if you wanted to do the digging - I never implied anything else. What I objected to was the fact that these advocates were trumpeting PostgreSQL as being clearly better than MySQL at a time when it had these glaring deficiencies - so, by extrapolation, I have to wonder what else is being glossed over these days when these same zealots are saying exactly the same thing? It's a question of credibility. Not to slam PostgreSQL itself - I'm perfectly aware that all tools have their limitations and both MySQL and PostgreSQL are making fantastic progress. What truly irritates me is that some people insist on disparaging MySQL as a "toy", "SQL interface to flat file system", "not a real database" etc. These are clearly untrue, hence my little posting frenzy of the last couple of days. I am trying to set the record straight, not in an effort to discredit PostgreSQL (it's a fine package, no doubt), but rather to redress the balance. There seems to be a very vocal group of people who insist on slamming MySQL at every opportunity, and my experience with using MySQL over the last few years has left me very impressed with it. MySQL is a real database - sure, it lacks some of the features of PostgreSQL, but that doesn't mean it's not a "real database". Many of the more advanced features are simply not needed by most people 99% of the time, for real-world projects. To imply that there is some kind of absolute standard for all data access which means that MySQL has to be discounted out of hand is really just beyond the pale.
Well, you're free to disagree of course. I have no problem with people saying "I think this database is better because it has xxx and yyy, which I personally think are important to have". However this is very different from saying that a tool is "not a database" or "a toy" (a frequent term used to describe MySQL by some PostgreSQL fanatics). Whatever you say to the contrary, this sort of thing is clearly done in a spirit of insult and disparagement, not to say condescending in the extreme. If you want to pretend that you're being all even-handed and logical about this then you can go ahead and delude yourself, but I just can't agree that this is where you're coming from. In a nutshell, many of the people who slam MySQL so aggressively do it in an extremely offensive way - not in terms of comparing features, but rather in terms of saying that "MySQL is not a real database" or some such nonsense. This was the original purpose of my post, and I stand by it - you clearly can't deal with other people disagreeing with your opinion, otherwise you wouldn't be replying. So it's a little disingenuous to accuse me of intolerance toward other people's disagreement with my position!
Listen, once again: I have absolutely no problem with PostgreSQL. I'll probably try it out properly at some point, when I have the time and resources. In the meantime, I am using MySQL quite successfully, as are many, many other people. You can use MySQL to manage real data, in a real database. You have the option to utilize transactions using InnoDB, or fast retrieval tables using MyISAM. You have, in a nutshell, a powerful tool for doing real work and managing real data. Don't try to characterize this as a "toy", because it simply is not true. Sorry if this grates on you, but it's a fact. Live with it.
If you re-read my post, you'll realize that my point was not to target specific features of PostgreSQL, but rather to bring attention to some examples that were glossed over by the PostgreSQL zealots a couple of years ago. These people lost all credibility with me because if they trumpeted PostgreSQL as the best thing since sliced bread back when it had these limitations, then I just have to wonder what other bugs or limitations might we not be hearing about these days? Again, not to "attack" PostgreSQL - all bugs get fixed, and features get added. I am objecting to an epidemic of intellectual snobbery that I find extremely objectionable. Hence my posts.
I am targeting the people who slam MySQL as being a "toy database". Your attitude pretty much falls into this category in that you seem to be saying that it's not even a real database! Different words, same obnoxious attitude. You seem to be under the impression that all databases have to use transactions all the time. Nothing of the sort - if you want transactions then use them, but you don't have to. Some applications value speed (and a reasonable level of security & backup strategy appropriate for the application). This doesn't mean it's not a database.
See, more elitism and arrogance. This is exactly the attitude that got me going in the first place.
Sorry, but your post just doesn't convince me at all, and in fact just confirms you as just another arrogant elitist. I know what a "database" does, believe me, and MySQL does that job admirably.
You're the one who first characterized my post as a "brutal attack on PostgreSQL", mate. Do you really expect me not to respond to such things? Once again: If you read my post carefully then you'd realize that I was not attacking PostgreSQL, but the religious fanatics that seem to follow it.
I hate to say this, but I will anyway: You come across as something of a smarmy arsehole, to be honest - not someone I would like to know in personal life. You are one of these people who is quite happy to make all the inflammatory remarks you like, and then accuse other people of "needing to get a grip". Tell me, what's it like being at the center of your own little universe?
I speak my mind. The constant flaming of MySQL made me want to counter the FUD - which I did. I wasn't attacking PostgreSQL. Clear enough for ya?
Thanks for the comparison of features - this is the kind of thing that should be thrown around, not the "MySQL is a toy" remarks that are so common hereabouts. You certainly seem to have technical expertise, I only wish you had more ability to parse English and grok what effect such inflammatory remarks will have on other people. Or, perhaps you really do realize this already, and this is just your way of debating - make remarks and then berate the other person for taking you to task on them. Oh well. Sad either way.
Incidentally, "Osama" is a common spelling used by all the major news networks. I'm somewhat more inclined to take the BBC's word in these matters than yours.
At least I have the guts to be open about who I am, anonymous coward... enjoy your snowboarding.
I too would love to see the things you are talking about. As I said in my original post, I'd love to see impartial benchmarks, for one thing - benchmarks with both products done with default "out of the box" configurations and then with both fully tuned by respective experts. This would help clear up a lot of the FUD that flies around. Then, people could make a real decision based on facts, not on silly anecdotal opinions. For example, how about the "MySQL crumples under load"? I'd love for someone to do tests that can be confirmed by anyone (including MySQL AB) and give a clear indication of what happens. I mean, it might just be a stupid semaphore bug or something. It would help everyone to just get it out in the open and fix it!
I think people tend to assume partisan motives whenever someone supports one side or the other - I am not partisan toward MySQL or PostgreSQL. In fact, I would move over to PostgreSQL very quickly if I could be confident that I would not be losing out in the reliability, features or speed of MySQL. I am simply frustrated that everything I read seems to be either parroted mythology or else outright lies and mud slinging. There are still people out there who declare with perfect certainty that MySQL does not support transactions! Well, it does. And then these people complain that InnoDB tables (which support transactions) are not default. Oh well.
Listen, if I could get a real list of pros and cons done in a truly fair way (not by someone who has a secret like for one or the other) then I think this would be extremely valuable. Plus, it would spur the losing database developers on to make their product better. However, I know database benchmarks are not a simple thing... if anyone has any ideas on how to do this, then I'd love to know.
I am not "remembering" past statements from PostgreSQL fanatics - they occur on a daily basis in the here-and-now.
I am against unfair statements from any direction, including MySQL. I wasn't aware of the "lies" that you attribute to MySQL AB... well, if they said things that were wrong then they are wrong, and that's clear, no quibbles. But does that excuse the behavior of people from the PostgreSQL side? Do two wrongs make a right? I don't think so. If you want to be mature about it then by all means discuss the shortcomings of both products. Have opinions about MySQL AB, I have no problem with people bringing up mistakes or outright lies. But the posts I have read so often never mentioned that - they never came from an position of "well, MySQL AB said such-and-such, which is clearly untrue". They just said "MySQL is a toy, and clearly unusable for any serious database application". This is just wrong, and really no better than any of the slander that you allege coming from MySQL AB.
As I think I've made clear, I don't think MySQL is the God of database, and I don't think that PostgreSQL is either. They both excel in some areas and are wanting in others. I have used MySQL for a long time and it is indeed rock solid and extremely fast. If people want to criticize it, please let's do it from a position of enlightenment and reason, not senseless elitism and arrogant stone throwing.
Making claims about MySQL AB (the company) as a result of them making assertions that are clearly wrong is fine in my book - but that's not what I read on a daily basis on Slashdot, whenever MySQL is mentioned.
As for the 8k row limits, so, in this regard, MySQL was in fact *better* than the big databases such as MSSQL and Oracle? So why, instead of complementing MySQL for this accomplishment do we slam it as a toy database? It seems that rather than accept that MySQL has (or had) an edge in one particular area, instead you seem content to use the Oracles and MSSQL's of the world as excuses for limitations in PostgreSQL. Listen, this is all in the past anyway, because these limits are gone now, but the point I am making is that everybody seems to want to spin reality to suit their own bias. I freely admit that there are areas of MySQL that need improving - all products do. But it's all this "MySQL is a heap of steaming crap" that is just WRONG and needs to be countered. Saying nothing about "lies" put out by MySQL AB, simply that I want to see reasoned discussion.
But until this functionality in place mysql just isn't competitive in most database applications besides content management.
Oh come on, this is just more spin. You minimize PostgreSQL's weaknesses and pass them off as being "not very important until recently" - what utter rubbish. People have been storing data larger than 8K in databases for a heck of a long time without having to talk about "multi-media". Even a bulletin board application would need more than that... but, I don't want to labor the point too much, because the point (as I said previously) wasn't so much about bashing PostgreSQL, but rather pointing up the disingenuousness of certain people who have chosen in the past to gloss over these things in favor of "their team" while ranting on and on about how much of a toy MySQL is. PostgreSQL has fixed these problems - that wasn't the issue, but rather how the zealots lost credibility in my mind by papering over such issues back then. Now they are still saying it's the best thing since sliced bread, and I wonder, what are they glossing over now? That's the point. Credibility. If people only discussed the pros and cons in a more reasonable way, everything would be just fine. I can live with PostgreSQL being ahead of MySQL in some respects, if they can live with MySQL being ahead in others.
MySQL is perfectly feasible for a heck of a lot more than content management. It's a bit of a leap of logic to go from "A is good at X" to saying "A is only good at X". How does that go again? MySQL *has* transactions - if you want them. I've honestly never had a situation where I *had* to have subqueries (and, believe me, that doesn't mean that I've never developed a "serious" database). Similarly, triggers and stored procedures are a matter of taste - for every rabid proponent of these types of feature you can probably also dredge up someone else who has had to sort out the mess caused by putting too much application level logic into database procedures - it can be a real mess to manage and maintain.
So MySQL doesn't have all the features of PostgreSQL - of course not, but for some strange reason tons of people still like to use it and it works just fine day in and day out, quietly chugging away. I would posit that while the additional features of PostgreSQL are indeed very nice (I would like to work with it just as soon as I find the time and resources), there are probably few cases where you can't achieve the same functional results using MySQL. Anybody who slams MySQL based on transactions doesn't know what they're talking about - it has them. Has for a while now, but they are optional, which is no bad thing in my book, because they DO slow things down and in 99% of cases you just do not need them.
Yes - because these limitations [8k row limits and VACUUM blocking] are *gone*.
Again you missed the point - which was that the zealots were trumpeting PostgreSQL as the perfect solution for hair loss even back when these limitations were in place. Thus by extrapolation I am led to wonder exactly what else they must be conveniently papering over these days, given their credibility being shot by previous claims.
What we need is sensible, unbiased advice and opinions, not religious wars, which is pretty much the whole point of my posting today. I am most definitely NOT against PostgreSQL in any way, but I most definitely AM against people enaging in such witless, arrogant barbs that supposedly come from positions of experience and knowledge, but end up just putting down anyone with different outlooks about what's necessary for a "real database".
The answer is No, there is no tracking. All it does is store encrypted data that only you can read, and you can pass tickets to other users which are also encrypted (and can only be read by that user). So this is really not a distributed login system, or a tracking system, it's just a way of confirming that someone is who they say they are. See the White paper for details.
This is not really the same as MS Passport, that is a single-signon system, this is simply a way to verify that someone is who they say they are. The Online ID Registry is not for logging into third party websites.
I am still trying to figure out what to move to from RedHat 7.3. This is a very solid version that I am using, and I have it pretty much dialed in to do what I want. Since RedHat abandoned their users, I have resolved never to touch their products again (and yes, I was quite happy to be paying them for updates, I'm no freeloader). Anyway, I have looked at Debian as the main contender, but it seems to be perpetually stuck in older versions. I know it's entirely possible to mix and match to get what you want with Debian, but Woody is simply too old for me and I don't want to have to install testing or unstable just to get newer packages. I'm currently using the Progeny transition service, but that won't last forever... so, any suggestions? Is slackware a good candidate for switching from RedHat 7.3? Is it very different (I know a lot of the differences may be small, but it's the small details that kill ya when you're trying to get your server back to where it was before the re-install...). Also, I am a little nervous about a distribution that seems to depend on one person. What happens when Patrick decides to move on and go do something else, or just retire? Is there someone else who can take up the slackware cause with as much dedication and knowledge as he obviously has? I don't want to be left out to dry again, searching for another distribution...
Any insights/suggestions welcomed...
So, in theory, the community at large gets to use MySQL "for free" (thus giving MySQL a large user, test and debugging base), while commercial clients that desire accountability and support can get the commercial license (thus paying for all the developers and, I guess, millions of free users). It sounds cockeyed, but apparently it's working for them. Isn't this a good possibility for Open Source projects to make money while still remaining true to the spirit of the GPL?
I will be switching to Debian, but just not quite yet. Why?
I looked at Debian stable ("Woody") and found it to be too old for me - I need the 2.4 kernel at least for my workstation, and I need the same basic system running on my workstation as my server, so that testing has some validity. For example, the USB support for reading my Zio! CompactFlash reader just isn't there in 2.2. I don't wish to mess around with combining stable and unstable - my systems are running pretty well at this point, and I don't really relish taking a giant step backwards to Woody. Sarge will be a lot closer to what RH 7.x is now.
I had two subscriptions to RHN for 7.3, which I have now switched to Progeny for support.
So: If you're using RH 7.x, try subscribing to Progeny and waiting until Sarge becomes stable before switching, it seems like a safe path to me...
I am using Red Hat 7.3, and would like to move to Debian. But Debian "stable" (Woody) is just too old for me - I need the 2.4 kernel (for USB capabilities and performance, among many other things). Debian "testing" (Sarge) has 2.4, but it (according to the Debian docs) doesn't receive as high priority for security updates. I don't wish to "roll my own" set of packages from stable/testing, so what to do?
Well, I am assuming that Sarge will be moved to Stable sometime in the next year, so all I have to do now is wait it out with RH 7.3 until that happens - so, I have subscribed to Progeny to tide me over. It seems like the perfect solution, if you already have stable systems using RH and don't want too much of a change too soon. I get the feeling that Sarge will be much closer to 7.x than Woody is, so when Sarge comes out it should be less painful in terms of package versions.
Plus, the Progeny support costs the same as RHN did - $60/year. And you get to give a big message to RedHat by taking your money elsewhere.
Just my 2 cents.
Well, it is relevant if you're running a mod_perl enabled server, even if the file being served is just text. It still has to be processed by the mod_perl processes, which are relatively heavyweight. Whereas, the lightweight front end apache processes can be much more numerous, and don't have the same processing penalty. I learned my lesson when my original Spambot Trap article was published on slashdot - that was text-only too, but the server was slashdotted because of the fact that every httpd process was mod_perl.
One thing for sure - the old server is performing nicely under the load. I put in a front-end reverse proxy (apache + mod_proxy) a while back to improve performance, and it seems to be very effective. The server is still responsive under the load, and no problems at all so far.
;-)
Well, apart from the odd flame here and there...
Sorry if I'm mistaken about Windows XP. I just seem to remember reading about this in the computer press around the time that XP was coming out - they were saying that XP would be a lot better because of the millions of lines of new code (and I seem to remember something about it being pretty much a rewrite). I can't find the reference now, of course. I assume there are quite a few people out there who know a lot more about Windows than I do, this was just from memory.
You know, it's quite funny how people will "spin" the truth to suit their own position... my only point, all along, has been that MySQL does work. Very well. Just about the only thing that people like Cajal seem to be able to do is to go out of their way to say that it's a toy and good for nothing much. This leaves me philosophizing about the possible causes for such attitudes.
I can only guess that such animosity exists because some people have chosen to use one tool, they have some knowledge or education about relational theory, and so they feel very threatened when they find out that some other tool, which doesn't adhere to all of their proudly held theoretical beliefs, is much, much more popular and widely used... why, this is a threat to their world view. It might mean that their rigid, fundamentalist, purist approach to the world might be, well, misguided to say the least. No, MySQL doesn't have all the bells and whistles that some other databases do. I freely admit this. But (and this is the part that you apparently seem unable to grasp) all I am saying is that it is an extremely capable database for many, many tasks. What more is there to say, really? It works very well. Large companies use it extensively. I have used it extensively for over four years now. I've had absolutely no problems with it. So I find it offensive when people keep popping up whenever MySQL is mentioned, to denigrate it as a toy, not a "real" database, simply an SQL interface to the flat file system, etc. I find it tiresome that these zealots (there is no other word to describe them, really) find it necessary to slam MySQL at every opportunity. They don't just argue the relative merits, no, they actively slam it as being not worth using at all. This is the main reason I call them zealots and religious extremists. Such people classicly take extreme positions that exclude all other viewpoints, and moreover when challenged or disputed they become rather violent (if only in print) about it.
I believe (and this is just a theory) that these people have a particular kind of rigid, ordered techie mind that requires order in all things. If they find out that some tool does not follow all the theoretical constraints of the relational model, then they find this something akin to sacrilege. These people, in effect, have the technical equivalent of a religious fundamentalist view of the world. They cannot countenance for a second the possibility that it's not actually always necessary for a relational database to support stored procedures, or subselects, or even transactions. No, if it doesn't adhere to their equivalent of the Holy Bible of Codd, then it is an abomination and must be cast out. The parallels to a religious viewpoint here are really interesting - you see the same aggressive criticism from the anti-MySQL crowd that you see from the religious fundamentalists of any religion toward the less strict denominations.
You might argue that we're talking about technical, solid, logical issues here rather than amorphous religious beliefs, but really we're not. It's obvious to me from personal experience that MySQL works perfectly well as a database, in fact it is quite a wonderful tool. Simple, fast, extensible, widely supported and growing in features. It now supports transactions, and the latest versions support subselects and stored procedures. This is all great to have - but it was never necessary in order for MySQL to be a truly useful database tool. How can you not read my previous post, with all these companies and projects who use MySQL for large projects, and still say that it's "not a real database"? Why on earth would NEC, Sabre, Slashdot, Yahoo! and all the users who voted for it on Linux Journal (for six years running!), the millions of other users - why would all of these use such a thing if it was so crap? You (and Cajal) in turn actually refuse to address this inconvenient fact. You simply ignore it, and tell me I'm being "irrational". How bizarre.
However you choose to characterize Cajal's posts
Actually, I was trying to wrap up a seemingly endless thread in a slightly humorous way. But since you insist on keeping this thing alive in a way that is clearly inflammatory, let's take a closer look at this "loser" of a database called MySQL.
It's in heavy use on millions of installations around the world. NEC is using MySQL to power its Global Navigator Management Information System. For the sixth year running, the readers of Linux Journal voted MySQL "best database". Sabre uses MySQL to power its Air Shopping products, mission-critical enterprise services that "conduct online travel searches for Sabre Holdings customers such as Travelocity, airlines and travel agents worldwide.". Slashdot uses MySQL. Yahoo!'s Jeremy Zawodney seems to think that MySQL rocks. Yes, all these links are dredged up from the MySQL AB site. No, it's not propaganda - it's real companies, using MySQL to do real work. Simple as that. Sorry if this interferes with anybody's purist views on just how a database should be - I am not denying that MySQL has its share of bugs and design flaws, but my original point (and one that seems totally lost on the religious fundamentalists) is that the story is not that black and white. MySQL works very, very well as a real database, in many, many applications. No doubt PostgreSQL does too. Hopefully both will get better... but I am truly sick and tired of these people dragging out the same old list of "gotchas" for MySQL (which you could, let's face it, build for *any* product if you were just plain obsessive enough about it - which is apparently the case for the anti-MySQL database fundamentalists).
I think the main problem I have is that while the fundamentalists can point to a list of bugs and gotchas, all I can point to is a feature list that just keeps getting better (transactions, subselects and all the rest is now in there), and a set of very successful, large, competent companies, and millions of other installations that work reliably all day, every day. It's not as dramatic to say "it works" as it is to point up problems. MySQL is clearly being actively developed, and no matter what people say about "problems" with error codes (issues which I have never experienced myself, in four years of heavy, daily use) - no matter what the fundamentalists rant about, it's clear that MySQL works extremely well. Go tell Yahoo!, NEC, Sabre, Slashdot, and all the millions of other users that it's "not a real database". Go tell them that they are ignorant and clueless about what a database should be. Whatever.
Meantime, why not try getting a life.
I agree about the commercial pollution. Here's a thought: How about a search engine that *only* catalogs non-commercial websites? So it could use whatever strategy for ordering results, but the main criteria for being included is that the sites must not be selling anything. Might be hard to enforce (would need a large network of volunteers, I think), but it would be a cool thing that would get back to the roots of the internet and totally avoid the corruption that occurs currently.
Of course, if it became successful then the spammers and manipulators out there would inevitably try to pass off fake "non commercial" discussion sites (which are really just infomercials for products)... but I think this is something that a "real" person could spot fairly easily (but maybe not!)... so, for example, how about a website that "discusses" digital cameras, doesn't sell anything, but it gets swamped with shills for various companies? Tough problem...
Still, it's something to think about. I don't think such a thing could be automated, since real people will always tend to find ways around systems. Any search engine that becomes successful based on some automated algorithm will eventually inevitably be corrupted by smart people. So, you need real people to avoid this - and the only way for that to scale is to use a large army of volunteers (sort of like the dmoz.org, I guess). But the difference with dmoz could be that the sites don't just get catalogued, but actually crawled too.
Even better (thinking as I type here) - how about making it a switch, so you could opt to look only for sites selling something, or only for sites which are non-commercial? Then you have the choice. It would still take a lot of work, but the concept would put us, the users, back in charge (and, I think, be extremely popular)...
Hmmm...
Hah, I knew you couldn't resist one last shot! Attaboy! Hey, here's an idea: How about we save people a lot of time and just summarize the next few posts:
... last ... barb...
Cajal: MySQL sucks!
ngunton: Nuh uh!
Cajal: Uh huh!
ngunton: Does not!
Cajal: Does too!
ngunton: You elitist, arrogant snob!
Cajal: You ignorant MySQL weenie!
(ad nauseam)
Um, do I have that about right?
(sorry for putting words in your mouth, dramatic license, I'm sure you'll understand)
We've both stated our positions on this matter, dude. Let's give it a rest now, eh?
Relax, move on, try to let go of your hatred. It's really not healthy (sorry, couldn't resist one
(fade, to evil laughter)
Happy New Year to you too!
I think your continued posting just demonstrates my original point, which was that there are most definitely religious zealots out there who seem to hate MySQL with quite amazing fervor, simply because it doesn't conform to their own notions of relational purity. Thanks for demonstrating this so effectively!
You point up quite a few "gotchas" in MySQL that do, I admit, seem to be bugs. Whether they are active design flaws or simply outstanding bugs, I have no idea. Fact is, I have never had to dig that deep into the product, simply because I have never had any such problems with it! Believe me, if the thing was as rife with errors and evil as you seem to be suggesting, then I (and millions of other people) would never use it. If MySQL exhibits so many showstoppers, then why on earth would companies like Yahoo!, Sabre, Cox Communications, the Associated Press and NASA all using it? Of course, you'll reply, these companies aren't using MySQL for anything critical. Truth is, I just took five seconds to drag those names off the MySQL website - I have no idea what they are actually using it for. But why would they bother using it at all if it was so crappy? Answer: It's not really that crappy. It's a pretty good database, with flaws, admittedly, but it does work very well for many, many applications. I don't doubt that you could probably pick any product apart and come up with a similar set of "gotchas" to the famous "MySQL Gotchas" page. I think the fact that this page exists at all simply further demonstrates the level of religious, righteous rage that seems to be directed against it... listen, if I was coming into this cold, with no knowledge of MySQL, then it might give me some pause to hear about the Gotchas. But I have the advantage of having actually used the thing for the last four years, on a daily basis, and thus I am in a good position to say with some degree of certainty that MySQL does actually work very, very well.
I really feel sorry for you that you apparently feel the need to put down MySQL at every opportunity. I can see from your other recent posts (here's one, and another, and yet another) that you seem to actually have something of a crusade going on here. Ok, so I've posted quite a bit recently too, but it's not quite the same - I am posting in relation to a thread which I explicitly started. You seem to delight in digging around to find anything that anyone says in relation to MySQL and immediately jumping in to slam it.
Let's consider what we are both saying here. I am simply saying that MySQL is not a heap of crap, based on my own experience of years and the fact that millions of other people use this product very successfully. I'm not trying to say anything negative about anything else, just attempting to offset the bile that spews forth from people like you. You are trying to say that MySQL is in fact a steaming heap of faeces, due to "all these things that it does wrong and all these errors that it doesn't report and all these features that it is missing". Consider what you're saying here! Isn't it even a tiny, tiny bit likely that you're just being a little bit too purist about all this? Can't you accept the remote possibility that, just perhaps, you've gone somewhat overboard in your condemnation of MySQL? No? Oh well.
Ok, so I tried to finish this off in a pleasant way in my previous post, but I guess that didn't work, so we have to resign ourselves to yet another reiteration of MySQL's shortcomings and reasons why there's no possible way that all those millions of people could actually be using MySQL in their applications and products - why, we must all simply be mistaken! It must all be a huge mirage, put out by the evil overlords at MySQL AB! Shame on us all for using such a crappy database, and shame on me
Sorry, but you keep on stating your opinions as if they are fact. MySQL does not "sort of" work, it *does* work, no question about it. You don't like it, and you've stated your reasons why for posterity, and I have the feeling that I could state my feelings on the subject until I'm blue in the face and still neither of us would budge one inch.
;-)
Fact is, I don't just say MySQL works because it's popular (though the fact that it *is* the most popular open source database in the world should give you some pause) - I say it works because I know this from personal experience. I have been using it every day, for the last four years. It has *never* failed on me. Sure, it has some features missing that other databases have, and it may not have all the belts and braces of other tools, but it really does work very well, believe me. PostgreSQL had problems with stability until recently, all tools do, but I wouldn't say it was a heap of shit just because of that. PostgreSQL has its uses, and so does MySQL.
Listen, you don't like it - I get it. We don't need to go around in circles. But what I don't understand is your obvious hatred of MySQL... it's just a tool, and I am telling you that it does work, for me and for a lot of other people too. Why get so religious about it? This is like Christians who insist that theirs is the One True Religion and everybody else's religion is just plain wrong. Ok, so here we're talking about specific features rather than relative merits of my heaven vs your heaven, but the point is that a database is for storing and accessing data. MySQL allows you to do that. Does it have all the features of other databases? No. Does it work very well for many, many real world applications out there? Definitely.
By the way, it's incorrect to say that MySQL "never" passes an error. It does. I think what you're referring to is cases where MySQL attempts to make reasonable assumptions in situations where different clients may have varying ways of making a query, and "default" behavior can reasonably be triggered in case of ambiguity. This has honestly never caused me a problem - in fact, you could even make a case for this being more "fault tolerant". MySQL does issue errors for real problems.
If you don't like something because it lacks some features, then fine. But please, learn to deal with the fact that not everybody shares your purist view of the world, and moreover it grates to hear that the tool I use every day is "a toy" or "not a real database" just because it doesn't come up to your own arbitrary standards. I've no doubt that we could argue until the next year, but I hope we can put this thread to sleep now and just accept that we disagree. Anyone following this should have been able to get the gist of the arguments by now, so any more would just be repetitive (too late!)...
Have a happy new year, best wishes for your data integrity, may none of your transactions need to be rolled back, and may all your foreign key constraints be satisfied...
Oh, I'm sorry. I thought standards-compliance meant actually implementing code that conforms to the published SQL standards, not just saying that you will do so in some mytical, unreleased future version. My mistake.
So now you're just being childish. Before you said that MySQL were abandoning the SQL standards, I corrected you, and now you sniff that well, it's not all done yet. Pathetic, really. You are descending into the realms of shrill "everything and anything the other guy says must be wrong, no matter if he has any actual points"!
Listen, you're very welcome to dislike MySQL. The way in which you seem intent on breaking down my post bit by bit and trying to make out that I am totally, completely, 100% wrong about everything under the sun really just says more about you and your religious hatred of MySQL than anything else.
Tell me, if MySQL is not a real database, then how and why are so many people using it on a daily basis to, well, manage their data? Whatever your views on data integrity, transactions, truncations etc, this glaring fact must be more than a little inconvenient. If the thing didn't work (and work rather well) then people simply wouldn't use it. I understand totally how infuriating this must be to purists who think that everything must be totally theoretically correct and complete and neatly tied up before it can be even considered... but, sorry, this just isn't the way the real world works. Truth is, MySQL is very much good enough for many, many applications.
I will grant you that Monty has perhaps emphasized speed as a priority over completeness. However, I still don't think that he "created a mindset based purely on speed". People who are creating applications simply want the fastest, simplest solution that will do the job - and MySQL fills that niche admirably for a huge number of people. Why go for something which is much more complicated and slower if there's just no need for it? Sure, you can make all the arguments about the quirks of MySQL and the lack of this or that standard feature, but it all comes down to this: MySQL does the job, very well, sufficiently, for a large number of people.
I suppose you can look at it a bit like Perl: Many people dislike it for being "messy" and inconsistent, and lacking in many of the belts and braces that enforce good practices in other languages (e.g. strong typing). However, Perl is enormously useful for all sorts of applications, because it is fast (to program, if not the fastest running) and simple to use. You can write a one line "Hello world" program in Perl, as opposed to the equivalent monstrosity in, say, Java. Yes, many people dislike Perl intensely, but it does the job, and does it well. There's even an acronym - LAMP - Linux, Apache, MySQL, Perl (or PHP). People use these tools to do great things. To try and imply that MySQL is "not a real database" is just ignoring the realities. And to pretend that all these people are not managing real data is also being more than a little blinkered!
Listen, I'll readily grant that PostgreSQL has many features that MySQL does not. It (and other databases) will probably catch up to MySQL in speed terms (if it hasn't already). MySQL, meanwhile, will add features and try to fix all the bugs that seem to be quoted regularly here on slashdot (not that I actually notice or am affected by any of these special cases on an everyday basis)... all this does not in any way mean that MySQL is a "toy". There will always be areas in which one is better than the other, but MySQL is now, and always will be, a real database, used by real people, for real work. Sorry! Just a fact.
Have a nice day!
MySQL AB have not eschewed compliance with the SQL standards, as you can see for yourself from their documentation. To quote: "We aim toward full compliance with SQL-92/SQL-99; there are no features we plan not to implement."
Your first line, regarding "mythical" PostgreSQL advocates, is really laughable. You must be blind not to see them every time MySQL gets mentioned (even when the subject has nothing whatsoever to do with PostgreSQL)... now, I don't mind people comparing features and saying that they prefer PostgreSQL because it has x and y and z and MySQL doesn't. However, there is a line here in terms of being obnoxious and insulting, and this is what I object to. People who say that MySQL is not a real database, or that it's just a toy, or that it can't be trusted with anything - this is just wrong. Sorry. Wrong wrong wrong. MySQL may not have all the advanced features of PostgreSQL, but that doesn't mean it's a heap of steaming feces! That's just too extreme.
I know that a lot of the stuff that has been said on *both* sides of the debate has been controversial, and honestly I don't know enough about the details to know who started it or even who's right or wrong about the details. All I know is that we have two Open Source databases, and I've been using one of them for a number of years now, without any problems, to take care of reasonably complex databases - and so I *do* have direct experience of MySQL. It works very well. If you don't like it because of certain features lacking, that's fine - you're perfectly free to dislike it. But I wanted to counter the people who put it down in a way that I simply find objectionable. It doesn't mean that I buy into any of the previous baggage floating around regarding what's been said in the past, but if the only reason people are saying such things is because of perceived injustices of the past, then they should be open about it - otherwise they are being disingenuous, dishonest and falling victim to the same unjust behaviour that they are claiming to be so sore about themselves. Saying "MySQL is a toy" or "MySQL is just an SQL interface to a flat file system" is a different kind of criticism to "MySQL AB has spread untruths about PostgreSQL in the past".
Incidentally, why should it be a "disservice" to the database community to "dumb down" a database? Should databases remain the pure hallowed domain of database wizards who understand normalization and relational theory? Why shouldn't developers have access to a tool which performs well and does the job that is required for many, many cases? MySQL AB haven't "created a mindset" based purely on speed, they just made a product that was extremely easy to use (for developers, not end users) and it "just works". So then they realized that people wanted more stuff like transactions and subqueries *sometimes*, so they put that in... I don't see anything wrong with this incremental approach. MySQL 4 involved substantial code changes, I think, so they are obviously not afraid of redeveloping when it makes sense for new features. This is true for any project.
You may find the features you list essential, but realize that other people do not. Doesn't mean they are uneducated yokels, just that they don't need it. They can learn about this stuff and get into using databases without immediately running into all the complexity that is included with the more advanced packages. Later, if they find they need something that is not included, then they can move over to use something else like PostgreSQL - but people aren't really doing this in reality, because MySQL is "good enough" for most things. It's not perfect, but it certainly does the job and is being used by lots of people around the world. This may grate, but it's important to realize that this popularity is not due to people being led like sheep - it's because MySQL *works* and it works rather well.
I was referring to certain of the zealous advocates of PostgreSQL, not the developers. Of course this sort of thing would have been visible if you wanted to do the digging - I never implied anything else. What I objected to was the fact that these advocates were trumpeting PostgreSQL as being clearly better than MySQL at a time when it had these glaring deficiencies - so, by extrapolation, I have to wonder what else is being glossed over these days when these same zealots are saying exactly the same thing? It's a question of credibility. Not to slam PostgreSQL itself - I'm perfectly aware that all tools have their limitations and both MySQL and PostgreSQL are making fantastic progress. What truly irritates me is that some people insist on disparaging MySQL as a "toy", "SQL interface to flat file system", "not a real database" etc. These are clearly untrue, hence my little posting frenzy of the last couple of days. I am trying to set the record straight, not in an effort to discredit PostgreSQL (it's a fine package, no doubt), but rather to redress the balance. There seems to be a very vocal group of people who insist on slamming MySQL at every opportunity, and my experience with using MySQL over the last few years has left me very impressed with it. MySQL is a real database - sure, it lacks some of the features of PostgreSQL, but that doesn't mean it's not a "real database". Many of the more advanced features are simply not needed by most people 99% of the time, for real-world projects. To imply that there is some kind of absolute standard for all data access which means that MySQL has to be discounted out of hand is really just beyond the pale.
Well, you're free to disagree of course. I have no problem with people saying "I think this database is better because it has xxx and yyy, which I personally think are important to have". However this is very different from saying that a tool is "not a database" or "a toy" (a frequent term used to describe MySQL by some PostgreSQL fanatics). Whatever you say to the contrary, this sort of thing is clearly done in a spirit of insult and disparagement, not to say condescending in the extreme. If you want to pretend that you're being all even-handed and logical about this then you can go ahead and delude yourself, but I just can't agree that this is where you're coming from. In a nutshell, many of the people who slam MySQL so aggressively do it in an extremely offensive way - not in terms of comparing features, but rather in terms of saying that "MySQL is not a real database" or some such nonsense. This was the original purpose of my post, and I stand by it - you clearly can't deal with other people disagreeing with your opinion, otherwise you wouldn't be replying. So it's a little disingenuous to accuse me of intolerance toward other people's disagreement with my position!
Listen, once again: I have absolutely no problem with PostgreSQL. I'll probably try it out properly at some point, when I have the time and resources. In the meantime, I am using MySQL quite successfully, as are many, many other people. You can use MySQL to manage real data, in a real database. You have the option to utilize transactions using InnoDB, or fast retrieval tables using MyISAM. You have, in a nutshell, a powerful tool for doing real work and managing real data. Don't try to characterize this as a "toy", because it simply is not true. Sorry if this grates on you, but it's a fact. Live with it.
If you re-read my post, you'll realize that my point was not to target specific features of PostgreSQL, but rather to bring attention to some examples that were glossed over by the PostgreSQL zealots a couple of years ago. These people lost all credibility with me because if they trumpeted PostgreSQL as the best thing since sliced bread back when it had these limitations, then I just have to wonder what other bugs or limitations might we not be hearing about these days? Again, not to "attack" PostgreSQL - all bugs get fixed, and features get added. I am objecting to an epidemic of intellectual snobbery that I find extremely objectionable. Hence my posts.
I am targeting the people who slam MySQL as being a "toy database". Your attitude pretty much falls into this category in that you seem to be saying that it's not even a real database! Different words, same obnoxious attitude. You seem to be under the impression that all databases have to use transactions all the time. Nothing of the sort - if you want transactions then use them, but you don't have to. Some applications value speed (and a reasonable level of security & backup strategy appropriate for the application). This doesn't mean it's not a database.
See, more elitism and arrogance. This is exactly the attitude that got me going in the first place.
Sorry, but your post just doesn't convince me at all, and in fact just confirms you as just another arrogant elitist. I know what a "database" does, believe me, and MySQL does that job admirably.
You're the one who first characterized my post as a "brutal attack on PostgreSQL", mate. Do you really expect me not to respond to such things? Once again: If you read my post carefully then you'd realize that I was not attacking PostgreSQL, but the religious fanatics that seem to follow it.
I hate to say this, but I will anyway: You come across as something of a smarmy arsehole, to be honest - not someone I would like to know in personal life. You are one of these people who is quite happy to make all the inflammatory remarks you like, and then accuse other people of "needing to get a grip". Tell me, what's it like being at the center of your own little universe?
I speak my mind. The constant flaming of MySQL made me want to counter the FUD - which I did. I wasn't attacking PostgreSQL. Clear enough for ya?
Thanks for the comparison of features - this is the kind of thing that should be thrown around, not the "MySQL is a toy" remarks that are so common hereabouts. You certainly seem to have technical expertise, I only wish you had more ability to parse English and grok what effect such inflammatory remarks will have on other people. Or, perhaps you really do realize this already, and this is just your way of debating - make remarks and then berate the other person for taking you to task on them. Oh well. Sad either way.
Incidentally, "Osama" is a common spelling used by all the major news networks. I'm somewhat more inclined to take the BBC's word in these matters than yours.
At least I have the guts to be open about who I am, anonymous coward... enjoy your snowboarding.
I too would love to see the things you are talking about. As I said in my original post, I'd love to see impartial benchmarks, for one thing - benchmarks with both products done with default "out of the box" configurations and then with both fully tuned by respective experts. This would help clear up a lot of the FUD that flies around. Then, people could make a real decision based on facts, not on silly anecdotal opinions. For example, how about the "MySQL crumples under load"? I'd love for someone to do tests that can be confirmed by anyone (including MySQL AB) and give a clear indication of what happens. I mean, it might just be a stupid semaphore bug or something. It would help everyone to just get it out in the open and fix it!
I think people tend to assume partisan motives whenever someone supports one side or the other - I am not partisan toward MySQL or PostgreSQL. In fact, I would move over to PostgreSQL very quickly if I could be confident that I would not be losing out in the reliability, features or speed of MySQL. I am simply frustrated that everything I read seems to be either parroted mythology or else outright lies and mud slinging. There are still people out there who declare with perfect certainty that MySQL does not support transactions! Well, it does. And then these people complain that InnoDB tables (which support transactions) are not default. Oh well.
Listen, if I could get a real list of pros and cons done in a truly fair way (not by someone who has a secret like for one or the other) then I think this would be extremely valuable. Plus, it would spur the losing database developers on to make their product better. However, I know database benchmarks are not a simple thing... if anyone has any ideas on how to do this, then I'd love to know.
I am not "remembering" past statements from PostgreSQL fanatics - they occur on a daily basis in the here-and-now.
I am against unfair statements from any direction, including MySQL. I wasn't aware of the "lies" that you attribute to MySQL AB... well, if they said things that were wrong then they are wrong, and that's clear, no quibbles. But does that excuse the behavior of people from the PostgreSQL side? Do two wrongs make a right? I don't think so. If you want to be mature about it then by all means discuss the shortcomings of both products. Have opinions about MySQL AB, I have no problem with people bringing up mistakes or outright lies. But the posts I have read so often never mentioned that - they never came from an position of "well, MySQL AB said such-and-such, which is clearly untrue". They just said "MySQL is a toy, and clearly unusable for any serious database application". This is just wrong, and really no better than any of the slander that you allege coming from MySQL AB.
As I think I've made clear, I don't think MySQL is the God of database, and I don't think that PostgreSQL is either. They both excel in some areas and are wanting in others. I have used MySQL for a long time and it is indeed rock solid and extremely fast. If people want to criticize it, please let's do it from a position of enlightenment and reason, not senseless elitism and arrogant stone throwing.
Making claims about MySQL AB (the company) as a result of them making assertions that are clearly wrong is fine in my book - but that's not what I read on a daily basis on Slashdot, whenever MySQL is mentioned.
As for the 8k row limits, so, in this regard, MySQL was in fact *better* than the big databases such as MSSQL and Oracle? So why, instead of complementing MySQL for this accomplishment do we slam it as a toy database? It seems that rather than accept that MySQL has (or had) an edge in one particular area, instead you seem content to use the Oracles and MSSQL's of the world as excuses for limitations in PostgreSQL. Listen, this is all in the past anyway, because these limits are gone now, but the point I am making is that everybody seems to want to spin reality to suit their own bias. I freely admit that there are areas of MySQL that need improving - all products do. But it's all this "MySQL is a heap of steaming crap" that is just WRONG and needs to be countered. Saying nothing about "lies" put out by MySQL AB, simply that I want to see reasoned discussion.
But until this functionality in place mysql just isn't competitive in most database applications besides content management.
Oh come on, this is just more spin. You minimize PostgreSQL's weaknesses and pass them off as being "not very important until recently" - what utter rubbish. People have been storing data larger than 8K in databases for a heck of a long time without having to talk about "multi-media". Even a bulletin board application would need more than that... but, I don't want to labor the point too much, because the point (as I said previously) wasn't so much about bashing PostgreSQL, but rather pointing up the disingenuousness of certain people who have chosen in the past to gloss over these things in favor of "their team" while ranting on and on about how much of a toy MySQL is. PostgreSQL has fixed these problems - that wasn't the issue, but rather how the zealots lost credibility in my mind by papering over such issues back then. Now they are still saying it's the best thing since sliced bread, and I wonder, what are they glossing over now? That's the point. Credibility. If people only discussed the pros and cons in a more reasonable way, everything would be just fine. I can live with PostgreSQL being ahead of MySQL in some respects, if they can live with MySQL being ahead in others.
MySQL is perfectly feasible for a heck of a lot more than content management. It's a bit of a leap of logic to go from "A is good at X" to saying "A is only good at X". How does that go again? MySQL *has* transactions - if you want them. I've honestly never had a situation where I *had* to have subqueries (and, believe me, that doesn't mean that I've never developed a "serious" database). Similarly, triggers and stored procedures are a matter of taste - for every rabid proponent of these types of feature you can probably also dredge up someone else who has had to sort out the mess caused by putting too much application level logic into database procedures - it can be a real mess to manage and maintain.
So MySQL doesn't have all the features of PostgreSQL - of course not, but for some strange reason tons of people still like to use it and it works just fine day in and day out, quietly chugging away. I would posit that while the additional features of PostgreSQL are indeed very nice (I would like to work with it just as soon as I find the time and resources), there are probably few cases where you can't achieve the same functional results using MySQL. Anybody who slams MySQL based on transactions doesn't know what they're talking about - it has them. Has for a while now, but they are optional, which is no bad thing in my book, because they DO slow things down and in 99% of cases you just do not need them.
Anyway, good discussion - thanks for engaging.
Yes - because these limitations [8k row limits and VACUUM blocking] are *gone*.
Again you missed the point - which was that the zealots were trumpeting PostgreSQL as the perfect solution for hair loss even back when these limitations were in place. Thus by extrapolation I am led to wonder exactly what else they must be conveniently papering over these days, given their credibility being shot by previous claims.
What we need is sensible, unbiased advice and opinions, not religious wars, which is pretty much the whole point of my posting today. I am most definitely NOT against PostgreSQL in any way, but I most definitely AM against people enaging in such witless, arrogant barbs that supposedly come from positions of experience and knowledge, but end up just putting down anyone with different outlooks about what's necessary for a "real database".