MySQL 5.0.0-Alpha, a new version of the popular Open Source/Free Software Database Management System, has been released. The most prominent new feature of MySQL 5.0 is probably Basic support for stored procedures (SQL-99 style). However, there are several additional enhancements, which are planned to be implemented before MySQL 5.0 reaches beta status.
…it appears that most of the useful changes will not occur until 5.1, which includes many changes to the core data types, such as subsecond precision for datetime, varchars greater than 255 characters, and bits stored as actual bits.
…it’s already better than nothing for a free DBMS. I sure hope the MySQL team continue that way. I personally think their licence approach is great as everybody can be happy with it (both users like me and enterprises wanting official support).
Why does MySQL get so much more press/usage than its more mature older brother PostgreSQL?
Doesn’t PostgreSQL already have stored procedures?
MySQL is pretty nice for a freebie, but PostgreSQL is also free. Why is it treated like a bastard child? Or is this just another case of Linux vs. FreeBSD, where the upstart monopolizes all the hype and most of the developer interest?
I saw it coming…
Personally, I never used PostgreSQL but I *read* it was slower (probably not in all areas, though). However, I noticed that most software have better support for MySQL than Post… Perhaps the documentation is better. Or maybe it’s the quality of the code. Or maybe it’s just more hyped like you said. Or maybe it’s just because of laziness, i.e. MySQL works for me where I need it so why choose another solution?
MySQL is licensed under the GPL, Postgre is BSDL.
There will always be License wars. ๐
Hi
Postgres might be technical superior but thats not the point. MySQL is much more supported by third party software and that what drives its popularity
Regards
Rahul Sundaram
PostgreSQL already have stored procedures?
Personally, I never used PostgreSQL but I *read* it was slower (probably not in all areas, though).
One would ask why many people never used PSQL and so many have used MySQL ? Could it be because PSQL is such a “Macho” approach to RDBMS (as someone said once) while MySQL is easy o start with ? Does that count ?
No, I think that’s because of the lack of support for 3rd party software like Sundaram said. I didn’t saw many plug-ins for PostgreSQL but I did for MySQL. That’s why I use it although it’s not the first RDBMS I used… Hell, you can’t even call MySQL a real RDBMS.
keefer (IP: —.anhmca.adelphia.net)
Firebird is far more secure than either MySQL or Postgres.
Apparently you didn’t realize, but there was a root compromise in Firebird quite recently: http://seclists.org/lists/vulnwatch/2003/Apr-Jun/0064.html
Furthermore Postgres is BSD licensed, which makes it less free than GPL software.
Oh will you GNU zealots please just shut up? Contrary to your bizarre beliefs, something with fewer restrictions is not “less free” than something with more, and freeware is still free software, even if it isn’t “Free Software” in the GNU semantics.
Rahul Sundaram (IP: 202.9.172.—)
Indeed… although in the case of many PHP applications it’s due to inherent design flaws in the language. Database access was not properly abstracted ala DBI in Perl, and consequently many PHP applications are written to be MySQL specific.
The Problem with abstraction in PHP is IMHO not a design flaw. It’s more about people not willing to type “pear install DB” / MDB and webhosters not willing to provide it.
I think writing the abstract layer in pure PHP ist the way to go.
Yes, the DBMS abstraction issue has been “solved” by PEAR, unfortunately the DBMS-specific interfaces are still exposed by the existing language syntax, and have not been deprecated in favor of PEAR, at least in the documentation on the PHP web site.
In my opnion, PEAR is too little, too late. Literally thousands of PHP programs have already been written using the DBMS specific interfaces, and migration to PEAR is a difficult prospect at best.
What PHP really needed was a DBI-like interface from the start…
You are somewhat mistaken, thank good
The standard myisam tables is somewhat faster but it is in the area of less than 5%. The mysql BDB tables are slower than postgresql, atleast in the tests I did for one of our systems.
The first version of that system runs MySQL, and granted, it’s been up for almost a year now, got an average sql queries of 39,25 queries per seconds, and have 61Gb of data. It performs well. Luckily we ported it to posgresql, it
makes application coding _so_ much easier now. And as far as I can see we lost nothing on performance.
Wether the GPL or BSD license is less free depends on your view… BSD allows you to do anything wit the code, GPL places restrictions on what you can do. Ease of use and documentation are equally great imho.
i know it’s a crappy reason, but the reason i looked into mysql first (before pg) is simple:
more docs, more books, better community.
I don’t think it’s over their respective licenses, but just look at both their websites. Mysql’s is clearly more attractive. Look at the database shelf next time you’re in a book store, there’ll be 3 times as many books covering mysql as there are on pgsql
PostgreSQL is fine. Last time I checked the biggest reason why MySQL is (was?) faster than PostgreSQL was because it has tiggers, Referential integrety, advanced datatypes, etc. Those things make a database “slower”, of course it also makes it more robust.
wouldnt you rather use something from the ground up designed and built to have all this functionality, than something tacked on the side?? what would you trust??
if the whole point of mysql was to be fast and useless, its now adding in all the things that it was against. kinda funny. i’ll stick to that which was designed to do the work, rather than hacked to pretend to do the work.
it would have been better to have left mysql doing what it does best (a select *), and concentrate on improving SAPDB (which is actually a _real_ db instead of a pretend file store)…
so now they waste manpower and money moving mysql toward sapdb, when they already have sapdb… bizarre….
At least the PSQL documentation is written in proper english.
The PSQL documentation is clear an concise – and the community is allways helpful.
PSQL has
* Views
* Stored procedures
* and then some
PostgreSQL has everything I need today (except recursive queries) and none of the databases I’m using is too slow.
MySQL has caused me grief quite a few times when I’ve missinterpreted language or just simply assumed that a simple thing as feature $FOO must be within the capabilities of MySQL (yes, my misstake).
That said. MySQL does the job – if your RDBM needs are not too advanced. But so does Postgres…
Last time I checked the biggest reason why MySQL is (was?) faster than PostgreSQL was because it has tiggers, Referential integrety, advanced datatypes, etc. Those things make a database “slower”, of course it also makes it more robus
Referential integrity is also necessary to make it a RDMS. It’s quite a bit more than a feature.
Iโm really not that sure about MySQL anymore, the amount of new features promised is never quiet the same as what is delivered. Besides most of its great new features havenโt been implemented by them, InnoDB and BDB where implemented by others and now that theyโve gotten SapDB their newest improvements wonโt be their one work either.
Donโt get me wrong, I like MySQL and use it but Iโm starting to think that all they are good at is marketing, they donโt really seam to develop anything themselves.
I guess itโs time to take a look at PostgreSQL.
P.S.:
Firebird is not a choice for me, the GPL is a free license, and so are the LGPL, BSD and MIT butt not the MPL. Fortunately Mozilla is triple licensed.
P.P.S.:
Here is a list of what the FSF considers Free licenses.
http://www.fsf.org/philosophy/license-list.html
P.P.S.:
Here is a list of what the FSF considers Free licenses.
http://www.fsf.org/philosophy/license-list.html
Yes but on the other hand… FSF seems to advocate GPL which is hardly a “free” license. I wouldn’t put to much trust into them really.
If you read through the BSD license (which is very short) or the MIT license, I’m confident you’ll find them more free and less restrictive than whatever FSF would advice you to do.
“FSF” is also widely used as a synonym to “hoax”.
The article on MySQL is probably because MySQL made a new release. That’s why it’s in the news. I’m sure if PostgreSQL made a release, it would also be featured here. There’s only favourites among the various “fans” of their various favourite applictions.
And like so many news articles here, it has devolved into an argument of “mine is better than yours”. Yawn…
I don’t want to get into a license war here, but consider this:
Which is more free: an anarchist society where there are no governemnt-enforced restrictions, or a democracy which has many government-enforced restrictions?
Sometimes, restrictions on individual behavior are necessary to preserve the freedom of society as a whole.
Not that I would run it on windows.
But there are many that first bring MySQL into the office on a windows install. It would definitely open up a bigger opportunity for an installation base. I know the windows port is comming, but I think this is a major reason MySQL is more popular. You can commit to MySQL, but you don’t have to a platform(yet).
Matt
Simply put, if you are going to use a free database server, then use PostgreSQL. There are no strings attached as far as money goes. Take a look at MySQL, you have to pay licensing fees to redistribute drivers commercially if your application needs them (duh).
Also, without any changes, standardized PostgreSQL SQL statements work just fine under Microsft SQL Server or Oracle if you need them to (or more importantly your customers need them to).
I’ve been using PostgreSQL for 3 years after using both MS SQL and Oracle, it works great in enterprise applications.
It’s not open source but Sybase SQL Anywhere is a full commerical quality database with things like replication, micro deployment, java in the db, crossplatform, etc. And the license is cheap — sometimes it’s better to pay a few dollars and save yourself a bunch of effort. I have used this db for a long time and it’s probably they best bang for the buck in the software industry.
http://www.sybase.com/linux/sqlanywhere
You know you will be flamed to death if you propose propertary software, don’t you ๐
I mean, this place is filed with pinguins and even a few devils.
how can anything non-free be good, right?
MySQL commerical version is not free:
https://order.mysql.com/
The Sybase engine is way better, it’s been shipping in various forms for over 20 years and it’s cheaper than commerical MySQL. Note that Sybase SQL Anywhere is not the same as Sybase ASE (their Oracle competitor). SQL Anywhere is for small businesses and embedded markets. It make a great back end for a web server. Full support of RI, transactions, backup, checkpoints, stored procedures (in SQL and in Java), custom object data types using Java, etc. Free eval version at http://www.sybase.com/detail?id=1009174
I don’t work for Sybase but I do know a good thing when I see it.
I believe the Postgres is not so popular because of historical reasons. The Postgres 7 is full featured, high quality RDBMS, which is as easy to install and after reading the docs almost as easy to use as MySQL. However older version weren’t. They were incredibly difficult to install and setup, had no end of speed and reliability problems. Basically not worth the hassle.
At the time MySQL was lacking lots of serious features, however it was considerably faster and so much easier to use. At the time it was produced by a commercial company, but still free to use. (At that point you paid for support or for features to be implemented)
MySQL is more popular because it was so widely deployed when Postgres wasn’t a practical option. Things haven’t really changed and most people have worked around the limitations. I’ve had serious problems with both in the intervening years. My experience has been with bugs in “stable” Postgres releases and lack of all the cool stuff in MySQL.
This is partly hearsay, partly experience, I didn’t use Postgres back then because I was too dumb to work it out on my own and no one wanted to help me. They all told me to use MySQL instead, and it was all so easy once I did.
Why is the discussion limited to PGSQL and MySQL? MaxDB is available through MySQL AB under the terms of the GPL for noncommercial use, in much the same way that the QT toolkit is.
The following is a list of features supported by MaxDB beyond those currently available in the MySQL database server:
* Views
* Server-side cursors
* Stored procedures and triggers
* Automatic failover (to a standby server)
* Scheduling and automatic messaging on alerts
* Snapshots
* Archive tables
* Synonyms
More info can be found here:
http://www.mysql.com/products/maxdb/index.html
Well, I guess I should give a try to PostG. However, I wonder if it’s good enough to use with PHP4 or Better than MySQL4 + InnoDB?
Although this seems a little off topic seeing that we’re all about licenses right now, can anyone point me in the right direction for a full reference for these standards? I want to do a little bit of research on emerging SQL standards (although it’s a bit of a shame that SQL-99 is still “emerging”). PGSQL has some support for SQL-99 and this is what ver 5 MYSQL is adding, I want to find out which vendors have which support.
Thanks,
Dan
“You know you will be flamed to death if you propose propertary software, don’t you ๐
I mean, this place is filed with pinguins and even a few devils.
how can anything non-free be good, right?”
I think you miss the point. Good software is good software. These people you speak of, ‘penguins’ and such, or more likely saying, “Sure great.. but look, there are free alternatives that work as good or better in some cases.. and they are evolving continuously..so unless you absolutely require some proprietary specific feature, no reason to not go with the free ones.”
Too be sure, there is some crappy sotware out there, but i dont think its clumped on either side of the open/closed fence.
there are still a few distros shipping v3 and most hosts still use v3. 4 came and went without so much as being noticed, other than the occasional flame over syntax feature/bug doesn’t work the way it used to. Kinda like apachethreads har har.
I wish the licence fanboys of all persuasions would go sulk elsewhere.
Now that that’s off my chest, I looked a while back to compare a bunch of database formats for a project at work. It was always going to be on Windows and the compared products were MSDE, SQL Server 2000, Firebird, PostgreSQL and MySQL.
This was for a very simple data warehouse, lots of wide tables, lots of data, written to, read from nothing else smart.
This is from memory so could well be wrong, however;
MSDE and SQL Server 2000 had the most constraints on table structure and size. Firebird and PostreSQL were next with MySQL having almost no constraints it would appear. Brilliantly useful for the purpose we were looking at.
In terms of raw speed, MySQL beat every other contender I looked at (this is on windows bear in mind) into the ground. They were nowhere near for raw read/writes. Nowhere.
We are talking factors of speed difference here, not fractions. Amazing.
Now that is just a simple setup, if you are doing more complex things than that then the features come to play where you would want to consider other DBs but for a similar use as ours you would have to seriously consider MySQL.
(footnote: in the end, the organisation i worked for got panicky at the thought of not using ms products and stuck with sql server – msde was just too limited)
MSDE is based off of MS-SQL server 7 and is extremely limited on purpose. MS tells you this.
It’s primary use should be for testing purposes or practice. Not for productional use.
“MSDE is based off of MS-SQL server 7 and is extremely limited on purpose. MS tells you this.
It’s primary use should be for testing purposes or practice. Not for productional use.”
The current MSDE is based on SQL Server 2000 and both versions used the exact same engine. They are only ‘crippled’ in some areas (simultaneous connections being one) but functioanally identical otherwise.
It can be used for production systems without any issue depending on the production system.
“The current MSDE is based on SQL Server 2000 and both versions used the exact same engine.”
I meant that both versions of MSDE use the related SQL Server engine.